Skip to content

Commit

Permalink
Experimental Loom 1.8 port
Browse files Browse the repository at this point in the history
  • Loading branch information
thecatcore committed Sep 8, 2024
1 parent 31bec2c commit 4f25afd
Show file tree
Hide file tree
Showing 7 changed files with 75 additions and 36 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/publish-1.8-exp.yml
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Publish 1.7
on:
push:
branches:
- "dev/1.7"
- "dev/1.8"

jobs:
build:
Expand All @@ -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:
Expand Down
75 changes: 45 additions & 30 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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")

Expand Down Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion src/main/java/babric/BabricLoomPlugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
2 changes: 1 addition & 1 deletion test-mod/build.gradle
Original file line number Diff line number Diff line change
@@ -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'
}
Expand Down
2 changes: 1 addition & 1 deletion test-mod/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit 4f25afd

Please sign in to comment.