Update to Loom 0.10

This commit is contained in:
shedaniel
2021-12-09 01:40:05 +08:00
parent 0a64ecda1d
commit 5e338b40da
13 changed files with 133 additions and 83 deletions

View File

@@ -23,11 +23,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 8
distribution: 'adopt'
java-version: 17
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
@@ -66,7 +66,7 @@ jobs:
name: "Build"
strategy:
matrix:
java: [ 8, 15 ] # Build on Java 8 (version shipped with MC 1.16) and Java 15 (iirc the latest version supported by both loaders on 1.16)
java: [ 17 ] # Build on Java 17
runs-on: ubuntu-20.04
if: |
!contains(github.event.pull_request.title, '[ci skip]')
@@ -77,7 +77,7 @@ jobs:
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'adopt'
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
@@ -114,16 +114,16 @@ jobs:
rm -f $HOME/.gradle/caches/journal-1/file-access.bin
- name: Setting mod version
if: ${{ matrix.java == '8' }} # Only upload Java 8 artifacts for MC 1.16
if: ${{ matrix.java == '17' }}
run: |
cat $GITHUB_WORKSPACE/gradle.properties | grep ^archives_base_name= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^minecraft_version= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^base_version= >> $GITHUB_ENV
- name: Create package name
if: ${{ matrix.java == '8' }} # Only upload Java 8 artifacts for MC 1.16
if: ${{ matrix.java == '17' }}
run: echo "package_name=[$minecraft_version] $archives_base_name-$base_version-SNAPSHOT.PR${{ github.event.number }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v2
if: ${{ matrix.java == '8' }} # Only upload Java 8 artifacts for MC 1.16
if: ${{ matrix.java == '17' }}
with:
name: ${{ env.package_name }}
path: |

View File

@@ -33,11 +33,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 8
distribution: 'adopt'
java-version: 17
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
@@ -77,7 +77,7 @@ jobs:
name: "Build"
strategy:
matrix:
java: [ 8, 15 ] # Build on Java 8 (version shipped with MC 1.16) and Java 15 (iirc the latest version supported by both loaders on 1.16)
java: [ 17 ]
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[ci skip]')
@@ -88,7 +88,7 @@ jobs:
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'adopt'
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
@@ -125,16 +125,16 @@ jobs:
rm -f $HOME/.gradle/caches/journal-1/file-access.bin
- name: Setting mod version
if: ${{ matrix.java == '8' }} # Only upload Java 8 artifacts for MC 1.16
if: ${{ matrix.java == '17' }}
run: |
cat $GITHUB_WORKSPACE/gradle.properties | grep ^archives_base_name= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^minecraft_version= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^base_version= >> $GITHUB_ENV
- name: Create package name
if: ${{ matrix.java == '8' }} # Only upload Java 8 artifacts for MC 1.16
if: ${{ matrix.java == '17' }}
run: echo "package_name=[$minecraft_version] $archives_base_name-$base_version.${{ github.run_number }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v2
if: ${{ matrix.java == '8' }} # Only upload Java 8 artifacts for MC 1.16
if: ${{ matrix.java == '17' }}
with:
name: ${{ env.package_name }}
path: |
@@ -156,11 +156,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Set up JDK 8
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 8
distribution: 'adopt'
java-version: 17
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2

View File

@@ -1,6 +1,6 @@
plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "0.7.3-SNAPSHOT" apply false
id "dev.architectury.loom" version "0.10.0-SNAPSHOT" apply false
id "org.cadixdev.licenser" version "0.6.1"
id "com.matthewprenger.cursegradle" version "1.4.0" apply false
id "maven-publish"
@@ -15,7 +15,11 @@ subprojects {
loom {
silentMojangMappingsLicense()
useFabricMixin = true
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
mappings loom.officialMojangMappings()
}
}
@@ -100,6 +104,10 @@ allprojects {
return changes.toString()
}
}
java {
withSourcesJar()
}
}
task licenseFormatAll

View File

