diff --git a/gradle.properties b/gradle.properties index 281f25f..3246159 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ org.gradle.jvmargs=-Xmx2G adventure_version=4.3.0 adventure_serializer_version=4.13.0 -HikariCP_version=5.0.1 \ No newline at end of file +HikariCP_version=4.0.3 \ No newline at end of file diff --git a/hamster-core-bukkit/build.gradle b/hamster-core-bukkit/build.gradle index 90a88a6..60a5d78 100644 --- a/hamster-core-bukkit/build.gradle +++ b/hamster-core-bukkit/build.gradle @@ -1,93 +1,62 @@ //file:noinspection GroovyAssignabilityCheck +//file:noinspection VulnerableLibrariesLocal +//file:noinspection GrDeprecatedAPIUsage plugins { - id 'com.github.johnrengelman.shadow' version '7.1.2' + id 'com.github.johnrengelman.shadow' version '7+' } setArchivesBaseName("HamsterCore-Bukkit") evaluationDependsOn(':hamster-core-common') -configurations { - oldJar -} - dependencies { - implementation "de.tr7zw:item-nbt-api:2.11.2" - //noinspection VulnerableLibrariesLocal - compileOnly 'org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT' exclude group: "com.google.code.gson" + compileOnly 'org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT' compileOnly 'net.milkbowl.vault:VaultAPI:1.7' transitive false compileOnly 'org.black_ixx:playerpoints:2.1.3' transitive false - api project(":hamster-core-common") transitive false - // https://mvnrepository.com/artifact/net.kyori/adventure-platform-bukkit - api "net.kyori:adventure-platform-bukkit:${adventure_version}" - // https://mvnrepository.com/artifact/net.kyori/adventure-text-minimessage - api "net.kyori:adventure-text-minimessage:${adventure_serializer_version}" - // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-gson - api "net.kyori:adventure-text-serializer-gson:${adventure_serializer_version}" - // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-legacy - api "net.kyori:adventure-text-serializer-legacy:${adventure_serializer_version}" - - // https://mvnrepository.com/artifact/com.zaxxer/HikariCP - compileOnly "com.zaxxer:HikariCP:${HikariCP_version}" - + implementation project(":hamster-core-common") transitive false //noinspection GradlePackageUpdate - oldJar 'com.zaxxer:HikariCP:4.0.3' + implementation "com.zaxxer:HikariCP:${HikariCP_version}" //noinspection VulnerableLibrariesLocal - oldJar "net.kyori:adventure-platform-bukkit:${adventure_version}" + implementation "net.kyori:adventure-platform-bukkit:${adventure_version}" exclude group: 'org.jetbrains' + // https://mvnrepository.com/artifact/net.kyori/adventure-text-minimessage + implementation "net.kyori:adventure-text-minimessage:${adventure_serializer_version}" exclude group: 'org.jetbrains' + // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-gson + implementation "net.kyori:adventure-text-serializer-gson:${adventure_serializer_version}" exclude group: 'org.jetbrains' + // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-legacy + implementation "net.kyori:adventure-text-serializer-legacy:${adventure_serializer_version}" exclude group: 'org.jetbrains' + implementation "de.tr7zw:item-nbt-api:2.11.2" } processResources { inputs.property "version", project.version filesMatching("plugin.yml") { - expand "version": project.version, - "adventure_version": adventure_version, - "adventure_serializer_version": adventure_serializer_version, - "HikariCP_version": HikariCP_version - + expand "version": project.version } } jar { - //noinspection GrDeprecatedAPIUsage - classifier = "jar" + classifier = 'dev' } tasks.compileJava.dependsOn(":hamster-core-common:build") shadowJar { - //noinspection GrDeprecatedAPIUsage - classifier = "" + classifier = '' dependencies { exclude(dependency { - it.moduleGroup != 'cn.hamster3.mc.plugin.core' && it.moduleGroup != 'de.tr7zw' + it.moduleGroup == 'com.google.code.gson' || it.moduleName == 'org.jetbrains' }) } - relocate 'de.tr7zw.changeme.nbtapi', 'cn.hamster3.mc.plugin.core.bukkit.nbtapi' - relocate 'de.tr7zw.annotations', 'cn.hamster3.mc.plugin.core.bukkit.nbtapi.annotations' + relocate 'org.slf4j', 'cn.hamster3.mc.plugin.core.lib.slf4j' + relocate 'net.kyori', 'cn.hamster3.mc.plugin.core.lib.kyori' + relocate 'com.zaxxer.hikari', 'cn.hamster3.mc.plugin.core.lib.hikari' + relocate 'de.tr7zw.changeme.nbtapi', 'cn.hamster3.mc.plugin.core.lib.nbtapi' + relocate 'de.tr7zw.annotations', 'cn.hamster3.mc.plugin.core.lib.nbtapi.annotations' destinationDir(getRootProject().buildDir) } tasks.build.dependsOn(shadowJar) -tasks.register("oldJar", Jar) { - dependsOn("jar") - //noinspection GrDeprecatedAPIUsage - setClassifier("Old") - from([ - tasks.jar.outputs.files.collect { - it.isDirectory() ? it : zipTree(it) - }, - configurations.shade.collect { - it.isDirectory() ? it : zipTree(it) - }, - configurations.oldJar.collect { - it.isDirectory() ? it : zipTree(it) - } - ]) - destinationDir(getRootProject().buildDir) -} -tasks.build.dependsOn(oldJar) - publishing { publications { shadow(MavenPublication) { publication -> diff --git a/hamster-core-bukkit/src/main/resources/plugin.yml b/hamster-core-bukkit/src/main/resources/plugin.yml index 265e21a..65bc719 100644 --- a/hamster-core-bukkit/src/main/resources/plugin.yml +++ b/hamster-core-bukkit/src/main/resources/plugin.yml @@ -16,14 +16,6 @@ softdepend: loadbefore: - HamsterAPI -libraries: - - 'net.kyori:adventure-platform-bukkit:${adventure_version}' - - 'net.kyori:adventure-text-minimessage:${adventure_serializer_version}' - - 'net.kyori:adventure-text-serializer-gson:${adventure_serializer_version}' - - 'net.kyori:adventure-text-serializer-legacy:${adventure_serializer_version}' - - 'com.squareup.okhttp3:okhttp:4.10.0' - - 'com.zaxxer:HikariCP:5.0.1' - commands: hamster-core: aliases: [ hcore, hc, core ] diff --git a/hamster-core-bungeecord/build.gradle b/hamster-core-bungeecord/build.gradle index 4da59e7..f1972b1 100644 --- a/hamster-core-bungeecord/build.gradle +++ b/hamster-core-bungeecord/build.gradle @@ -1,35 +1,28 @@ //file:noinspection GroovyAssignabilityCheck +//file:noinspection VulnerableLibrariesLocal +//file:noinspection GrDeprecatedAPIUsage +plugins { + id 'com.github.johnrengelman.shadow' version '7+' +} setArchivesBaseName("HamsterCore-BungeeCord") evaluationDependsOn(':hamster-core-common') -configurations { - oldJar -} - dependencies { - api project(":hamster-core-common") transitive false - shade project(":hamster-core-common") transitive false - oldJar project(":hamster-core-common") transitive false - //noinspection VulnerableLibrariesLocal compileOnly 'net.md-5:bungeecord-api:1.19-R0.1-SNAPSHOT' - // https://mvnrepository.com/artifact/net.kyori/adventure-platform-bungeecord - api "net.kyori:adventure-platform-bungeecord:${adventure_version}" - shade "net.kyori:adventure-platform-bungeecord:${adventure_version}" - oldJar "net.kyori:adventure-platform-bungeecord:${adventure_version}" - -// // https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -// api 'com.squareup.okhttp3:okhttp:4.10.0' -// shade 'com.squareup.okhttp3:okhttp:4.10.0' -// oldJar 'com.squareup.okhttp3:okhttp:4.10.0' - - // https://mvnrepository.com/artifact/com.zaxxer/HikariCP - compileOnly 'com.zaxxer:HikariCP:5.0.1' - shade 'com.zaxxer:HikariCP:5.0.1' + implementation project(":hamster-core-common") transitive false //noinspection GradlePackageUpdate - oldJar 'com.zaxxer:HikariCP:4.0.3' exclude group: "org.slf4j" + implementation "com.zaxxer:HikariCP:${HikariCP_version}" + // https://mvnrepository.com/artifact/net.kyori/adventure-platform-bungeecord + implementation "net.kyori:adventure-platform-bungeecord:${adventure_version}" exclude group: 'org.jetbrains' + // https://mvnrepository.com/artifact/net.kyori/adventure-text-minimessage + implementation "net.kyori:adventure-text-minimessage:${adventure_serializer_version}" exclude group: 'org.jetbrains' + // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-gson + implementation "net.kyori:adventure-text-serializer-gson:${adventure_serializer_version}" exclude group: 'org.jetbrains' + // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-legacy + implementation "net.kyori:adventure-text-serializer-legacy:${adventure_serializer_version}" exclude group: 'org.jetbrains' } processResources { @@ -39,44 +32,33 @@ processResources { } } +jar { + classifier = 'dev' +} + tasks.compileJava.dependsOn(":hamster-core-common:build") -tasks.register("shadowJar", Jar) { - dependsOn("jar") - from([ - tasks.jar.outputs.files.collect { - it.isDirectory() ? it : zipTree(it) - }, - configurations.shade.collect { - it.isDirectory() ? it : zipTree(it) - } - ]) +shadowJar { + classifier = '' + dependencies { + exclude(dependency { + it.moduleGroup == 'com.google.code.gson' || it.moduleName == 'org.jetbrains' + }) + } + relocate 'org.slf4j', 'cn.hamster3.mc.plugin.core.lib.slf4j' + relocate 'net.kyori', 'cn.hamster3.mc.plugin.core.lib.kyori' + relocate 'com.zaxxer.hikari', 'cn.hamster3.mc.plugin.core.lib.hikari' destinationDir(getRootProject().buildDir) } tasks.build.dependsOn(shadowJar) -tasks.register("oldJar", Jar) { - dependsOn("jar") - //noinspection GrDeprecatedAPIUsage - setClassifier("Old") - from([ - tasks.jar.outputs.files.collect { - it.isDirectory() ? it : zipTree(it) - }, - configurations.oldJar.collect { - it.isDirectory() ? it : zipTree(it) - } - ]) - destinationDir(getRootProject().buildDir) -} -tasks.build.dependsOn(oldJar) - - publishing { publications { - mavenJava(MavenPublication) { - def projectNameSplit = project.name.split('-') - artifactId = projectNameSplit[projectNameSplit.length - 1] - from project.components.java + shadow(MavenPublication) { publication -> + { + def projectNameSplit = project.name.split('-') + artifactId = projectNameSplit[projectNameSplit.length - 1] + from components.java + } } } repositories { diff --git a/hamster-core-common/build.gradle b/hamster-core-common/build.gradle index 5c5d5ed..2b82fd8 100644 --- a/hamster-core-common/build.gradle +++ b/hamster-core-common/build.gradle @@ -7,14 +7,10 @@ dependencies { //noinspection VulnerableLibrariesLocal compileOnly 'com.google.code.gson:gson:2.8.0' - // https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp - compileOnly 'com.squareup.okhttp3:okhttp:4.10.0' - // https://mvnrepository.com/artifact/net.kyori/adventure-api - compileOnly 'net.kyori:adventure-api:${adventure_version}' + compileOnly "net.kyori:adventure-api:${adventure_version}" // https://mvnrepository.com/artifact/net.kyori/adventure-platform-api compileOnly "net.kyori:adventure-platform-api:${adventure_version}" - // https://mvnrepository.com/artifact/net.kyori/adventure-text-minimessage compileOnly "net.kyori:adventure-text-minimessage:${adventure_serializer_version}" // https://mvnrepository.com/artifact/net.kyori/adventure-text-serializer-gson