Commit Graph

800 Commits (98b87969cb019f4577b0beb4af4591f1fc7e2284)

Author SHA1 Message Date
modmuss50 98b87969cb Don't try to update LWJGL 2 to 3 on arm machines. 2022-01-26 13:52:36 +00:00
modmuss50 d4be1e7bdc
Fix issues resolving libraries and natives for old mc versions down to 1.3.2. (#584)
* Fix issues resolving libraries and natives for old mc versions.

Add a simple integration tests.

Fixes #583 and #582

* Test 1.6.4 and 1.3.2
2022-01-25 15:37:03 +00:00
modmuss50 316f9d9508 Update java-objc-bridge for arm64 MacOS support. Fixes the narrator. 2022-01-24 19:48:25 +00:00
Lovely_xianxian 46c6a2757a
Add support for mixins written in groovy (#580) 2022-01-24 19:05:55 +00:00
modmuss50 9662a8b3de
Support injecting interfaces from the mod source. Add a comment to target classes saying what mod is providing an injected interface. (#581) 2022-01-24 15:21:00 +00:00
modmuss50 e4330a11dc Add custom decompiler tests. Includes test utils for creating buildSrc plugins. 2022-01-23 20:06:26 +00:00
modmuss50 a712954be2 Depend on decompilerOptions.getClasspath() build tasks.
This doesn't feel necessary but seems to solve it.
2022-01-23 18:26:56 +00:00
modmuss50 a598625146 Make DecompilerOptions.getClasspath() an input for GenerateSourcesTask 2022-01-23 14:53:07 +00:00
modmuss50 b69404ea03 Fix DecompilerOptions.getClasspath()
I was blind and looking for this on the fork options...
2022-01-22 23:30:07 +00:00
modmuss50 d8f070cc27 Reduce test memory in an effort to increase test stability. 2022-01-21 13:30:58 +00:00
modmuss50 9e46f0d389 Ignore gradle metadata in Mojang's maven repo. 2022-01-20 20:25:45 +00:00
modmuss50 2c5baf95cb Cleanup runtime only log4j, allow it on any version. 2022-01-19 22:41:12 +00:00
modmuss50 e180e39575 Fix typo 2022-01-19 21:47:34 +00:00
modmuss50 9a796579e8 Disable runtime only log4j by default. 2022-01-19 21:39:27 +00:00
modmuss50 f113b0e312 Fix server only, and broken test. 2022-01-19 20:54:24 +00:00
modmuss50 b31ce4e525 Remove log4j from compile classpath starting with Minecraft 22w03a.
This is done to force modders to use SLF4J as Mojang have the ability to remove it at anytime. An option is provided to disable this.
2022-01-19 20:04:10 +00:00
modmuss50 54bf5480b7 Update tiny-remapper 2022-01-18 19:36:09 +00:00
modmuss50 e9d1f005d9
Add server only jar configuration option. (#574)
* Add server only option.

* Fix crash.

* Fix unpick jar task name.

* Revert test memory change

* Dont add client only libraries.

* Fixes

* Move option to the extension
2022-01-17 22:11:08 +00:00
modmuss50 d71af0cfd7
Kotlin metadata annotation remapping (#573)
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2022-01-16 23:48:36 +00:00
modmuss50 421b41ebc7 Fix misc jar remapping issues. 2022-01-16 17:01:56 +00:00
modmuss50 d40241d75a
Fix performance regressions in large multi-project builds. (#571)
* Perf improvements to multi-project builds.

* Fixes.

* More fixes.

* Layered mappings fixes

* Perf improvements. Undo broken fix.

* Fix remap classpath being empty.

* Another gradle bug? Either way this is fine and works.

* Fix broken test

* Final fixes?

* Fix and cleanup mixin ap mappings.
2022-01-14 19:50:45 +00:00
modmuss50 6fd3d5d021 Delete existing sources jar when re-running jar processors. Fixes #560 2022-01-05 09:58:19 +00:00
modmuss50 240a23f52d Improve decompiler options by moving them away from the task.
Done because the split jar changes required registering the decompiler task after evaluation.
As there may be more than one decompile task, the options are set per decompiler and not per task.
This should also make easier to add new decompilers without requiring a plugin.
2022-01-05 09:49:11 +00:00
modmuss50 19143fc5a8 Remove JarProcessor#isInvalid and impl getId correctly. 2022-01-04 21:40:20 +00:00
modmuss50 4158062ce5
Experimental support for split common and clientonly minecraft jars. (#561)
This lays the ground work for split client and server mod code. With this first phase when enabled loom will generate a clientonly and common minecraft jar. Fabric loader and API will both need changes to support this before it can be used to develop mods.

Phase two of this project will handle splitting mod code into a client and common source set along with spliting any dependencies. 

Mostly fixes #539 by sepreating decompile tasks
2022-01-04 21:19:03 +00:00
shartte ccfe12eb17
Interface Injection (#496)
* Added interface injection via fabric.mod.json.

* Added interface injection

* Added amending of class signature with injected interface.
2022-01-04 18:15:21 +00:00
modmuss50 03d3950d11 Exclude client only libraries in server run task. 2021-12-30 00:15:18 +00:00
modmuss50 15afb45769 Exclude client only libraries in the IntelliJ server run config. 2021-12-29 23:52:13 +00:00
modmuss50 87abd7ad7b Merge branch 'dev/0.10' into exp/0.11 2021-12-29 22:26:57 +00:00
val = int(1) 7611e3a632
Add support for mixin files outside of root in MixinRefmapHelper (#536)
* Add support for mixin files outside of root in MixinRefmapHelper

* Fix checkstyle + Integration tests + Checks all srcDirs from sourceSet

* Redid part that failed to save for last commit

* Other issues fixed

* Checkstyle again

* Made getting root paths safer

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

* CodeNarc for test

* Normalized all paths to fix issues on Windows

* Removed debug line used to test return value of lamdba

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-12-29 22:16:13 +00:00
modmuss50 63f2b51b2c Fix include generating modid's that are too long for loader
Co-authored-by: NebelNidas <burnerjulian@gmail.com>
2021-12-29 22:06:34 +00:00
modmuss50 e985cb85d4 Only quote program arguments if they actually contain spaces 2021-12-29 22:03:06 +00:00
Juuxel 005d180e0c
Fix up-to-date checks for ValidateAccessWidenerTask (#565)
* Apply mitigation's against Log4J2 exploit CVE-2021-44228.

* Only warn when the yarn version does not match the minecraft version.

Should allow yarn versions to be used across mc versions when needed.

* Fix up-to-date checks for ValidateAccessWidenerTask

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-12-29 21:59:19 +00:00
modmuss50 2752b61cb7 Cleanup signature fixer code + add basic integration test. Fixes #546 2021-12-29 19:27:24 +00:00
modmuss50 6aa552bad0 Add task to download gradle sources next to the api jar. 2021-12-29 18:34:09 +00:00
modmuss50 9ca915df15 Undo accidental code commenting. 2021-12-29 00:12:27 +00:00
modmuss50 53b839b739 Decompiler API improvements:
* Fix decompiler tasks getting registered in afterEvaluate
* Allow decompilers to add file collections to the forked JVM classpath.
* General code cleanup.
2021-12-29 00:10:58 +00:00
modmuss50 b377db7297 Only warn when the yarn version does not match the minecraft version.
Should allow yarn versions to be used across mc versions when needed.
2021-12-22 22:39:18 +00:00
modmuss50 e4244dc895 Remove idea-ext plugin, replace with 1 internal gradle api. Vastly improves import performance. 2021-12-20 16:54:03 +00:00
modmuss50 ab21e0e550
Rewrire Jar and Source remapping tasks. (#504) 2021-12-20 16:29:11 +00:00
modmuss50 5a16440c1e
Support ARM natives, rewrite native handling and misc cleanup. (#554)
* Rewrite natives handling, upgrade LWJGL on ARM machines.

* Remove old natives override hack, should now always be done via gradle.

* Use "idea" everywhere

* Add server specific libraries onto their own classpath. Includes misc code cleanup.

* Start on writing the excluded server libs.

* Gradle deprecation fixes, and misc cleanup

* Add support mod.

* Make native support mod none transitive.

* Update gradle.
2021-12-17 15:37:00 +00:00
modmuss50 4eb0290bb4 Apply mitigation's against Log4J2 exploit CVE-2021-44228. 2021-12-10 10:59:14 +00:00
modmuss50 4ace257c37 Fix unit tests 2021-12-04 19:00:47 +00:00
modmuss50 efddf8f35c Run validate access widener task before genSources. Closes #550 2021-12-04 19:00:47 +00:00
modmuss50 6d65e120e7 Remove deprecated stuff 2021-12-04 19:00:47 +00:00
modmuss50 337d17bb92 Java 17 and update libs. Closes #545 2021-12-04 19:00:47 +00:00
modmuss50 5ce9fde9b1 Start on 0.11 2021-12-04 14:10:12 +00:00
modmuss50 b550ca7857
Validate remapped mods also have a remapped access widener. (#549)
* Validate remapped mods also have a remapped access widener.

* Fix checkstyle
2021-12-02 18:59:47 +00:00
modmuss50 4b45783a54 Fix crash on Java 18 due to unpick using an outdated asm version.
Unpick will now get the same version of asm that loom is running with on its classpath.
2021-11-26 23:10:35 +00:00
modmuss50 60c908ea1b Fix duplicate comments about transitive access wideners. Fixes #544
A more sophisticated fix might be nice, but im not sure it will provide a lot of benefit.
2021-11-25 18:53:04 +00:00