@@ -3,8 +3,6 @@ loom {
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
mappings minecraft.officialMojangMappings()
// We depend on fabric loader here to use the fabric @Environment annotations
// Do NOT use other classes from fabric loader
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
@@ -19,12 +17,7 @@ publishing {
publications {
mavenCommon(MavenPublication) {
artifactId = rootProject.archivesBaseName
artifact(file("${project.buildDir}/libs/${project.archivesBaseName}-${project.version}.jar")) {
builtBy build
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
from components.java
}
}

View File

@@ -1,7 +0,0 @@
{
"_comment": "This file is here to make fabric loader load this on the Knot classloader.",
"schemaVersion": 1,
"id": "architectury-common",
"version": "0.0.1",
"accessWidener": "architectury.accessWidener"
}

View File

@@ -1,5 +1,5 @@
plugins {
id "com.github.johnrengelman.shadow" version "5.0.0"
id "com.github.johnrengelman.shadow" version "7.0.0"
id "com.matthewprenger.cursegradle"
}
@@ -7,6 +7,11 @@ loom {
accessWidener = file("src/main/resources/architectury.accessWidener")
}
architectury {
platformSetupLoomIde()
fabric()
}
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
@@ -15,18 +20,11 @@ configurations {
developmentFabric.extendsFrom common
}
architectury {
platformSetupLoomIde()
fabric()
}
repositories {
maven { url "https://maven.terraformersmc.com/releases/" }
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
mappings minecraft.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}"
modCompileOnly "com.terraformersmc:modmenu:${rootProject.mod_menu_version}"
@@ -50,23 +48,42 @@ shadowJar {
relocate "net.jodah.typetools", "me.shedaniel.architectury.shadowed.impl.net.jodah.typetools"
configurations = [project.configurations.shadowCommon]
classifier "shadow"
classifier "dev-shadow"
}
remapJar {
dependsOn(shadowJar)
input.set(shadowJar.archiveFile)
archiveClassifier = "fabric"
input.set shadowJar.archiveFile
dependsOn shadowJar
classifier null
}
jar {
classifier "dev"
}
sourcesJar {
afterEvaluate {
[":common"].forEach {
def depSources = project(it).sourcesJar
dependsOn depSources
from(depSources.archiveFile.map { zipTree(it) }) {
exclude "architectury.accessWidener"
}
}
}
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
publishing {
publications {
mavenFabric(MavenPublication) {
artifactId = rootProject.archivesBaseName + "-fabric"
artifact(remapJar.archivePath) {
builtBy build
classifier null
}
from components.java
}
}

View File

@@ -1,10 +1,17 @@
plugins {
id "com.github.johnrengelman.shadow" version "5.0.0"
id "com.github.johnrengelman.shadow" version "7.0.0"
id "com.matthewprenger.cursegradle"
}
loom {
mixinConfigs = ["architectury.mixins.json", "architectury-common.mixins.json"]
forge {
mixinConfigs "architectury.mixins.json", "architectury-common.mixins.json"
}
}
architectury {
platformSetupLoomIde()
forge()
}
configurations {
@@ -15,14 +22,7 @@ configurations {
developmentForge.extendsFrom common
}
architectury {
platformSetupLoomIde()
forge()
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
mappings loom.officialMojangMappings()
forge "net.minecraftforge:forge:${rootProject.architectury.minecraft}-${rootProject.forge_version}"
implementation "net.jodah:typetools:0.6.2"
shadowCommon "net.jodah:typetools:0.6.2"
@@ -45,23 +45,42 @@ shadowJar {
exclude "architectury.common.json"
configurations = [project.configurations.shadowCommon]
classifier "shadow"
classifier "dev-shadow"
}
remapJar {
dependsOn(shadowJar)
input.set(shadowJar.archivePath)
archiveClassifier = "forge"
input.set shadowJar.archiveFile
dependsOn shadowJar
classifier null
}
jar {
classifier "dev"
}
sourcesJar {
afterEvaluate {
[":common"].forEach {
def depSources = project(it).sourcesJar
dependsOn depSources
from(depSources.archiveFile.map { zipTree(it) }) {
exclude "architectury.accessWidener"
}
}
}
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
publishing {
publications {
mavenForge(MavenPublication) {
artifactId = rootProject.archivesBaseName + "-forge"
artifact(remapJar.archivePath) {
builtBy build
classifier null
}
from components.java
}
}

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -7,6 +7,10 @@ pluginManagement {
}
}
if (JavaVersion.current().ordinal() + 1 < 16) {
throw new IllegalStateException("Please run gradle with Java 16+!")
}
include("common")
include("fabric")
include("forge")

View File

@@ -1,6 +1,4 @@
dependencies {
minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
mappings loom.officialMojangMappings()
// We depend on fabric loader here to use the fabric @Environment annotations
// Do NOT use other classes from fabric loader
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"

View File

@@ -19,6 +19,7 @@
package me.shedaniel.architectury.test.particle;
import me.shedaniel.architectury.event.events.client.ClientLifecycleEvent;
import me.shedaniel.architectury.platform.Platform;
import me.shedaniel.architectury.registry.DeferredRegister;
import me.shedaniel.architectury.registry.ParticleProviderRegistry;
@@ -38,7 +39,10 @@ public class TestParticles {
public static void initialize() {
PARTICLE_TYPES.register();
if (Platform.getEnvironment() == Env.CLIENT)
ParticleProviderRegistry.register(TEST_PARTICLE.get(), HeartParticle.Provider::new);
if (Platform.getEnvironment() == Env.CLIENT) {
ClientLifecycleEvent.CLIENT_SETUP.register(instance -> {
ParticleProviderRegistry.register(TEST_PARTICLE.get(), HeartParticle.Provider::new);
});
}
}
}

View File

@@ -1,5 +1,5 @@
plugins {
id "com.github.johnrengelman.shadow" version "5.0.0"
id "com.github.johnrengelman.shadow" version "7.0.0"
id "com.matthewprenger.cursegradle"
}
@@ -8,9 +8,14 @@ architectury {
fabric()
}
configurations {
common
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentFabric.extendsFrom common
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}"
mappings loom.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}"

View File

@@ -1,13 +1,17 @@
plugins {
id "com.github.johnrengelman.shadow" version "5.0.0"
id "com.github.johnrengelman.shadow" version "7.0.0"
id "com.matthewprenger.cursegradle"
}
loom {
mixinConfig "architectury.mixins.json"
forge {
mixinConfig "architectury.mixins.json"
localMods {
it.add(project(":forge").sourceSets.main)
localMods {
forge {
it.add(project(":forge").sourceSets.main)
}
}
}
}
@@ -16,9 +20,14 @@ architectury {
forge()
}
configurations {
common
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
developmentForge.extendsFrom common
}
dependencies {
minecraft "com.mojang:minecraft:${gradle.rootProject.architectury.minecraft}"
mappings loom.officialMojangMappings()
forge "net.minecraftforge:forge:${gradle.rootProject.architectury.minecraft}-${rootProject.forge_version}"
implementation project(path: ":forge", configuration: "namedElements")