diff --git a/buildSrc/src/main/kotlin/ConfigureSubprojects.kt b/buildSrc/src/main/kotlin/ConfigureSubprojects.kt index b75c361a9..611ee7fba 100644 --- a/buildSrc/src/main/kotlin/ConfigureSubprojects.kt +++ b/buildSrc/src/main/kotlin/ConfigureSubprojects.kt @@ -16,10 +16,13 @@ import org.gradle.api.tasks.javadoc.Javadoc import org.gradle.api.tasks.testing.Test import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.attributes +import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.create import org.gradle.kotlin.dsl.get +import org.gradle.kotlin.dsl.getByName import org.gradle.kotlin.dsl.getValue import org.gradle.kotlin.dsl.getting +import org.gradle.kotlin.dsl.withType import java.nio.charset.StandardCharsets.UTF_8 import java.text.SimpleDateFormat import java.util.Date @@ -29,20 +32,18 @@ internal fun Project.configureSubprojects() { apply() apply() - tasks.getting(JavaCompile::class) { + tasks.withType { options.encoding = UTF_8.name() } - tasks.getting(Javadoc::class) { + tasks.withType { options.encoding = UTF_8.name() } - extensions.configure(PublishingExtension::class.java) { + extensions.configure { publications { create("mavenJava") { - artifactId = if (project.name.endsWith("server")) rootProject.name else project.name groupId = rootProject.group as String version = rootProject.version as String - from(components["java"]) pom { name.set(project.name) url.set(toothpick.forkUrl) @@ -72,6 +73,7 @@ private fun Project.configureServerProject() { } val shadowJar by tasks.getting(ShadowJar::class) { + archiveClassifier.set("") // ShadowJar is the main server artifact dependsOn(generatePomFileForMavenJavaPublication) transform(Log4j2PluginsCacheFileTransformer::class.java) mergeServiceFiles() @@ -125,6 +127,15 @@ private fun Project.configureServerProject() { tasks.getByName("build") { dependsOn(shadowJar) } + + extensions.configure { + publications { + getByName("mavenJava") { + artifactId = rootProject.name + artifact(tasks["shadowJar"]) + } + } + } } @Suppress("UNUSED_VARIABLE") @@ -141,4 +152,13 @@ private fun Project.configureApiProject() { attributes("Automatic-Module-Name" to "org.bukkit") } } + + extensions.configure { + publications { + getByName("mavenJava") { + artifactId = project.name + from(components["java"]) + } + } + } } diff --git a/buildSrc/src/main/kotlin/ToothpickExtensions.kt b/buildSrc/src/main/kotlin/ToothpickExtensions.kt index 804979178..4c4a7b9f5 100644 --- a/buildSrc/src/main/kotlin/ToothpickExtensions.kt +++ b/buildSrc/src/main/kotlin/ToothpickExtensions.kt @@ -1,7 +1,6 @@ import org.gradle.api.Project import org.gradle.kotlin.dsl.findByType import java.io.File -import java.nio.file.Path val Project.toothpick: ToothpickExtension get() = rootProject.extensions.findByType(ToothpickExtension::class)!! @@ -25,6 +24,3 @@ val Project.rootProjectDir: File val Project.upstreamDir: File get() = rootProject.projectDir.resolve(toothpick.upstream) - -val Project.projectPath: Path - get() = projectDir.toPath() diff --git a/buildSrc/src/main/kotlin/task/Paperclip.kt b/buildSrc/src/main/kotlin/task/Paperclip.kt index bb7da0e4b..d9db4ad40 100644 --- a/buildSrc/src/main/kotlin/task/Paperclip.kt +++ b/buildSrc/src/main/kotlin/task/Paperclip.kt @@ -20,7 +20,7 @@ internal fun Project.createPaperclipTask( val vanillaJarPath = workDir.resolve("Minecraft/${toothpick.minecraftVersion}/${toothpick.minecraftVersion}.jar").absolutePath val patchedJarPath = toothpick.serverProject.projectDir.resolve( - "build/libs/${toothpick.forkNameLowercase}-server-$version-all.jar" + "build/libs/${toothpick.forkNameLowercase}-server-$version.jar" ).absolutePath logger.lifecycle(">>> Building paperclip") val paperclipCmd = arrayListOf(