Commit Graph

1904 Commits

Author SHA1 Message Date
shedaniel
00254ea567 Don't remap Forge with classpath (?) 2023-11-22 15:02:33 +08:00
shedaniel
e3c5226da7 Merge remote-tracking branch 'FabricMC/exp/1.5' into exp/1.5
# Conflicts:
#	gradle/libs.versions.toml
#	src/main/java/net/fabricmc/loom/configuration/mods/ArtifactMetadata.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModConfigurationRemapper.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
2023-11-22 14:56:39 +08:00
modmuss
92da5adb48 Remove Minecraft libraries from the remap classpath. (#987) 2023-11-20 19:15:30 +00:00
modmuss
99380d98e5 Add Fabric-Loom-Mixin-Remap-Type manifest entry (#980) 2023-11-20 15:19:48 +00:00
Jason Penilla
f63a4f4d25 Skip remapping in AbstractRemapJarTasks when source and target namespaces match (#985)
* Skip remapping in `AbstractRemapJarTask`s when source and target namespaces match

The "remap jar" tasks have much more functionality than simply remapping jars at this point, such as adding namespace metadata, nesting jars, ensuring reproducible builds, etc. Some custom build logic may want to take advantage of these features without the full overhead of no-op remapping with TinyRemapper/Mercury.

* Add test
2023-11-20 10:35:46 +00:00
modmuss
846d16ce2d Update deps (#983) 2023-11-19 16:59:35 +00:00
shedaniel
4e805d2b9b Fix compile errors 2023-11-18 00:38:54 +08:00
shedaniel
ea1d58e106 Merge remote-tracking branch 'FabricMC/exp/1.5' into exp/1.5
# Conflicts:
#	build.gradle
#	gradle/libs.versions.toml
#	src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingConfiguration.java
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
2023-11-18 00:33:59 +08:00
Juuz
63b47619ec test-push: Remove test reporting 2023-11-17 18:26:44 +02:00
Juuz
229f073492 Improve log message for experimental platforms 2023-11-17 16:24:29 +02:00
Juuz
7c08c02796 ModPlatform: Introduce display name 2023-11-17 16:24:16 +02:00
Juuz
ad7eee6fa5 ModProcessor: Clean up with MappingOption.forNamespaces 2023-11-17 16:19:52 +02:00
Juuz
a11b828380 NeoForge support (#166)
* Initial plumbing for NeoForge support

* Fix checkstyle

* Add ModPlatform.id

* Use NeoForge-specific cache

* Use NeoForge-specific dependency configuration

This is only for the "(neo)forge" configuration exposed
as API. The other configurations remain the same.

* Add test for basic NeoForge 1.20.2 projects

* Implement hacky fast track for NeoForge field migration

In other works, we skip field migrating for now.

* Disable patched decompilation task on Neo

* Disable mixin AP for building on NeoForge

* Many changes related to NeoForge mappings and remapping

* Code style and related fixes

* McpExecutor: Add support for downloading deps via Gradle

Also adds support for downloading a file without a repo
for NeoForm functions.

* Fix wrong configurations being used on NeoForge

* Fix mixin version detection on NeoForge

* Rename MinecraftPatchedProvider jar paths on NeoForge

* Test NeoForge against a client-only MC jar

* Add DFU for codecs, support NeoForge run config templates

* Centralise userdev config reading, support missing SAS

* Set up Shadow for bundling DFU

* Use correct name for NeoForm in cache files

* RemapJarTask: Fix check using isForgeLike for Forge

* MojangMappingsMerger: Complete and reorder mappings

* Fix SRG being used on NeoForge

* Fix SRG being used on NeoForge for ATs

* Use client pipeline for merged to avoid patch issues on Neo

* Update to architectury-loom-runtime 2.0

* Fix Minecraft jar name on Neo

* Fix MojangMappingsMerger having incomplete names

* Fix NeoForge mod dependency remapping using wrong mappings

* Quiet down MojangMappingsMerger

* Fix (Neo)Forge builtin coremods not being remapped

Fixes #146.

* Disable deprecated data generation API on NeoForge

* Use release version of the forge runtime

* Revert "Set up Shadow for bundling DFU"

This reverts commit 2bb8166744.

* Make NeoForge Field Migration work

* NeoForge shouldn't try to get datagen mods

* Fix checkstyle

* Remove mojang maven

* Split Forge and NeoForge extensions

* SimpleNeoForgeTest: Bump Neo version and fix Yarn version

* Remove resolved TODOs

* Re-enable joined NeoForm pipeline

* MPP: Rename srg -> intermediate jars

* Reintroduce namespace filtering for mapping trees

Should be a simple optimisation to avoid reading an
additional ns.

* ForgeRunTemplateTest: Fix code format

* Adapt SrgMerger into ForgeMappingsMerger (#169)

* Fix crash with NeoForge ext creation

* Adapt SrgMerger into ForgeMappingsMerger

* Update tiny-remapper

* Fix spotless

* Resolve reviews

* Fix checkstyle

* Remap ASMAPI.redirectFieldToMethod (#171)

* Remap ASMAPI.redirectFieldToMethod

* Move lastClassName outside the if

* Fix missing template variables in tests using forge/simple

* Add Java version to forge/simple test variables

* Disable naming service dependency on Neo

* Fix changing patch version not affecting mapped game jars

Fixes #167.

* Rename configuration: neoforge -> neoForge

---------

Co-authored-by: shedaniel <daniel@shedaniel.me>
2023-11-17 16:04:22 +02:00
shedaniel
e3b51e9e97 Fix Field Migration (#168)
* Fix #162

* Refactor some field migrator code
2023-11-13 14:52:02 +08:00
shedaniel
683a866284 Fix dependencies not being remapped with srg 2023-11-12 22:02:42 +08:00
modmuss50
7c3bec39cb Create remap configurations for automatic data generation configuration.
Closes #972
2023-11-09 22:33:17 +00:00
modmuss50
09a4ffb803 Disable run config tasks when removed from loom.runs
It's not possible to remove a gradle task once registered.
2023-11-09 22:26:38 +00:00
modmuss
afe3d8ad89 Fix tests on newer Gradle versions (#979)
* Test against Gradle 8.5-rc1

* Test fixes for 8.5/8.6

* Spotless
2023-11-09 13:39:17 +00:00
modmuss
83ab524639 Update MIO to 0.5.0 (#974)
* Update MIO to 0.5.0

* Beta 3 + fix
2023-11-06 19:16:44 +00:00
modmuss
ee0e5df98c Fix server only jars. (#968)
* Actally fix server only jars.

* Cleanup the single jar names
2023-11-06 10:40:49 +00:00
Juuz
731f0728da Support mixins without refmaps in mod dependencies (#976)
* Support mixins without refmaps in mod dependencies

* Fix review concerns

* Add test for MixinDetector

* Change warning to a RuntimeException

* FabricAPITest: Test building without mixin AP

* Deal with Eclipse being stuck in the 2010s and not supporting basic Groovy syntax

* Auto-fix Groovy code format

* Fix FabricAPITest not running

* Fix code style
2023-11-06 10:40:24 +00:00
modmuss
fd34697015 Raspberry Pi support (#973)
* Raspberry Pi support

* Reduce log level
2023-11-02 21:51:57 +00:00
modmuss50
a60928ab28 Start on 1.5 2023-11-02 19:21:52 +00:00
Juuz
b82a5bcc04 Move NeoForge integration test to a neoforge subpackage 2023-10-31 18:24:13 +02:00
Juuz
8403d42403 Use version catalog for Forge support dependencies 2023-10-31 00:29:25 +02:00
Juuz
95dfd29ac9 Remove unused lorenz-asm dependency 2023-10-31 00:20:51 +02:00
shedaniel
31147018be Publish 1.4 beta builds 2023-10-24 11:23:40 +08:00
shedaniel
48c39617c5 Support newer versions of MinecraftForge 1.20.2. (#164)
* Support newer versions of MinecraftForge 1.20.2.

* Add directly to settings.getEnvironmentVariables()
2023-10-24 11:22:38 +08:00
shedaniel
c8599e7f66 Merge remote-tracking branch 'upstream/dev/1.4' into dev/1.4 2023-10-24 11:19:58 +08:00
modmuss
7106441298 Fix extending the client/datagen compile/runtime classpath from main (#967) 2023-10-22 13:52:17 +01:00
Juuz
65920d3958 Merge branch 'dev/1.3' into exp/1.4 2023-10-20 14:22:43 +03:00
Juuz
b6354a06ef Update more generated system properties for Quilt Loader 2023-10-20 14:21:52 +03:00
modmuss50
39841d8dc0 Revert "Fix server only jar, closes #966"
This reverts commit eb0c45956b.
2023-10-16 18:57:31 +01:00
modmuss50
eb0c45956b Fix server only jar, closes #966 2023-10-16 16:20:43 +01:00
modmuss
a6534adeaf Fix runtime crash on Intel Mac's when LWJGL has been updated. Closes #963 (#964) 2023-10-16 16:20:43 +01:00
modmuss
8c7c14e922 Add fabricApi.configureDataGeneration API/DSL to help with setting up data generation. (#960)
* Add fabricApi.configureDataGeneration API/DSL to help with setting up datageneration.

* Clean + add option to not add to resources

* Dont create new task
2023-10-16 16:20:43 +01:00
haykam821
78a903d2c9 Sort extra manifest attributes (#958) 2023-10-16 16:20:43 +01:00
modmuss
46e27ce1ba Rename .jnilib natives to .dylib (#956) 2023-10-16 16:20:43 +01:00
shedaniel
2df02d16c6 Fix spotless 2023-10-13 18:09:04 +08:00
shedaniel
91388d507b Add NeoForge test 2023-10-12 22:29:07 +08:00
shedaniel
4af46aa67c Merge remote-tracking branch 'upstream/exp/1.4' into exp/1.4
# Conflicts:
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/ProcessedNamedMinecraftProvider.java
2023-10-12 22:09:40 +08:00
embeddedt
b7c80133ce Use hash of cache value as the JAR name for processed Minecraft JARs (#944)
* Use hash of cache value as the JAR name for processed Minecraft JARs

In basic testing, this cuts down the number of JARs to just one
provided the same AWs are used on all subprojects

* Fix checkstyle

* Remove redundant code

* Fix mod javadoc caching, and fixup tests.

* Hopefully fix ModJavadocTest on windows.

---------

Co-authored-by: modmuss <modmuss50@gmail.com>
2023-09-25 22:44:31 +01:00
shedaniel
352294adb7 Fix project name 2023-09-23 16:43:33 +08:00
shedaniel
f9f275d377 Fix compilation errors 2023-09-23 16:38:09 +08:00
shedaniel
649bbcaf55 Merge remote-tracking branch 'upstream/exp/1.4' into exp/1.4
# Conflicts:
#	.gitignore
#	build.gradle
#	settings.gradle
#	src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
#	src/main/java/net/fabricmc/loom/configuration/LoomConfigurations.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/task/service/JarManifestService.java
#	src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
2023-09-23 16:11:29 +08:00
shedaniel
54f252f6b5 Remove beta warning 1.3 2023-09-23 15:59:30 +08:00
shedaniel
ec6b2b0392 Merge remote-tracking branch 'origin/dev/1.2' into dev/1.3 2023-09-23 15:53:45 +08:00
modmuss
bd09af1783 Downloader: Protect against partially downloaded files. (#954)
* Downloader: Protect against partially downloaded files.

* Cleanup

* Add 1 minute timeout.

* Checkstyle
2023-09-22 18:55:44 +01:00
modmuss50
0b36121357 Add Fabric-Jar-Type to jar manifest.
Either 'classes' or 'sources', the idea is mod distribution platforms can check that sources jars are not uploaded accidentally.

Closes #939
2023-09-11 11:47:19 +01:00
modmuss
1a4f76584f Fix reproducable zips across timezones. (#952)
* Create test for zip timezones

* Fix :)

* Update ReproducibleBuildTest

* Update windows hashes
2023-09-11 11:31:10 +01:00