[ci-skip] Publish shadowJar as server artifact

This commit is contained in:
jmp
2020-12-25 12:03:09 -08:00
parent f142481e2b
commit 822a35a0ba
3 changed files with 26 additions and 10 deletions

View File

@@ -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<JavaLibraryPlugin>()
apply<MavenPublishPlugin>()
tasks.getting(JavaCompile::class) {
tasks.withType<JavaCompile> {
options.encoding = UTF_8.name()
}
tasks.getting(Javadoc::class) {
tasks.withType<Javadoc> {
options.encoding = UTF_8.name()
}
extensions.configure(PublishingExtension::class.java) {
extensions.configure<PublishingExtension> {
publications {
create<MavenPublication>("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<PublishingExtension> {
publications {
getByName<MavenPublication>("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<PublishingExtension> {
publications {
getByName<MavenPublication>("mavenJava") {
artifactId = project.name
from(components["java"])
}
}
}
}

View File

@@ -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()

View File

@@ -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(