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