Commit Graph

1745 Commits

Author SHA1 Message Date
Juuz
89fd6ff6c9 Merge 1.2, part 3 2023-04-23 10:58:33 +03:00
Juuz
e162f9e56d Fix compilation errors 2023-04-23 10:54:18 +03:00
Juuz
27cfb8c033 Merge 1.2, part 2 2023-04-23 10:35:54 +03:00
Juuz
4b2090f6fe Merge 1.2, part 1 2023-04-23 10:30:30 +03:00
modmuss50
743ba4de66 Support 23w16a & Windows ARM64, and fix regression when adding ARM support on older versions. (#870)
* Support 23w16a & Windows ARM64, and fix regression when adding ARM support on older versions.

* Fix build
2023-04-20 22:42:44 +01:00
Juuz
8709c9f0d7 Update forge runtime to 1.1.8 to fix crash 2023-04-21 00:20:50 +03:00
Juuz
5a3864ac8d Update forge runtime to 1.1.6 2023-04-20 22:29:25 +03:00
Juuz
0afa1ee8ba Update forge runtime to 1.1.5 2023-04-20 22:03:30 +03:00
Juuz
e40c2ace57 Merge remote-tracking branch 'upstream/dev/1.1' into dev/1.1 2023-04-20 22:02:46 +03:00
modmuss50
da9f601c2f Set configuration roles + cleanup setup classes. (#868) 2023-04-20 08:45:18 +01:00
modmuss50
b35753476c Fix applying mods to server libraries. 2023-04-18 14:27:54 +01:00
modmuss50
89d09600c5 Rewrite Kotlin metadata remapping to support the latest kotlin metadata library. (#866) 2023-04-17 23:46:45 +01:00
modmuss50
0d2152444f Allow decompilers to set a smaller min heap size. 2023-04-17 15:43:07 +01:00
modmuss50
1015ef09ff Update to Gradle 8.1 (#864)
* Update to Gradle 8.1

* Fix build, run RunConfigTest against all gradle versions.

* Fix build
2023-04-17 13:49:49 +01:00
modmuss50
c16303b9b2 Rewrite Minecraft Library handling. (#857)
This PR rewrites the Minecraft library processing with a more structured and testable set of "library processors". The old code is a mess of special cases and work arounds for various issues on various platforms.

Previously this was only really used on lesser used platforms/versions so wasnt a major issue if things broke, however current shipping Minecraft versions (1.19.4) use an LWJGL version that does not work well on Java versions new than 19. With this change LWJGL is upgraded when using Java 19 or later.

Upgraded libraries are also now only placed on the runtime classpath, this prevents you from using newer library features in your mod.
2023-04-17 00:07:52 +01:00
modmuss50
11f69ccbf0 Fix run tasks in Gradle 8.1 (#863) 2023-04-16 23:23:44 +01:00
modmuss50
95a260d923 Test against Gradle 8.1 and 8.2 nightly. (#846) 2023-04-16 17:19:21 +01:00
modmuss50
9e7458f76a 1.2 2023-04-16 14:46:50 +01:00
Juuz
be2818180f Fix inconsistent Forge library transformation hash (#128)
* SrgMerger: Add mergeSrg overload returning the raw MemoryMappingTree

* Rewrite ForgeLibrariesProvider for consistent transformed output paths

Now it also only transforms fmlloader instead of pointlessly copying
around unrelated files and looking inside them. We know where we can find
the files we need to patch.

Fixes #127 which is caused by the DLI config and runtime fmlloader jar
paths being different due to their transform ID hashes differing.

* Use a local Maven repo instead

* ForgeLibrariesProvider: Adjust comment
2023-04-16 12:14:09 +03:00
Juuz
9534e9a9f5 ForgeTest: Add 1.19.4 to list of tested versions 2023-04-16 00:32:54 +03:00
Juuz
a0f189feb6 Merge remote-tracking branch 'upstream/dev/1.1' into dev/1.1 2023-04-14 17:56:41 +03:00
modmuss50
4ff9f726e1 Work around Gradle 8.1 bug causing Files.readString(Path) to call path.toFile(). 2023-04-12 19:56:01 +01:00
Juuz
5b1c18b3c1 Fix code format
Also replaced some Groovy 3 syntax with Groovy 2 syntax because
Eclipse is bad and outdated as usual.
2023-04-03 18:00:31 +03:00
Juuz
b7b5d5023e Merge remote-tracking branch 'upstream/dev/1.1' into dev/1.1
# Conflicts:
#	build.gradle
#	src/test/groovy/net/fabricmc/loom/test/integration/FabricAPITest.groovy
#	src/test/groovy/net/fabricmc/loom/test/unit/kotlin/KotlinRemapperClassloaderTest.groovy
#	src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
#	src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/MojangMappingLayerTest.groovy
#	src/test/resources/projects/dependencyResolutionManagement/settings.gradle
2023-04-03 17:43:30 +03:00
Juuz
7c05f2d23f FabricModJsonFactory.containsMod: Fix infinite recursion on Quilt 2023-04-03 17:38:24 +03:00
modmuss50
75a98a5038 Only force re-downloads when manually refreshing deps (#851) 2023-04-02 15:40:09 +01:00
Juuz
f4fb29e26c Remove beta notice 2023-04-01 16:50:13 +03:00
modmuss50
ad7d4e75b9 Reformat groovy code (#850)
* Reformat groovy

* Also format gradle files

* Groovy import order
2023-03-31 10:22:58 +01:00
Juuz
91da4bfe57 ModsTomlTest: Suppress GStringExpressionWithinString
It's intentional in the code in question - it really is a Groovy template
used via Gradle's ProcessResources task.
2023-03-18 16:11:35 +02:00
Juuz
85df5781d2 ErroringModMetadataFile: Fix code format 2023-03-17 20:05:21 +02:00
Juuz
c763db9287 AccessWidenerUtils: Fix compilation 2023-03-17 19:04:25 +02:00
Juuz
ca40dc4589 Merge remote-tracking branch 'upstream/dev/1.1' into dev/1.1
# Conflicts:
#	src/main/java/net/fabricmc/loom/configuration/mods/AccessWidenerUtils.java
2023-03-17 19:02:31 +02:00
Juuz
86c08c580f ModMetadataFiles: Only log a warning with broken mods.toml 2023-03-17 19:01:25 +02:00
Juuz
e37fd9fed2 ModsToml: Improve error message for invalid files 2023-03-17 18:48:29 +02:00
marcus8448
b506a6280a fix: remapping of jars without a fabric.mod.json (#840)
* fix: remapping of jars without a fabric.mod.json
(jars that have `Fabric-Loom-Remap: true`)

* fix: checkstyle
2023-03-10 19:30:18 +00:00
Juuz
3880902438 Resolve runtime files for forgeRuntimeLibrary 2023-03-08 20:51:30 +02:00
Juuz
5ccb17ca6f Add more features to DependencyDownloader 2023-03-08 20:51:29 +02:00
Juuz
ef42465378 Deprecate Forge data generation API (#117)
* Deprecate RunConfigSettings.data()

* Leave RCS.data() intact, only apply hardcoded game args if old api is used
2023-02-28 19:34:18 +02:00
Juuz
64373aa8ce Fix code style 2023-02-19 03:30:49 +02:00
Juuz
7c83033d94 Make access transformer spec hash code consistent
Fixes #119.
2023-02-19 03:16:56 +02:00
Juuz
674572f1df Add actual mods.toml metadata parsing 2023-02-19 02:36:11 +02:00
Juuz
aa5c77a123 ProcessedNamedMinecraftProvider: Fix missing jar prefix in root project jar
This fixes running a Forge root project when jar processors are enabled.
2023-02-19 01:58:22 +02:00
Juuz
c3dded0649 Merge remote-tracking branch 'upstream/dev/1.1' into dev/1.1
# Conflicts:
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/SingleJarMinecraftProvider.java
2023-02-19 01:37:05 +02:00
Caoimhe
83b968df64 Warn when using clientOnlyMinecraftJar() on Minecraft versions newer than 1.3 (#824)
Single JARs break things like source generation on newer versions and
pretty much have no difference there, so we should log a warning,
similar to what we do for merged JARs not being supported on 1.2.5 or
older.
2023-02-18 21:04:17 +00:00
modmuss50
4a11cbae07 Test against Gradle 8 (#828)
* Test against Gradle 8

* Update
2023-02-18 21:04:17 +00:00
modmuss50
ab114b5d7a Fallback to HTTP 1.1 on the last retry when downloading. (#829) 2023-02-18 21:04:17 +00:00
Juuz
b19184751b Add toString to ModSettings and RemapConfigurationSettings (#831)
This helps a bit with debugging code that uses them as you don't
have to open the object to see which mod/remap configuration we're
investigating.
2023-02-18 21:04:17 +00:00
Juuz
978f9dcb0f Clean up SRG mapping trees and TinyRemapperHelper (#118)
- Instead of a TinyMappingsService holding two files (normal + srg),
  each file gets its own tiny mappings service.
- Allow using SRG mappings in MinecraftJarProcessor impls
  via ProcessorContext.
- Reverts most of our extensive changes to TinyRemapperHelper, they're not
  necessary anymore.
- Restores a missing mapping namespace check to
  TinyRemapperHelper.getTinyRemapper.
2023-02-18 20:39:00 +02:00
Juuz
d28db4ca3a Remove accidental leftover RunConfigSettings.envVariables map
Not a breaking change since it wasn't a documented/intentional API
and didn't do anything.
2023-02-18 19:32:19 +02:00
Juuz
b8a2828582 Tweak publications to match upstream more closely
- Removes one duplicate publication (plugin), it already exists in the
  gradle plugin development plugin.
- Removed some minor differences in the snapshot publications to match
  upstream to reduce merge conflicts.
2023-02-18 18:22:21 +02:00