Commit graph

807 commits

Author SHA1 Message Date
71c28bbcd0 Fix mojmap package names for realms and math 2022-02-04 17:53:12 +00:00
modmuss50
94ce38068c Filter out classpath entries that do not exist. 2022-02-01 14:34:32 +00:00
Juuxel
5dda747cee
Add file mappings layer (#590)
* Support passing FileSpecs around for the FileSpec notation

* Add file mappings layer

* Add better tests for file mappings

* Remove unnecessary param in setup closure call

* Fix test code style

* Add ZipUtils.isZip

* Automatically detect whether the file is a zip

* Rename LayeredMappingSpecBuilder.fileMappings -> mappings

* Add test for file mappings in layered mappings, fix inconsistent hashCode being

* Resolve reviews
2022-01-31 14:50:19 +00:00
modmuss50
287e6cefb9 Fix crash with Gradle 7.4+ during idea sync. 2022-01-29 18:14:13 +00:00
modmuss50
4fe19028cf
Add option to isolate the tiny remapper instance between sub-projects. (#588) 2022-01-27 17:08:17 +00:00
modmuss50
03089cf6d7
Setup remapped variants in afterEvaluate to work around issues caused by creating the lazy remap tasks too early. (#586) 2022-01-27 16:01:46 +00:00
modmuss50
f1bc512eca Handle no sourcesElements configuration. 2022-01-26 14:15:44 +00:00
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