Commit Graph

817 Commits

Author SHA1 Message Date
modmuss50
474d02f1b3 Update gradle and deps. 2022-02-28 18:41:03 +00:00
modmuss50
d7458756c8 Merge branch 'dev/0.11' into exp/0.12 2022-02-28 18:24:29 +00:00
modmuss50
2a606dcf0b Add unpick support to layered file mappings, add direct url support to FileSpec. (#599)
* Add unpick support to layered file mappings, add direct url support to FileSpec.

* Disable unpick by default, fix unit tests.

* Fixes and improvements.
2022-02-27 12:27:46 +00:00
modmuss50
c406d24856 Update MCE, set the quiet Mixin AP flag. (#604) 2022-02-27 12:27:16 +00:00
modmuss50
56d8bcfcea Create .idea dir if it doesn't exist. 2022-02-11 20:11:14 +00:00
modmuss50
de31f1e083 Intermediate mapping handling improvements. (#593)
* Add API for intermediate mappings. Add hacky option to run with no intermediate mappings.

* Add setter, and some getters that I need :)

* Remove unused inject.

* Don't add asm-all to the libraries.

* Fix unit tests.
2022-02-09 13:49:15 +00:00
modmuss50
cbcdf66c6d Merge branch 'dev/0.11' into exp/0.12 2022-02-02 22:35:33 +00:00
modmuss50
94ce38068c Filter out classpath entries that do not exist. 2022-02-01 14:34:32 +00:00
modmuss50
19b92df9af Merge branch 'dev/0.11' into exp/0.12 2022-01-31 16:35:37 +00:00
modmuss50
582b6826bd Support client only jar, add tests for ancient minecraft versions. (#589)
* Support client only jar, add tests for ancient minecraft versions.

* Misc fixes.
2022-01-31 16:30:12 +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
4b52176499 Cleanup asset downloading, add support for legacy and pre-1.6 assets (#585) 2022-01-28 20:26:16 +00:00
modmuss50
9286ef9163 Start 0.12 dev cycle 2022-01-28 20:25:14 +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