From 540c7237ef63a08f5f73792414b2228bf37e6802 Mon Sep 17 00:00:00 2001 From: 3944Realms Date: Sun, 3 May 2026 17:07:11 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E5=88=A0=E5=87=8F=E4=BA=86=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E7=9A=84publish=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fabric/build.gradle | 1 + forge/build.gradle | 30 ------------------------------ neoforge/build.gradle | 43 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 43 insertions(+), 31 deletions(-) diff --git a/fabric/build.gradle b/fabric/build.gradle index 0077ffa..0162d59 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -10,6 +10,7 @@ dependencies { } modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_version}" + localRuntime 'net.covers1624:DevLogin:0.1.0.5' } loom { diff --git a/forge/build.gradle b/forge/build.gradle index c187c88..2ce666a 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -104,36 +104,6 @@ dependencies { implementation('net.sf.jopt-simple:jopt-simple:5.0.4') { version { strictly '5.0.4' } } } -publishing { - publications { - mavenJava(MavenPublication) { - artifactId = "${mod_id}-forge-${minecraft_version}" - artifacts.clear() - artifact(jar) { - builtBy jar - } - artifact(sourcesJar) { - builtBy sourcesJar - classifier = 'sources' - } - artifact(javadocJar) { - builtBy javadocJar - classifier = 'javadoc' - } - pom { - name = mod_name - description = project.description ?: "default" - developers { - developer { - id = mod_author - name = mod_author - } - } - } - } - } -} - // 配置sourceJar任务 tasks.named('sourcesJar', Jar) { dependsOn classes diff --git a/neoforge/build.gradle b/neoforge/build.gradle index 1752610..dd33158 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -68,4 +68,45 @@ neoForge { } } -sourceSets.main.resources { srcDir 'src/generated/resources' } +// 配置sourceJar任务 +tasks.named('sourcesJar', Jar) { + dependsOn classes + dependsOn project(':common').tasks.named('sourcesJar') // 显式依赖common的source + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + archiveClassifier.set('sources') + from sourceSets.main.allSource + from project(':common').sourceSets.main.allSource +} + +// 配置javadoc任务 +tasks.named('javadoc', Javadoc) { + source project(':common').sourceSets.main.allJava + source sourceSets.main.allJava + classpath = configurations.compileClasspath + classpath += project(':common').sourceSets.main.compileClasspath + options.encoding = 'UTF-8' + options.charSet = 'UTF-8' + options.links("https://docs.oracle.com/en/java/javase/21/docs/api/") + options.memberLevel = JavadocMemberLevel.PUBLIC + options.addBooleanOption('Xdoclint:none', true) + options.addStringOption('doctitle', "${mod_id} ${minecraft_version} ${version} Javadoc") +} + +// 配置javadocJar任务 +tasks.named('javadocJar', Jar) { + dependsOn javadoc + dependsOn project(':common').tasks.named('javadoc') // 显式依赖common的javadoc + + archiveClassifier.set('javadoc') + from javadoc.destinationDir + from project(':common').javadoc.destinationDir + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + +// 确保build任务包含所有需要的jar +tasks.named('build') { + dependsOn tasks.named('sourcesJar') + dependsOn tasks.named('javadocJar') +} + +sourceSets.main.resources.srcDir project(':common').file('src/generated/resources')