[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"])
}
}
}
}