Commit Graph

1062 Commits

Author SHA1 Message Date
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
modmuss
71b7bea854 Support the Vineflower decompiler (#951) 2023-09-11 11:29:01 +01:00
modmuss
0a3779f41d Fix and test FabricApiExtension not supporting deprecated modules. (#950) 2023-09-09 22:37:02 +01:00
modmuss
e924faf44e Support reading "development" dependencies from the installer json. (#949)
* Support reading "development" dependencies from the installer json.

* Fix checkstyle and comment.
2023-09-09 22:36:51 +01:00
modmuss50
4caf4f831e Sort client only entries, fixes #940 2023-09-09 17:31:43 +01:00
modmuss
ae159dd126 Support Zip.getEntryCompression() setting (#936)
* Support Zip.getEntryCompression() setting

* Checkstyle

* Set for both the entry and ZOS
2023-09-09 13:21:43 +01:00
Luke Bemish
0dc2d67317 Add extension option to configure known INVOKEDYNAMIC BSMs (#945)
* Set up configuration for known indy bsms

* Make ignoredIndyBsms apply to service remapper

* Add groovy indy instruction to default known BSMs

* Address feedback

---------

Co-authored-by: modmuss <modmuss50@gmail.com>
2023-09-09 13:21:14 +01:00
modmuss
777a05457c Filter out the authentication error when starting in development (#948) 2023-09-09 13:18:14 +01:00
modmuss
3a090917ff Update to Gradle 8.3, and update all other deps. (#946)
* Update to Gradle 8.3, and update all other deps.

* Fix tests

* Lazily download decompilers, generate version constants to ensure they are synced between the build and Gradle.

Each decompiler has a configuration, this allows the version to be changed at a later date if needed.

* Fix typo :)

* Oh so many versions
2023-08-24 10:18:25 +01:00
modmuss50
fc9041a071 Start on Loom 1.4 2023-08-22 22:52:10 +01:00
modmuss
ffc786d3cd Fix gradle properties not being read from sub projects correctly. (#941)
Workaround gradle/gradle#23572
2023-08-10 16:46:25 +01:00
modmuss50
cfe72b933a Improve Kotlin version detection 2023-07-06 13:06:07 +01:00
modmuss50
63eaeed496 Add comment to ZipReprocessorUtil.appendZipEntry 2023-07-04 17:15:54 +01:00
modmuss
e49a051ea0 Fix included none mod libraries not being reproducible. (#923)
Closes #921
2023-07-04 17:13:48 +01:00
modmuss
6413a9312c Create RunConfigSettings with Gradle's object factory (#917)
* Create RunConfigSettings with Gradle's object factory

* Update src/main/java/net/fabricmc/loom/configuration/ide/RunConfigSettings.java

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>

* Update FabricAPI test

* Fix version

* Actually fix test

* Just make the minimal changes for now

---------

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-07-03 17:45:13 +01:00
modmuss
8ddf572a7c Client annotation processor configuration extendsFrom "annotationProcessor" (#918) 2023-07-02 21:39:06 +01:00
Juuz
28b8caf8f1 Make resolvable copies of configurations not consumable (#920)
This prevents info-level log warnings from mod remapping
from flooding the console.
2023-07-02 21:38:55 +01:00
modmuss50
8abe00a2b1 Fix gen sources without unpick 2023-06-27 20:54:34 +01:00
qwertyuioplkjhgfd
867793d8c3 Fix constructor mappings with layered mappings (#881)
* add AddConstructorMappingVisitor

* add constructor test

* Update src/main/java/net/fabricmc/loom/configuration/providers/mappings/utils/AddConstructorMappingVisitor.java

Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>

* apply requested changes

---------

Co-authored-by: qwertyuioplkjhgfd <qwertyuioplkjhgfd@users.noreply.github.com>
Co-authored-by: Juuz <6596629+Juuxel@users.noreply.github.com>
2023-06-27 14:16:40 +01:00
modmuss
f06bc6f735 Don't use arg files when running in a none ascii path (#916) 2023-06-27 14:06:48 +01:00
modmuss50
ffe4d52a12 Improve GenerateSourcesTask error message.
Closes https://github.com/FabricMC/fabric-loom/issues/914
2023-06-27 09:27:59 +01:00
modmuss
8b3b9b4aed Use intermediate provider name in cache key (#912) 2023-06-23 17:17:58 +01:00
modmuss
a2b541818c Apply AW as a TR AnalyzeVisitor (#892)
* Apply AW as a TR AnalyzeVisitor

* Update TR
2023-06-23 15:29:24 +01:00
modmuss50
2e31f8accb Use project specific cache dir in IncludedJarFactory.
Fixes https://github.com/FabricMC/fabric-loom/issues/911
2023-06-23 15:20:29 +01:00
modmuss
4e593fc5ae Rework how unpick and linenumber maps are applied (#907)
This should hopefully vastly improve debugging, and more imporantly not work in a consistant manner, making debugging issues a lot easier.

This commit contains an intergration test that uses a real debugger to check that breakpoints are being fired as expected.
2023-06-16 21:55:04 +01:00
modmuss
fe823ddb30 Add an internal API to allow 3rd party loom extensions to add library processors. (#906)
Stability of this API will not be guaranteed.
2023-06-15 20:14:52 +01:00
modmuss
590686fe1a Fix + test minecraft metadata downloading (#905) 2023-06-13 21:24:46 +01:00
TheKodeToad
ed5e4ac8dd Add Eclipse to ANSI supported IDEs - fixes #726 (#803) 2023-06-13 18:54:23 +01:00
modmuss
68c7eb21ba Enable reproducible builds by default (#899)
* Enable reproducible builds by default

* Review feedback
2023-06-13 18:31:25 +01:00
modmuss
856f0a4f33 Fix and validate kotlin version. (#903) 2023-06-13 18:31:02 +01:00
RedNesto
c557647e06 Fix invalid run config containing module names with spaces (#889) 2023-06-13 11:32:35 +01:00
Juuz
c62e96b0ae Fix non-main source set remap configurations publishing by default (#891)
Fixes #890.

Note that there is *no simple way* to enable publishing for remap
configurations created this way anymore as the publishing mode is read
during the `createRemapConfigurations` call.

This also changes the behaviour of `modClientX` configurations to no longer
publish. If that is wanted, I can add a `createRemapConfigurations()`
overload with some kind of configurability.
2023-06-13 11:25:43 +01:00
zml
3c487447fb Fix interface injection of inner class interfaces (#900)
Fixes #798
2023-06-13 11:20:46 +01:00
Luke Bemish
55c59ef97e Change zip entry ordering to place manifest first (#887)
* Change zip entry ordering to place manifest first

* Add handling for signature related files

* Update jar file hash

* Hopefully update correct file hashes this time

* Change jar hashes

* Add correct source hashes
2023-06-13 11:17:20 +01:00
modmuss
6e72125c0f Dont allow gradle to run game/genSources tasks in parallel (#901)
* Dont allow gradle to run game/genSources tasks in parallel

* Fix build
2023-06-13 11:16:56 +01:00
modmuss
af1f2497b5 Fix Kotlin 1.9.0 beta (#902)
* Fix Kotlin 1.9.0 beta

* Fix build
2023-06-13 11:16:14 +01:00
modmuss50
5c92ebd20b Loom 1.3 2023-06-13 11:10:08 +01:00
modmuss50
d1f35d4221 Fix publish 2023-05-05 13:30:54 +01:00
modmuss50
35e827566e Move jar merger to loom. (#882)
* Move jar merger to loom.

* Fix copyright years
2023-05-05 13:26:06 +01:00
modmuss50
92eed264ab Downloader improvements (#880)
* Fixes Integration tests locally often fail with download errors #878
* Hopefully fixes Loom is very slow to download files, often hanging for 10+ minutes #877
* "Forcing downloading" error should show much less often.
* Progress loggers get closed when download fails.
* Download assets uses a maxmium of 10 threads.
* Update tests to run against 8.3 nightlys.
* Fix windows arm tests as Mojang back-ported this change to all 1.19 versions.
2023-05-02 09:21:51 +01:00
modmuss50
dcbdbf0e30 Fix @Environment(EnvType.CLIENT) not being added to the named minecraft client only jar. 2023-04-23 14:15:45 +01:00
modmuss50
2e6a1a9128 Fix config roles. (#872) 2023-04-23 10:02:56 +01:00
Juuz
162b504d64 RunConfigSettings: Add support for fully custom main class (#871) 2023-04-23 09:22:41 +01: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
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