diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c58a6fea..ee1aacf3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,6 @@ jobs: with: distribution: 'temurin' java-version: | - 11 16 17 cache: 'gradle' diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 36aa7872..9dab76d3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,10 +1,13 @@ -name: Publish +name: Build on: workflow_dispatch: + push: + tags: + - "**" jobs: - publish: + build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -16,12 +19,11 @@ jobs: with: distribution: 'temurin' java-version: | - 11 16 17 cache: 'gradle' - name: Build with Gradle + run: ./gradlew clean :BlueMapCore:publish :BlueMapCommon:publish env: - MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} - CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }} - run: ./gradlew publish + BLUECOLORED_USERNAME: ${{ secrets.BLUECOLORED_USERNAME }} + BLUECOLORED_PASSWORD: ${{ secrets.BLUECOLORED_PASSWORD }} diff --git a/BlueMapAPI b/BlueMapAPI index 6cad751a..b200d339 160000 --- a/BlueMapAPI +++ b/BlueMapAPI @@ -1 +1 @@ -Subproject commit 6cad751ac59286a516007799bcad3f2868e0a802 +Subproject commit b200d339f1a20c5d0def4e134237c756e6294c50 diff --git a/BlueMapCommon/build.gradle.kts b/BlueMapCommon/build.gradle.kts index 1506a076..51894011 100644 --- a/BlueMapCommon/build.gradle.kts +++ b/BlueMapCommon/build.gradle.kts @@ -9,8 +9,9 @@ plugins { id ("com.github.node-gradle.node") version "3.5.0" } -group = "de.bluecolored.bluemap.common" -version = "0.0.0" +group = "de.bluecolored.bluemap" +version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore +val lastVersion = System.getProperty("bluemap.lastVersion") ?: "?" // set by BlueMapCore val javaTarget = 16 java { @@ -20,17 +21,13 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven ("https://libraries.minecraft.net") + maven ("https://repo.bluecolored.de/releases") } dependencies { api ("com.mojang:brigadier:1.0.17") - api ("de.bluecolored.bluemap.core:BlueMapCore") + api ("de.bluecolored.bluemap:BlueMapCore") compileOnly ("org.jetbrains:annotations:16.0.2") compileOnly ("org.projectlombok:lombok:1.18.30") @@ -102,6 +99,20 @@ tasks.processResources { } publishing { + repositories { + maven { + name = "bluecolored" + + val releasesRepoUrl = "https://repo.bluecolored.de/releases" + val snapshotsRepoUrl = "https://repo.bluecolored.de/snapshots" + url = uri(if (version == lastVersion) releasesRepoUrl else snapshotsRepoUrl) + + credentials { + username = project.findProperty("bluecoloredUsername") as String? ?: System.getenv("BLUECOLORED_USERNAME") + password = project.findProperty("bluecoloredPassword") as String? ?: System.getenv("BLUECOLORED_PASSWORD") + } + } + } publications { create("maven") { groupId = project.group.toString() @@ -109,6 +120,12 @@ publishing { version = project.version.toString() from(components["java"]) + + versionMapping { + usage("java-api") { + fromResolutionOf("runtimeClasspath") + } + } } } } diff --git a/BlueMapCore/build.gradle.kts b/BlueMapCore/build.gradle.kts index 28c4b459..8cf17304 100644 --- a/BlueMapCore/build.gradle.kts +++ b/BlueMapCore/build.gradle.kts @@ -38,12 +38,13 @@ val lastVersion = if (lastTag.isEmpty()) "dev" else lastTag.substring(1) // remo val commits = "git rev-list --count $lastTag..HEAD".runCommand() println("Git hash: $gitHash" + if (clean) "" else " (dirty)") -group = "de.bluecolored.bluemap.core" +group = "de.bluecolored.bluemap" version = lastVersion + (if (commits == "0") "" else "-$commits") + (if (clean) "" else "-dirty") System.setProperty("bluemap.version", version.toString()) +System.setProperty("bluemap.lastVersion", lastVersion) println("Version: $version") val javaTarget = 16 @@ -54,9 +55,7 @@ java { repositories { mavenCentral() - maven { - setUrl("https://jitpack.io") - } + maven ("https://repo.bluecolored.de/releases") } @Suppress("GradlePackageUpdate") @@ -66,12 +65,12 @@ dependencies { api ("commons-io:commons-io:2.5") api ("org.spongepowered:configurate-hocon:4.1.2") api ("org.spongepowered:configurate-gson:4.1.2") - api ("com.github.BlueMap-Minecraft:BlueNBT:v1.3.0") + api ("de.bluecolored.bluenbt:BlueNBT:2.2.1") api ("org.apache.commons:commons-dbcp2:2.9.0") api ("io.airlift:aircompressor:0.24") api ("org.lz4:lz4-java:1.8.0") - api ("de.bluecolored.bluemap.api:BlueMapAPI") + api ("de.bluecolored.bluemap:BlueMapAPI") compileOnly ("org.jetbrains:annotations:23.0.0") compileOnly ("org.projectlombok:lombok:1.18.30") @@ -152,6 +151,20 @@ tasks.processResources { } publishing { + repositories { + maven { + name = "bluecolored" + + val releasesRepoUrl = "https://repo.bluecolored.de/releases" + val snapshotsRepoUrl = "https://repo.bluecolored.de/snapshots" + url = uri(if (version == lastVersion) releasesRepoUrl else snapshotsRepoUrl) + + credentials { + username = project.findProperty("bluecoloredUsername") as String? ?: System.getenv("BLUECOLORED_USERNAME") + password = project.findProperty("bluecoloredPassword") as String? ?: System.getenv("BLUECOLORED_PASSWORD") + } + } + } publications { create("maven") { groupId = project.group.toString() @@ -159,6 +172,12 @@ publishing { version = project.version.toString() from(components["java"]) + + versionMapping { + usage("java-api") { + fromResolutionOf("runtimeClasspath") + } + } } } } diff --git a/implementations/cli/build.gradle.kts b/implementations/cli/build.gradle.kts index d9a0eb33..5a17f4b4 100644 --- a/implementations/cli/build.gradle.kts +++ b/implementations/cli/build.gradle.kts @@ -6,7 +6,7 @@ plugins { id ("com.github.johnrengelman.shadow") version "7.1.2" } -group = "de.bluecolored.bluemap.cli" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 16 @@ -17,16 +17,12 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven ("https://libraries.minecraft.net") + maven ("https://repo.bluecolored.de/releases") } dependencies { - api ("de.bluecolored.bluemap.common:BlueMapCommon") + api ("de.bluecolored.bluemap:BlueMapCommon") @Suppress("GradlePackageUpdate") implementation ("commons-cli:commons-cli:1.5.0") diff --git a/implementations/fabric-1.18/build.gradle.kts b/implementations/fabric-1.18/build.gradle.kts index 73485124..60791631 100644 --- a/implementations/fabric-1.18/build.gradle.kts +++ b/implementations/fabric-1.18/build.gradle.kts @@ -15,7 +15,7 @@ plugins { id ("com.matthewprenger.cursegradle") version "1.4.0" } -group = "de.bluecolored.bluemap.fabric" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 17 @@ -28,18 +28,10 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } - maven { - setUrl("https://maven.fabricmc.net/") - } - maven { - setUrl("https://oss.sonatype.org/content/repositories/snapshots") - } + maven ("https://libraries.minecraft.net") + maven ("https://maven.fabricmc.net/") + maven ("https://oss.sonatype.org/content/repositories/snapshots") + maven ("https://repo.bluecolored.de/releases") } val shadowInclude: Configuration by configurations.creating @@ -49,7 +41,7 @@ configurations { } dependencies { - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by fabric exclude (group = "com.google.guava", module = "guava") exclude (group = "com.google.code.gson", module = "gson") diff --git a/implementations/fabric-1.19.4/build.gradle.kts b/implementations/fabric-1.19.4/build.gradle.kts index db17b5b7..6189749c 100644 --- a/implementations/fabric-1.19.4/build.gradle.kts +++ b/implementations/fabric-1.19.4/build.gradle.kts @@ -15,7 +15,7 @@ plugins { id ("com.matthewprenger.cursegradle") version "1.4.0" } -group = "de.bluecolored.bluemap.fabric" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 17 @@ -28,18 +28,10 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } - maven { - setUrl("https://maven.fabricmc.net/") - } - maven { - setUrl("https://oss.sonatype.org/content/repositories/snapshots") - } + maven ("https://libraries.minecraft.net") + maven ("https://maven.fabricmc.net/") + maven ("https://oss.sonatype.org/content/repositories/snapshots") + maven ("https://repo.bluecolored.de/releases") } val shadowInclude: Configuration by configurations.creating @@ -49,7 +41,7 @@ configurations { } dependencies { - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by fabric exclude (group = "com.google.guava", module = "guava") exclude (group = "com.google.code.gson", module = "gson") diff --git a/implementations/fabric-1.20/build.gradle.kts b/implementations/fabric-1.20/build.gradle.kts index 14a50832..cd5cf717 100644 --- a/implementations/fabric-1.20/build.gradle.kts +++ b/implementations/fabric-1.20/build.gradle.kts @@ -15,7 +15,7 @@ plugins { id ("com.matthewprenger.cursegradle") version "1.4.0" } -group = "de.bluecolored.bluemap.fabric" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 17 @@ -28,18 +28,10 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } - maven { - setUrl("https://maven.fabricmc.net/") - } - maven { - setUrl("https://oss.sonatype.org/content/repositories/snapshots") - } + maven ("https://libraries.minecraft.net") + maven ("https://maven.fabricmc.net/") + maven ("https://oss.sonatype.org/content/repositories/snapshots") + maven ("https://repo.bluecolored.de/releases") } val shadowInclude: Configuration by configurations.creating @@ -49,7 +41,7 @@ configurations { } dependencies { - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by fabric exclude (group = "com.google.guava", module = "guava") exclude (group = "com.google.code.gson", module = "gson") diff --git a/implementations/forge-1.18.1/build.gradle b/implementations/forge-1.18.1/build.gradle index 5350ec61..d5c61141 100644 --- a/implementations/forge-1.18.1/build.gradle +++ b/implementations/forge-1.18.1/build.gradle @@ -21,7 +21,7 @@ plugins { apply plugin: "net.minecraftforge.gradle" -group = "de.bluecolored.bluemap.forge" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore archivesBaseName = 'bluemap' @@ -53,12 +53,8 @@ sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven { url = "https://libraries.minecraft.net" } + maven { url = "https://repo.bluecolored.de/releases" } } configurations { @@ -68,7 +64,7 @@ configurations { dependencies { minecraft 'net.minecraftforge:forge:1.18.1-39.0.19' - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by forge exclude (group: "com.google.guava", module: "guava") exclude (group: "com.google.code.gson", module: "gson") diff --git a/implementations/forge-1.19.4/build.gradle b/implementations/forge-1.19.4/build.gradle index 7a16e3c9..8721de2d 100644 --- a/implementations/forge-1.19.4/build.gradle +++ b/implementations/forge-1.19.4/build.gradle @@ -21,7 +21,7 @@ plugins { apply plugin: "net.minecraftforge.gradle" -group = "de.bluecolored.bluemap.forge" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore archivesBaseName = 'bluemap' @@ -52,12 +52,8 @@ sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven { url = "https://libraries.minecraft.net" } + maven { url = "https://repo.bluecolored.de/releases" } } configurations { @@ -67,7 +63,7 @@ configurations { dependencies { minecraft 'net.minecraftforge:forge:1.19.4-45.0.1' - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by forge exclude (group: "com.google.guava", module: "guava") exclude (group: "com.google.code.gson", module: "gson") diff --git a/implementations/forge-1.20/build.gradle b/implementations/forge-1.20/build.gradle index 36437ac8..afef14d1 100644 --- a/implementations/forge-1.20/build.gradle +++ b/implementations/forge-1.20/build.gradle @@ -21,7 +21,7 @@ plugins { apply plugin: "net.minecraftforge.gradle" -group = "de.bluecolored.bluemap.forge" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore archivesBaseName = 'bluemap' @@ -52,12 +52,8 @@ sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven { url = "https://libraries.minecraft.net" } + maven { url = "https://repo.bluecolored.de/releases" } } configurations { @@ -67,7 +63,7 @@ configurations { dependencies { minecraft 'net.minecraftforge:forge:1.20-46.0.1' - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by forge exclude (group: "com.google.guava", module: "guava") exclude (group: "com.google.code.gson", module: "gson") diff --git a/implementations/neoforge-1.20.2/build.gradle b/implementations/neoforge-1.20.2/build.gradle index 3618ab5f..790b981f 100644 --- a/implementations/neoforge-1.20.2/build.gradle +++ b/implementations/neoforge-1.20.2/build.gradle @@ -9,18 +9,13 @@ plugins { id "com.github.johnrengelman.shadow" version "7.1.2" } -group = "de.bluecolored.bluemap.forge" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore repositories { - mavenLocal() mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven { url = "https://libraries.minecraft.net" } + maven { url = "https://repo.bluecolored.de/releases" } } base { @@ -37,7 +32,7 @@ configurations { dependencies { implementation "net.neoforged:neoforge:20.2.86" - shadowInclude ("de.bluecolored.bluemap.common:BlueMapCommon") { + shadowInclude ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by forge exclude (group: "com.google.guava", module: "guava") exclude (group: "com.google.code.gson", module: "gson") diff --git a/implementations/paper/build.gradle.kts b/implementations/paper/build.gradle.kts index c8f152c6..3cf963a2 100644 --- a/implementations/paper/build.gradle.kts +++ b/implementations/paper/build.gradle.kts @@ -8,7 +8,7 @@ plugins { id ("io.papermc.hangar-publish-plugin") version "0.1.0" } -group = "de.bluecolored.bluemap.bukkit" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 17 @@ -19,22 +19,14 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } - maven { - setUrl("https://repo.papermc.io/repository/maven-public/") - } - maven { - setUrl("https://oss.sonatype.org/content/repositories/snapshots") - } + maven ("https://libraries.minecraft.net") + maven ("https://repo.papermc.io/repository/maven-public/") + maven ("https://oss.sonatype.org/content/repositories/snapshots") + maven ("https://repo.bluecolored.de/releases") } dependencies { - api ("de.bluecolored.bluemap.common:BlueMapCommon") { + api ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by bukkit exclude( group = "com.google.guava", module = "guava" ) exclude( group = "com.google.code.gson", module = "gson" ) diff --git a/implementations/spigot/build.gradle.kts b/implementations/spigot/build.gradle.kts index 6d4644bc..9077079a 100644 --- a/implementations/spigot/build.gradle.kts +++ b/implementations/spigot/build.gradle.kts @@ -7,7 +7,7 @@ plugins { id ("com.modrinth.minotaur") version "2.+" } -group = "de.bluecolored.bluemap.bukkit" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 16 @@ -18,25 +18,18 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } - maven { - setUrl("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") + maven ("https://libraries.minecraft.net") + maven ("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") { content { includeGroup ("org.spigotmc") } } - maven { - setUrl("https://oss.sonatype.org/content/repositories/snapshots") - } + maven ("https://oss.sonatype.org/content/repositories/snapshots") + maven ("https://repo.bluecolored.de/releases") } dependencies { - api ("de.bluecolored.bluemap.common:BlueMapCommon") { + api ("de.bluecolored.bluemap:BlueMapCommon") { //exclude dependencies provided by bukkit exclude( group = "com.google.guava", module = "guava" ) exclude( group = "com.google.code.gson", module = "gson" ) diff --git a/implementations/sponge/build.gradle.kts b/implementations/sponge/build.gradle.kts index 5f475f0f..2fc11308 100644 --- a/implementations/sponge/build.gradle.kts +++ b/implementations/sponge/build.gradle.kts @@ -11,7 +11,7 @@ plugins { id("org.spongepowered.gradle.ore") version "2.2.0" } -group = "de.bluecolored.bluemap.bukkit" +group = "de.bluecolored.bluemap" version = System.getProperty("bluemap.version") ?: "?" // set by BlueMapCore val javaTarget = 16 @@ -22,16 +22,12 @@ java { repositories { mavenCentral() - maven { - setUrl("https://libraries.minecraft.net") - } - maven { - setUrl("https://jitpack.io") - } + maven ("https://libraries.minecraft.net") + maven ("https://repo.bluecolored.de/releases") } dependencies { - api ("de.bluecolored.bluemap.common:BlueMapCommon"){ + api ("de.bluecolored.bluemap:BlueMapCommon"){ //exclude dependencies provided by sponge exclude( group = "com.google.guava", module = "guava" ) exclude( group = "com.google.code.gson", module = "gson" )