mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07: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.api.tasks.testing.Test
|
||||||
import org.gradle.kotlin.dsl.apply
|
import org.gradle.kotlin.dsl.apply
|
||||||
import org.gradle.kotlin.dsl.attributes
|
import org.gradle.kotlin.dsl.attributes
|
||||||
|
import org.gradle.kotlin.dsl.configure
|
||||||
import org.gradle.kotlin.dsl.create
|
import org.gradle.kotlin.dsl.create
|
||||||
import org.gradle.kotlin.dsl.get
|
import org.gradle.kotlin.dsl.get
|
||||||
|
import org.gradle.kotlin.dsl.getByName
|
||||||
import org.gradle.kotlin.dsl.getValue
|
import org.gradle.kotlin.dsl.getValue
|
||||||
import org.gradle.kotlin.dsl.getting
|
import org.gradle.kotlin.dsl.getting
|
||||||
|
import org.gradle.kotlin.dsl.withType
|
||||||
import java.nio.charset.StandardCharsets.UTF_8
|
import java.nio.charset.StandardCharsets.UTF_8
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
@@ -29,20 +32,18 @@ internal fun Project.configureSubprojects() {
|
|||||||
apply<JavaLibraryPlugin>()
|
apply<JavaLibraryPlugin>()
|
||||||
apply<MavenPublishPlugin>()
|
apply<MavenPublishPlugin>()
|
||||||
|
|
||||||
tasks.getting(JavaCompile::class) {
|
tasks.withType<JavaCompile> {
|
||||||
options.encoding = UTF_8.name()
|
options.encoding = UTF_8.name()
|
||||||
}
|
}
|
||||||
tasks.getting(Javadoc::class) {
|
tasks.withType<Javadoc> {
|
||||||
options.encoding = UTF_8.name()
|
options.encoding = UTF_8.name()
|
||||||
}
|
}
|
||||||
|
|
||||||
extensions.configure(PublishingExtension::class.java) {
|
extensions.configure<PublishingExtension> {
|
||||||
publications {
|
publications {
|
||||||
create<MavenPublication>("mavenJava") {
|
create<MavenPublication>("mavenJava") {
|
||||||
artifactId = if (project.name.endsWith("server")) rootProject.name else project.name
|
|
||||||
groupId = rootProject.group as String
|
groupId = rootProject.group as String
|
||||||
version = rootProject.version as String
|
version = rootProject.version as String
|
||||||
from(components["java"])
|
|
||||||
pom {
|
pom {
|
||||||
name.set(project.name)
|
name.set(project.name)
|
||||||
url.set(toothpick.forkUrl)
|
url.set(toothpick.forkUrl)
|
||||||
@@ -72,6 +73,7 @@ private fun Project.configureServerProject() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val shadowJar by tasks.getting(ShadowJar::class) {
|
val shadowJar by tasks.getting(ShadowJar::class) {
|
||||||
|
archiveClassifier.set("") // ShadowJar is the main server artifact
|
||||||
dependsOn(generatePomFileForMavenJavaPublication)
|
dependsOn(generatePomFileForMavenJavaPublication)
|
||||||
transform(Log4j2PluginsCacheFileTransformer::class.java)
|
transform(Log4j2PluginsCacheFileTransformer::class.java)
|
||||||
mergeServiceFiles()
|
mergeServiceFiles()
|
||||||
@@ -125,6 +127,15 @@ private fun Project.configureServerProject() {
|
|||||||
tasks.getByName("build") {
|
tasks.getByName("build") {
|
||||||
dependsOn(shadowJar)
|
dependsOn(shadowJar)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extensions.configure<PublishingExtension> {
|
||||||
|
publications {
|
||||||
|
getByName<MavenPublication>("mavenJava") {
|
||||||
|
artifactId = rootProject.name
|
||||||
|
artifact(tasks["shadowJar"])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("UNUSED_VARIABLE")
|
@Suppress("UNUSED_VARIABLE")
|
||||||
@@ -141,4 +152,13 @@ private fun Project.configureApiProject() {
|
|||||||
attributes("Automatic-Module-Name" to "org.bukkit")
|
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.api.Project
|
||||||
import org.gradle.kotlin.dsl.findByType
|
import org.gradle.kotlin.dsl.findByType
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.nio.file.Path
|
|
||||||
|
|
||||||
val Project.toothpick: ToothpickExtension
|
val Project.toothpick: ToothpickExtension
|
||||||
get() = rootProject.extensions.findByType(ToothpickExtension::class)!!
|
get() = rootProject.extensions.findByType(ToothpickExtension::class)!!
|
||||||
@@ -25,6 +24,3 @@ val Project.rootProjectDir: File
|
|||||||
|
|
||||||
val Project.upstreamDir: File
|
val Project.upstreamDir: File
|
||||||
get() = rootProject.projectDir.resolve(toothpick.upstream)
|
get() = rootProject.projectDir.resolve(toothpick.upstream)
|
||||||
|
|
||||||
val Project.projectPath: Path
|
|
||||||
get() = projectDir.toPath()
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ internal fun Project.createPaperclipTask(
|
|||||||
val vanillaJarPath =
|
val vanillaJarPath =
|
||||||
workDir.resolve("Minecraft/${toothpick.minecraftVersion}/${toothpick.minecraftVersion}.jar").absolutePath
|
workDir.resolve("Minecraft/${toothpick.minecraftVersion}/${toothpick.minecraftVersion}.jar").absolutePath
|
||||||
val patchedJarPath = toothpick.serverProject.projectDir.resolve(
|
val patchedJarPath = toothpick.serverProject.projectDir.resolve(
|
||||||
"build/libs/${toothpick.forkNameLowercase}-server-$version-all.jar"
|
"build/libs/${toothpick.forkNameLowercase}-server-$version.jar"
|
||||||
).absolutePath
|
).absolutePath
|
||||||
logger.lifecycle(">>> Building paperclip")
|
logger.lifecycle(">>> Building paperclip")
|
||||||
val paperclipCmd = arrayListOf(
|
val paperclipCmd = arrayListOf(
|
||||||
|
|||||||
Reference in New Issue
Block a user