2019-08-26 06:45:03 +02:00
|
|
|
import org.ajoberstar.grgit.Grgit
|
2021-05-07 23:47:35 +02:00
|
|
|
import org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
|
|
|
|
import org.gradle.api.tasks.testing.logging.TestLogEvent.FAILED
|
2021-11-22 16:56:20 +01:00
|
|
|
import java.net.URI
|
2023-04-07 15:10:14 +02:00
|
|
|
import java.time.format.DateTimeFormatter
|
|
|
|
import xyz.jpenilla.runpaper.task.RunServer
|
2021-11-22 16:56:20 +01:00
|
|
|
|
|
|
|
plugins {
|
2024-04-06 09:36:53 +02:00
|
|
|
id("io.github.gradle-nexus.publish-plugin") version "2.0.0"
|
2024-05-19 16:20:28 +02:00
|
|
|
id("xyz.jpenilla.run-paper") version "2.3.0"
|
2021-11-22 16:56:20 +01:00
|
|
|
}
|
2019-08-26 06:45:03 +02:00
|
|
|
|
2023-01-15 20:24:51 +01:00
|
|
|
if (!File("$rootDir/.git").exists()) {
|
|
|
|
logger.lifecycle("""
|
|
|
|
**************************************************************************************
|
|
|
|
You need to fork and clone this repository! Don't download a .zip file.
|
|
|
|
If you need assistance, consult the GitHub docs: https://docs.github.com/get-started/quickstart/fork-a-repo
|
|
|
|
**************************************************************************************
|
|
|
|
""".trimIndent()
|
|
|
|
).also { kotlin.system.exitProcess(1) }
|
|
|
|
}
|
|
|
|
|
2019-08-26 06:45:03 +02:00
|
|
|
logger.lifecycle("""
|
|
|
|
*******************************************
|
|
|
|
You are building FastAsyncWorldEdit!
|
|
|
|
|
|
|
|
If you encounter trouble:
|
2022-01-27 21:04:22 +01:00
|
|
|
1) Read COMPILING.adoc if you haven't yet
|
2019-08-26 06:45:03 +02:00
|
|
|
2) Try running 'build' in a separate Gradle run
|
|
|
|
3) Use gradlew and not gradle
|
2021-02-16 23:49:04 +01:00
|
|
|
4) If you still need help, ask on Discord! https://discord.gg/intellectualsites
|
2019-08-26 06:45:03 +02:00
|
|
|
|
|
|
|
Output files will be in [subproject]/build/libs
|
|
|
|
*******************************************
|
|
|
|
""")
|
2020-08-14 21:29:15 +02:00
|
|
|
|
2024-05-19 17:47:26 +02:00
|
|
|
var rootVersion by extra("2.10.1")
|
2021-11-22 13:38:32 +01:00
|
|
|
var snapshot by extra("SNAPSHOT")
|
2020-08-14 21:29:15 +02:00
|
|
|
var revision: String by extra("")
|
|
|
|
var buildNumber by extra("")
|
|
|
|
var date: String by extra("")
|
2019-08-26 06:45:03 +02:00
|
|
|
ext {
|
|
|
|
val git: Grgit = Grgit.open {
|
2021-04-18 20:23:32 +02:00
|
|
|
dir = File("$rootDir/.git")
|
2019-08-26 06:45:03 +02:00
|
|
|
}
|
2021-04-18 20:23:32 +02:00
|
|
|
date = git.head().dateTime.format(DateTimeFormatter.ofPattern("yy.MM.dd"))
|
|
|
|
revision = "-${git.head().abbreviatedId}"
|
|
|
|
buildNumber = if (project.hasProperty("buildnumber")) {
|
2021-12-21 16:27:46 +01:00
|
|
|
snapshot + "-" + project.properties["buildnumber"] as String
|
2019-08-26 06:45:03 +02:00
|
|
|
} else {
|
2021-11-22 14:35:40 +01:00
|
|
|
project.properties["snapshot"] as String
|
2019-11-07 11:28:17 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-05-19 17:47:26 +02:00
|
|
|
version = String.format("%s-%s", rootVersion, buildNumber)
|
2019-08-26 06:45:03 +02:00
|
|
|
|
|
|
|
if (!project.hasProperty("gitCommitHash")) {
|
|
|
|
apply(plugin = "org.ajoberstar.grgit")
|
|
|
|
ext["gitCommitHash"] = try {
|
2020-07-14 04:50:59 +02:00
|
|
|
extensions.getByName<Grgit>("grgit").head()?.abbreviatedId
|
2019-08-26 06:45:03 +02:00
|
|
|
} catch (e: Exception) {
|
|
|
|
logger.warn("Error getting commit hash", e)
|
|
|
|
|
2020-07-14 04:50:59 +02:00
|
|
|
"no.git.id"
|
2019-08-26 06:45:03 +02:00
|
|
|
}
|
|
|
|
}
|
2021-04-18 20:23:32 +02:00
|
|
|
|
|
|
|
allprojects {
|
|
|
|
gradle.projectsEvaluated {
|
|
|
|
tasks.withType(JavaCompile::class) {
|
|
|
|
options.compilerArgs.addAll(arrayOf("-Xmaxerrs", "1000"))
|
|
|
|
}
|
2021-05-07 23:47:35 +02:00
|
|
|
tasks.withType(Test::class) {
|
|
|
|
testLogging {
|
|
|
|
events(FAILED)
|
|
|
|
exceptionFormat = FULL
|
|
|
|
showExceptions = true
|
|
|
|
showCauses = true
|
|
|
|
showStackTraces = true
|
|
|
|
}
|
|
|
|
}
|
2021-04-18 20:23:32 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
applyCommonConfiguration()
|
2024-05-19 13:32:18 +02:00
|
|
|
val supportedVersions = listOf("1.19.4", "1.20", "1.20.4", "1.20.5", "1.20.6")
|
2021-11-22 16:56:20 +01:00
|
|
|
|
2022-06-20 17:56:51 +02:00
|
|
|
tasks {
|
2023-04-07 15:10:14 +02:00
|
|
|
supportedVersions.forEach {
|
|
|
|
register<RunServer>("runServer-$it") {
|
|
|
|
minecraftVersion(it)
|
|
|
|
pluginJars(*project(":worldedit-bukkit").getTasksByName("shadowJar", false).map { (it as Jar).archiveFile }
|
|
|
|
.toTypedArray())
|
|
|
|
jvmArgs("-DPaper.IgnoreJavaVersion=true", "-Dcom.mojang.eula.agree=true")
|
|
|
|
group = "run paper"
|
|
|
|
runDirectory.set(file("run-$it"))
|
|
|
|
}
|
|
|
|
}
|
2022-06-20 17:56:51 +02:00
|
|
|
runServer {
|
2023-12-08 07:30:08 +01:00
|
|
|
minecraftVersion("1.20.4")
|
2023-03-16 10:45:22 +01:00
|
|
|
pluginJars(*project(":worldedit-bukkit").getTasksByName("shadowJar", false).map { (it as Jar).archiveFile }
|
|
|
|
.toTypedArray())
|
2022-06-20 17:56:51 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-11-22 16:56:20 +01:00
|
|
|
nexusPublishing {
|
2023-06-06 19:18:01 +02:00
|
|
|
this.repositories {
|
2021-11-22 16:56:20 +01:00
|
|
|
sonatype {
|
|
|
|
nexusUrl.set(URI.create("https://s01.oss.sonatype.org/service/local/"))
|
|
|
|
snapshotRepositoryUrl.set(URI.create("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|