plugins { id 'java' id 'maven-publish' id 'com.github.johnrengelman.shadow' version '8.1.1' } group = api_project_group version = project_version base { archivesName.set("${project_name}-${api_suffix}") } java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } sourceSets { main { java { srcDirs = ['src/main/java'] } resources { srcDirs = ['src/main/resources'] } } test { java { srcDirs = ['src/test/java'] } resources { srcDirs = ['src/test/resources'] } } } dependencies { } javadoc { options.encoding = 'UTF-8' options.charSet = 'UTF-8' // 添加以下选项以减少警告 options.addBooleanOption('Xdoclint:none', true) options.addStringOption('Xmaxwarns', '10') } tasks.register('sourcesJar', Jar) { archiveClassifier.set('sources') from sourceSets.main.allSource } tasks.register('javadocJar', Jar) { dependsOn(tasks.named("javadoc")) archiveClassifier.set('javadoc') from(tasks.named("javadoc").get().destinationDir) } // 自定义 jar 输出名称 tasks.jar { archiveVersion.set(project.version.toString()) archiveClassifier.set("") } tasks.named('sourcesJar', Jar) { archiveClassifier.set('sources') } tasks.named('javadocJar', Jar) { archiveVersion.set(project.version.toString()) archiveClassifier.set('javadoc') } javadoc { options.encoding = 'UTF-8' options.charSet = 'UTF-8' } publishing { publications { mavenJava(MavenPublication) { from components.java artifact(tasks.named("sourcesJar")) artifact(tasks.named("javadocJar")) pom { name = "${project_name}" description = "The API for ${project_name}" url = "https://github.com/3944Realms/DG_LAB_DEVELOP" licenses { license { name = 'Apache License 2.0' url = 'https://www.apache.org/licenses/LICENSE-2.0.html' } } issueManagement { system = 'GitHub Issues' url = 'https://github.com/3944Realms/DG_LAB_DEVELOP/issues' } } } } }