mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
[ci-skip] Publish shadowJar as server artifact
This commit is contained in:
@@ -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"])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user