73 lines
1.8 KiB
Kotlin
73 lines
1.8 KiB
Kotlin
plugins {
|
|
java
|
|
id("com.gradleup.shadow") version "8.3.9"
|
|
}
|
|
|
|
group = "games.dmg"
|
|
version = providers.gradleProperty("releaseVersion")
|
|
.orElse("0.1.0-SNAPSHOT")
|
|
.get()
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven("https://repo.papermc.io/repository/maven-public/")
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT")
|
|
annotationProcessor("com.velocitypowered:velocity-api:3.4.0-SNAPSHOT")
|
|
implementation("com.google.code.gson:gson:2.13.2")
|
|
testImplementation(platform("org.junit:junit-bom:5.14.3"))
|
|
testImplementation("org.junit.jupiter:junit-jupiter")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
}
|
|
|
|
java {
|
|
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
|
|
}
|
|
|
|
val generatedVersionDirectory = layout.buildDirectory.dir("generated/sources/version/java/main")
|
|
val generateVersionSource = tasks.register("generateVersionSource") {
|
|
val pluginVersion = providers.provider { project.version.toString() }
|
|
inputs.property("pluginVersion", pluginVersion)
|
|
outputs.dir(generatedVersionDirectory)
|
|
|
|
doLast {
|
|
val output = generatedVersionDirectory.get()
|
|
.file("games/dmg/accountmanager/BuildMetadata.java")
|
|
.asFile
|
|
output.parentFile.mkdirs()
|
|
output.writeText(
|
|
"""package games.dmg.accountmanager;
|
|
|
|
public final class BuildMetadata {
|
|
public static final String VERSION = "${pluginVersion.get()}";
|
|
|
|
private BuildMetadata() {}
|
|
}
|
|
"""
|
|
)
|
|
}
|
|
}
|
|
|
|
sourceSets.main {
|
|
java.srcDir(generatedVersionDirectory)
|
|
}
|
|
|
|
tasks.compileJava {
|
|
dependsOn(generateVersionSource)
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.shadowJar {
|
|
archiveClassifier.set("")
|
|
relocate("com.google.gson", "games.dmg.accountmanager.lib.gson")
|
|
}
|
|
|
|
tasks.build {
|
|
dependsOn(tasks.shadowJar)
|
|
}
|