Files
hamster-core/build.gradle.kts

101 lines
3.5 KiB
Plaintext

plugins {
id("java")
id("maven-publish")
id("com.github.johnrengelman.shadow") version "8+"
}
group = "cn.hamster3.mc.plugin"
version = "1.3.1"
subprojects {
apply {
plugin("java")
plugin("maven-publish")
plugin("com.github.johnrengelman.shadow")
}
group = rootProject.group
version = rootProject.version
repositories {
maven("https://maven.airgame.net/maven-public")
}
dependencies {
// https://mvnrepository.com/artifact/org.jetbrains/annotations
compileOnly("org.jetbrains:annotations:24.1.0")
// https://mvnrepository.com/artifact/org.projectlombok/lombok
compileOnly("org.projectlombok:lombok:1.18.30")
annotationProcessor("org.projectlombok:lombok:1.18.30")
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
withSourcesJar()
}
tasks {
withType<JavaCompile> {
options.encoding = "UTF-8"
}
withType<Jar> {
from(rootProject.file("LICENSE"))
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}
processResources {
val map = mutableMapOf<String, String>()
map.putAll(System.getenv())
map["BUILD_ID"] = System.getenv().getOrDefault("BUILD_ID", "")
map["BUILD_NUMBER"] = System.getenv().getOrDefault("BUILD_NUMBER", "")
map["BUILD_DISPLAY_NAME"] = System.getenv().getOrDefault("BUILD_DISPLAY_NAME", "")
map["JOB_URL"] = System.getenv().getOrDefault("JOB_URL", "")
map["BUILD_URL"] = System.getenv().getOrDefault("BUILD_URL", "")
map["GIT_COMMIT"] = System.getenv().getOrDefault("GIT_COMMIT", "")
rootProject.properties.forEach { (k, v) ->
map[k] = v.toString()
}
filesMatching(listOf("plugin.yml", "bungee.yml")) {
expand(map)
}
}
jar {
archiveClassifier = "dev"
}
shadowJar {
archiveClassifier = ""
relocate("org.quartz", "cn.hamster3.mc.plugin.core.lib.org.quartz")
relocate("org.terracotta.quartz", "cn.hamster3.mc.plugin.core.lib.org.terracotta.quartz")
relocate("com.zaxxer.hikari", "cn.hamster3.mc.plugin.core.lib.com.zaxxer.hikari")
relocate("redis.clients.jedis", "cn.hamster3.mc.plugin.core.lib.redis.clients.jedis")
relocate("org.json", "cn.hamster3.mc.plugin.core.lib.org.json")
relocate("org.apache.commons.pool2", "cn.hamster3.mc.plugin.core.lib.org.apache.commons.pool2")
relocate("net.kyori", "cn.hamster3.mc.plugin.core.lib.net.kyori")
relocate("de.tr7zw.changeme.nbtapi", "cn.hamster3.mc.plugin.core.lib.de.tr7zw.nbtapi")
relocate("de.tr7zw.annotations", "cn.hamster3.mc.plugin.core.lib.de.tr7zw.nbtapi.annotations")
}
build {
dependsOn(shadowJar)
}
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
from(components["java"])
}
}
repositories {
maven {
url = uri("https://maven.airgame.net/public")
credentials {
username = rootProject.properties.getOrDefault("maven_username", "").toString()
password = rootProject.properties.getOrDefault("maven_password", "").toString()
}
}
}
}
}