From 05b273b34bd948bdb932be741f9fb96c84997521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?MC=7E=E8=9B=9F=E9=BE=99?= <1610105206@qq.com> Date: Wed, 26 Jul 2023 19:54:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=84=E5=BB=BA=E8=BE=93=E5=87=BA=E6=94=B9?= =?UTF-8?q?=E8=BF=9B=20(=E5=8E=9F=E6=9D=A5=E6=88=91tm=E5=86=99=E7=9A=84?= =?UTF-8?q?=E4=BB=80=E4=B9=88=E5=9E=83=E5=9C=BE=E4=B8=9C=E8=A5=BF=E5=95=8A?= =?UTF-8?q?=EF=BC=8C=E9=BA=BB=E7=83=A6=E7=9A=84=E8=A6=81=E6=AD=BB=E8=BF=98?= =?UTF-8?q?tm=E4=B8=91=E6=AD=BB=E4=BA=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 7 +-- buildSrc/src/main/kotlin/CompiledOutputer.kt | 49 -------------------- plugin/all/build.gradle.kts | 5 ++ plugin/platform-bukkit/build.gradle.kts | 5 ++ script/build.gradle.kts | 15 ++++++ 5 files changed, 27 insertions(+), 54 deletions(-) delete mode 100644 buildSrc/src/main/kotlin/CompiledOutputer.kt create mode 100644 script/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 3f828a1d..4904b866 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -59,7 +59,7 @@ subprojects { archiveAppendix.set("") archiveClassifier.set("") archiveVersion.set(rootVersion) - //archiveBaseName.set("$rootName-Bukkit") + destinationDirectory.set(file("$rootDir/outs")) //输出路径 // Exclude exclude("META-INF/**") exclude("com/**", "org/**") @@ -77,7 +77,4 @@ subprojects { } -buildDirClean() - -//工件输出 -output() \ No newline at end of file +buildDirClean() \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/CompiledOutputer.kt b/buildSrc/src/main/kotlin/CompiledOutputer.kt deleted file mode 100644 index ae24198d..00000000 --- a/buildSrc/src/main/kotlin/CompiledOutputer.kt +++ /dev/null @@ -1,49 +0,0 @@ -import org.gradle.api.Project -import org.gradle.configurationcache.extensions.capitalized -import java.io.File - -const val outputFolder = "outs" - -//输出编译后的文件到./outs -fun Project.output() { - @Suppress("DEPRECATION") gradle.buildFinished { - val outDir = File(rootDir, outputFolder) - allprojects.forEach { - if (it.parent?.name.equals("plugin")) { - it.outCopy(File(outDir, nameOfPlugin(it))) - } else if (it.parent?.name.equals("script")) { - it.outCopy(File(outDir, nameOfScript(it))) - } - } - } -} - -fun nameOfPlugin(p: Project): String { - return if (p.name.equals("all")) - "$rootName-${p.version}.jar" - else "$rootName-${p.name.split('-')[1].capitalized()}-${p.version}.jar" -} - -fun nameOfScript(p: Project): String { - return "Script-${p.name.capitalized()}-${p.version}.jar" -} - -/** - * 复制项目输出文件到指定目录 - */ -fun Project.outCopy( - target: File, - source: File? = this.catchOut() -) { - //复制 - source?.copyTo(target, true) -} - -/** - * 根据文件名找到输出文件 - */ -fun Project.catchOut(name: String = "${this.name}-${this.version}.jar"): File? { - return File(this.buildDir, "libs").listFiles { file -> - file.name == name - }?.first() -} \ No newline at end of file diff --git a/plugin/all/build.gradle.kts b/plugin/all/build.gradle.kts index 7a60ac72..ff78d473 100644 --- a/plugin/all/build.gradle.kts +++ b/plugin/all/build.gradle.kts @@ -1,3 +1,5 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + dependencies { parent!!.childProjects.values.filter { it.name.contains("platform") @@ -8,4 +10,7 @@ tasks { build { dependsOn(shadowJar) } + withType { + archiveFileName.set("$rootName-$rootVersion.jar") //输出名称 + } } \ No newline at end of file diff --git a/plugin/platform-bukkit/build.gradle.kts b/plugin/platform-bukkit/build.gradle.kts index c534fb52..1714a300 100644 --- a/plugin/platform-bukkit/build.gradle.kts +++ b/plugin/platform-bukkit/build.gradle.kts @@ -1,7 +1,12 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + dependencies { implementation(project(":project:runtime-bukkit")) } tasks { build { dependsOn(shadowJar) } + withType { + archiveFileName.set("$rootName-Bukkit-$rootVersion.jar") //输出名称 + } } \ No newline at end of file diff --git a/script/build.gradle.kts b/script/build.gradle.kts new file mode 100644 index 00000000..bc89f8ee --- /dev/null +++ b/script/build.gradle.kts @@ -0,0 +1,15 @@ +import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar + +subprojects { + tasks { + build { + dependsOn(shadowJar) + } + withType { + archiveFileName.set("Script-${project.name.uppercase()}-${project.version}.jar") //输出名称 + } + } + +} + +buildDirClean() \ No newline at end of file