plugins { id("java") id("maven-publish") id("com.github.johnrengelman.shadow") version "8+" } group = "cn.hamster3.mc.plugin" version = "1.6.0" subprojects { apply { plugin("java-library") 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 { options.encoding = "UTF-8" } withType { from(rootProject.file("LICENSE")) duplicatesStrategy = DuplicatesStrategy.EXCLUDE } processResources { val map = mutableMapOf() map["BUILD_ID"] = System.getenv().getOrDefault("BUILD_ID", "NONE") map["BUILD_NUMBER"] = System.getenv().getOrDefault("BUILD_NUMBER", "NONE") map["BUILD_DISPLAY_NAME"] = System.getenv().getOrDefault("BUILD_DISPLAY_NAME", "NONE") map["JOB_URL"] = System.getenv().getOrDefault("JOB_URL", "NONE") map["BUILD_URL"] = System.getenv().getOrDefault("BUILD_URL", "NONE") map["GIT_COMMIT"] = System.getenv().getOrDefault("GIT_COMMIT", "NONE") filesMatching("jenkins.yml") { expand(map) } } jar { archiveClassifier = "dev" } shadowJar { archiveClassifier = "" } build { dependsOn(shadowJar) } } publishing { publications { create("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() } } } } }