mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
[ci-skip] Setup repo for api publishing
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
plugins {
|
||||
`java-library`
|
||||
`maven-publish`
|
||||
toothpick
|
||||
}
|
||||
|
||||
toothpick {
|
||||
forkName = "Purpur"
|
||||
groupId = "net.pl3x.purpur"
|
||||
forkUrl = "https://github.com/pl3xgaming/Purpur"
|
||||
val versionTag = System.getenv("BUILD_NUMBER")
|
||||
?: "\"${gitCmd("rev-parse", "--short", "HEAD").output}\""
|
||||
forkVersion = "git-$forkName-$versionTag"
|
||||
@@ -15,6 +17,8 @@ toothpick {
|
||||
nmsRevision = "R0.1-SNAPSHOT"
|
||||
|
||||
upstream = "Paper"
|
||||
upstreamBranch = "origin/master"
|
||||
|
||||
server {
|
||||
project = project(":$forkNameLowercase-server")
|
||||
patchesDir = rootProject.projectDir.resolve("patches/server")
|
||||
@@ -39,4 +43,9 @@ subprojects {
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
withSourcesJar()
|
||||
}
|
||||
|
||||
publishing.repositories.maven {
|
||||
url = uri("https://repo.pl3x.net/snapshots")
|
||||
credentials(PasswordCredentials::class)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ import org.gradle.kotlin.dsl.create
|
||||
import org.gradle.kotlin.dsl.get
|
||||
import org.gradle.kotlin.dsl.getValue
|
||||
import org.gradle.kotlin.dsl.getting
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Date
|
||||
|
||||
internal fun Project.configureSubprojects() {
|
||||
subprojects {
|
||||
@@ -33,7 +35,7 @@ internal fun Project.configureSubprojects() {
|
||||
from(components["java"])
|
||||
pom {
|
||||
name.set(project.name)
|
||||
url.set("https://github.com/pl3xgaming/Purpur")
|
||||
url.set(toothpick.forkUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -67,8 +69,7 @@ private fun Project.configureServerProject() {
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
"Implementation-Version" to toothpick.forkVersion,
|
||||
"Implementation-Vendor" to java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
|
||||
.format(java.util.Date()),
|
||||
"Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()),
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to "${project.version}",
|
||||
"Specification-Vendor" to "Bukkit Team"
|
||||
|
||||
@@ -32,10 +32,8 @@ fun DependencyHandlerScope.loadDependencies(project: Project) {
|
||||
val groupId = dependencyElem.search("groupId").first().textContent
|
||||
val artifactId = dependencyElem.search("artifactId").first().textContent
|
||||
val version = dependencyElem.search("version").first().textContent.applyReplacements(
|
||||
mapOf(
|
||||
"project.version" to "${project.toothpick.minecraftVersion}-${project.toothpick.nmsRevision}",
|
||||
"minecraft.version" to project.toothpick.minecraftVersion
|
||||
)
|
||||
"project.version" to project.version.toString(),
|
||||
"minecraft.version" to project.toothpick.minecraftVersion
|
||||
)
|
||||
val scope = dependencyElem.search("scope").firstOrNull()?.textContent
|
||||
val classifier = dependencyElem.search("classifier").firstOrNull()?.textContent
|
||||
|
||||
@@ -9,6 +9,7 @@ open class ToothpickExtension(objects: ObjectFactory) {
|
||||
lateinit var forkName: String
|
||||
val forkNameLowercase
|
||||
get() = forkName.toLowerCase(Locale.ENGLISH)
|
||||
lateinit var forkUrl: String
|
||||
lateinit var forkVersion: String
|
||||
lateinit var groupId: String
|
||||
lateinit var minecraftVersion: String
|
||||
@@ -18,6 +19,12 @@ open class ToothpickExtension(objects: ObjectFactory) {
|
||||
lateinit var upstream: String
|
||||
val upstreamLowercase
|
||||
get() = upstream.toLowerCase(Locale.ENGLISH)
|
||||
lateinit var upstreamBranch: String
|
||||
|
||||
var paperclipName: String = ""
|
||||
get(): String = if (field.isEmpty()) {
|
||||
"$forkNameLowercase-paperclip.jar"
|
||||
} else "$field.jar"
|
||||
|
||||
lateinit var serverProject: ToothpickSubproject
|
||||
fun server(receiver: ToothpickSubproject.() -> Unit) {
|
||||
|
||||
@@ -57,7 +57,9 @@ fun Project.bashCmd(
|
||||
): CmdResult =
|
||||
cmd("bash", "-c", *args, dir = dir, printOut = printOut)
|
||||
|
||||
internal fun String.applyReplacements(replacements: Map<String, String>): String {
|
||||
internal fun String.applyReplacements(
|
||||
vararg replacements: Pair<String, String>
|
||||
): String {
|
||||
var result = this
|
||||
for ((key, value) in replacements) {
|
||||
result = result.replace("\${$key}", value)
|
||||
|
||||
@@ -32,8 +32,8 @@ internal fun Project.createPaperclipTask(
|
||||
if (jenkins) paperclipCmd.add("-Dstyle.color=never")
|
||||
ensureSuccess(cmd(*paperclipCmd.toTypedArray(), dir = paperclipDir, printOut = true))
|
||||
val paperClip = paperclipDir.resolve("assembly/target/paperclip-${toothpick.minecraftVersion}.jar")
|
||||
val destination = rootProjectDir.resolve("${toothpick.forkNameLowercase}-paperclip.jar")
|
||||
val destination = rootProjectDir.resolve(toothpick.paperclipName)
|
||||
paperClip.copyTo(destination, overwrite = true)
|
||||
logger.lifecycle(">>> ${toothpick.forkNameLowercase}-paperclip.jar saved to root project directory")
|
||||
logger.lifecycle(">>> ${toothpick.paperclipName} saved to root project directory")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ internal fun Project.createUpdateUpstreamTask(
|
||||
group = taskGroup
|
||||
doLast {
|
||||
ensureSuccess(gitCmd("fetch", dir = upstreamDir, printOut = true))
|
||||
ensureSuccess(gitCmd("reset", "--hard", "origin/master", dir = upstreamDir, printOut = true))
|
||||
ensureSuccess(gitCmd("reset", "--hard", toothpick.upstreamBranch, dir = upstreamDir, printOut = true))
|
||||
ensureSuccess(gitCmd("add", toothpick.upstream, dir = rootProjectDir, printOut = true))
|
||||
ensureSuccess(gitCmd("submodule", "update", "--init", "--recursive", dir = upstreamDir, printOut = true))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user