diff --git a/.github/workflows/publish-1.8-exp.yml b/.github/workflows/publish-1.8-exp.yml new file mode 100644 index 0000000..5a8d3be --- /dev/null +++ b/.github/workflows/publish-1.8-exp.yml @@ -0,0 +1,24 @@ +name: Publish 1.7 + +on: + push: + branches: + - "exp/1.8" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: "17" + - uses: gradle/wrapper-validation-action@v3 + - run: cd test-mod && ./gradlew build + - run: ./gradlew build publish --stacktrace + env: + MAVEN_URL: ${{ secrets.MAVEN_URL }} + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + EXPERIMENTAL: true \ No newline at end of file diff --git a/.github/workflows/publish-1.7.yml b/.github/workflows/publish-1.8.yml similarity index 88% rename from .github/workflows/publish-1.7.yml rename to .github/workflows/publish-1.8.yml index 750223b..598374b 100644 --- a/.github/workflows/publish-1.7.yml +++ b/.github/workflows/publish-1.8.yml @@ -3,7 +3,7 @@ name: Publish 1.7 on: push: branches: - - "dev/1.7" + - "dev/1.8" jobs: build: @@ -14,7 +14,7 @@ jobs: with: distribution: "temurin" java-version: "17" - - uses: gradle/wrapper-validation-action@v2 + - uses: gradle/wrapper-validation-action@v3 - run: cd test-mod && ./gradlew build - run: ./gradlew build publish --stacktrace env: diff --git a/build.gradle b/build.gradle index 2086f34..3502714 100644 --- a/build.gradle +++ b/build.gradle @@ -11,14 +11,27 @@ def baseVersion = "1.7" def ENV = System.getenv() +def loomVersion = baseVersion + "-SNAPSHOT" + +if (ENV.EXPERIMENTAL) { + loomVersion = "1.8.0-alpha.16" +} + if (ENV.containsKey("GITHUB_RUN_NUMBER")) { - version = baseVersion + "." + ENV["GITHUB_RUN_NUMBER"] + if (ENV.EXPERIMENTAL) { + version = baseVersion + ".0-alpha." + ENV["GITHUB_RUN_NUMBER"] + } else { + version = baseVersion + "." + ENV["GITHUB_RUN_NUMBER"] + } } else { version= "${baseVersion}.local" } repositories { - maven { url = "https://maven.fabricmc.net/" } + maven { + name = "FabricMC" + url = "https://maven.fabricmc.net/" + } maven { name = 'Babric' url = 'https://maven.glass-launcher.net/babric' @@ -29,7 +42,7 @@ repositories { dependencies { implementation(gradleApi()) - implementation("net.fabricmc:fabric-loom:${baseVersion}-SNAPSHOT") + implementation("net.fabricmc:fabric-loom:${loomVersion}") compileOnly("net.fabricmc:mapping-io:0.6.1") api("babric:stitch:0.6.2-babric.1") @@ -78,34 +91,36 @@ import org.w3c.dom.Node publishing { publications { - // Also publish a snapshot so people can use the latest version if they wish - snapshot(MavenPublication) { publication -> - groupId project.group - artifactId project.base.archivesName.get() - version baseVersion + '-SNAPSHOT' - - from components.java - } + if (!ENV.containsKey("EXPERIMENTAL") && !ENV.EXPERIMENTAL) { + // Also publish a snapshot so people can use the latest version if they wish + snapshot(MavenPublication) { publication -> + groupId project.group + artifactId project.base.archivesName.get() + version baseVersion + '-SNAPSHOT' + + from components.java + } - // Manually crate the plugin marker for snapshot versions - snapshotPlugin(MavenPublication) { publication -> - groupId 'babric-loom-extension' - artifactId 'babric-loom-extension.gradle.plugin' - version baseVersion + '-SNAPSHOT' - - pom.withXml({ - // Based off org.gradle.plugin.devel.plugins.MavenPluginPublishPlugin - Element root = asElement() - Document document = root.getOwnerDocument() - Node dependencies = root.appendChild(document.createElement('dependencies')) - Node dependency = dependencies.appendChild(document.createElement('dependency')) - Node groupId = dependency.appendChild(document.createElement('groupId')) - groupId.setTextContent('babric') - Node artifactId = dependency.appendChild(document.createElement('artifactId')) - artifactId.setTextContent('babric-loom-extension') - Node version = dependency.appendChild(document.createElement('version')) - version.setTextContent(baseVersion + '-SNAPSHOT') - }) + // Manually crate the plugin marker for snapshot versions + snapshotPlugin(MavenPublication) { publication -> + groupId 'babric-loom-extension' + artifactId 'babric-loom-extension.gradle.plugin' + version baseVersion + '-SNAPSHOT' + + pom.withXml({ + // Based off org.gradle.plugin.devel.plugins.MavenPluginPublishPlugin + Element root = asElement() + Document document = root.getOwnerDocument() + Node dependencies = root.appendChild(document.createElement('dependencies')) + Node dependency = dependencies.appendChild(document.createElement('dependency')) + Node groupId = dependency.appendChild(document.createElement('groupId')) + groupId.setTextContent('babric') + Node artifactId = dependency.appendChild(document.createElement('artifactId')) + artifactId.setTextContent('babric-loom-extension') + Node version = dependency.appendChild(document.createElement('version')) + version.setTextContent(baseVersion + '-SNAPSHOT') + }) + } } } repositories { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a383844..b1930eb 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Mar 21 21:38:16 CET 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/babric/BabricLoomPlugin.java b/src/main/java/babric/BabricLoomPlugin.java index a6bde6d..51b8fa1 100644 --- a/src/main/java/babric/BabricLoomPlugin.java +++ b/src/main/java/babric/BabricLoomPlugin.java @@ -38,7 +38,7 @@ private void applyProject(Project project) { libraryProcessors.add((platform, libraryContext) -> new GambacLibraryProcessor(platform, libraryContext, extension, project, babricExtension)); - extension.getVersionsManifests().add("https://babric.github.io/manifest-polyfill/version_manifest_v2.json", -10); + extension.getVersionsManifests().add("babric-manifest", "https://babric.github.io/manifest-polyfill/version_manifest_v2.json", -10); extension.setIntermediateMappingsProvider(BabricIntermediaryProvider.class, provider -> { provider.getIntermediaryUrl().set("https://maven.glass-launcher.net/babric/babric/intermediary/%1$s/intermediary-%1$s-v2.jar"); diff --git a/test-mod/build.gradle b/test-mod/build.gradle index 45e0b4d..0c12869 100644 --- a/test-mod/build.gradle +++ b/test-mod/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version "1.7-SNAPSHOT" + id 'fabric-loom' version "1.8.0-alpha.16" id 'maven-publish' id 'babric-loom-extension' } diff --git a/test-mod/gradle/wrapper/gradle-wrapper.properties b/test-mod/gradle/wrapper/gradle-wrapper.properties index a441313..9355b41 100644 --- a/test-mod/gradle/wrapper/gradle-wrapper.properties +++ b/test-mod/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME