Commit Graph

238 Commits

Author SHA1 Message Date
modmuss50
f705e997e8 Add "fabric.loom.test.homeDir" system prob to re-use gradle home between test runs. Vastly speeds up unit tests. 2022-06-20 20:49:35 +01:00
modmuss50
651bcec276 Use TR's ref coutning FileSystemHandler (#639)
* Dont depend on other prepare tasks, only run after.

* Update for: https://github.com/FabricMC/tiny-remapper/pull/93

* Cleanup

* Bump deps
2022-06-16 19:22:13 +01:00
modmuss50
ef614e53c2 Start 0.13 cycle 2022-06-16 19:09:50 +01:00
Jason
c8e7fe2212 Add kotlin tests to actions matrix (#660) 2022-05-30 17:18:33 +01:00
modmuss50
07ded449ee Update mercury and set source compatibility version to 17 2022-05-26 11:21:53 +01:00
modmuss50
b7cdb718d7 Update to support 22w16a's arm64 macos natives, and tiny remapper. 2022-04-20 18:37:11 +01:00
modmuss50
2462e12e16 Update deps 2022-04-13 20:09:47 +01:00
modmuss50
981081c2c9 Add protection around using the Kotlin class metadata remapping on mismatching Kotlin versions.
This is going to need further work to run the kotlin remapper in a forked JVM using the version of Koltin that the project was built against.
2022-03-30 19:26:07 +01:00
modmuss50
007bc97c1b Update decompilers and mercury (JDT). 2022-03-30 18:11:47 +01:00
modmuss50
0ba3e142ba Update gradle + deps 2022-03-14 01:44:11 +00:00
modmuss50
fff4afe405 Initial support for split client/common sourcesets. (#606) 2022-03-04 15:01:45 +00:00
modmuss50
474d02f1b3 Update gradle and deps. 2022-02-28 18:41:03 +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
9286ef9163 Start 0.12 dev cycle 2022-01-28 20:25:14 +00:00
modmuss50
d8f070cc27 Reduce test memory in an effort to increase test stability. 2022-01-21 13:30:58 +00:00
modmuss50
54bf5480b7 Update tiny-remapper 2022-01-18 19:36:09 +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
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
6aa552bad0 Add task to download gradle sources next to the api jar. 2021-12-29 18:34:09 +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
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
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
7b28d61fab More improvements/fixes to shared caches maven publications + test improvements. 2021-11-25 14:49:17 +00:00
modmuss50
d01c20f049 Update cfr 2021-10-30 23:41:19 +01:00
shedaniel
5c190cc3ef Use NIO instead of ZipUtil (#513)
* Use nio for zip utils

* Make tests work

* Please work

* Fix some issues with tests

* Fix more issues with tests

* NIOZipUtils -> ZipUtils

* Resolve Juuxel's reviews

* Use our own FS utils

* Improve error handling, add loom Pair

* Add Unit tests + fixes

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-10-26 13:08:17 +01:00
modmuss50
640deecd96 Update access-widener 2021-10-24 18:57:29 +01:00
modmuss50
c380b36739 Update tiny-remapper and enable "inferNameFromSameLvIndex" to fix issues with decompiling some locals. 2021-10-14 17:04:40 +01:00
modmuss50
e2439b7f57 Rewrite GenSources including full support for CFR. (#511)
* Rewrite CFR decompiler interface. Support javadoc

* CFR line numbers and fixes.

* Cleanup and fix

* Use WorkerExecutor to fork, massively cleans up the fernflower code, but does remove the fancy multithreaded logging.

* Use IPC to get logging back from the decompilers.

* Cleanup UnpickJarTask, fix leak in IPCServer

* Used published CFR build

* Handle older windows versions that do not support AF_UNIX.

* Fixes and basic unit test

* Improve memory handling of genSources

* Stop decompile worker JVM
2021-10-11 13:47:16 +01:00
modmuss50
d57f61a38a Add very basic Migrate Mappings test, update lorenz-tiny to fix: https://github.com/FabricMC/fabric-loom/issues/510 2021-09-30 19:26:18 +01:00
modmuss50
ae9a9e120d Update lorenz-tiny 2021-09-17 15:44:41 +01:00
modmuss50
2ec1dd032f Update tiny remapper, register the new LV pattern as invalid with TR. 2021-09-16 20:35:10 +01:00
modmuss50
9d9be1b842 Migrate fully to mapping-io + Add comments about transitive access widners to generated sources (#495)
* Add comments about transitive access widners to generated sources

* Migrate fully to mapping io

* Use release version of lorenz-tiny

* Review comment
2021-09-16 15:28:06 +01:00
shartte
d48c74161e Access Widener 2.0 with support for Transitive Access Wideners (#484)
* Added global access widener support.

* Adapt loom to changed API of latest AW PR.

* Fix expected access widener to fix the test. Since the access widener is now streamed directly into the writer, the expanded rules (i.e. accessible field makes the owning class also accessible) are no longer found in the remapped file.

* Add basic transitive accesswidener test

* Extracted applying transitive access wideners into their own jar processor since they also need to be applied if there is no AW in the mod itself.

* Misc assortment of fixes

* Set up the processor lazily to allow for adding the intermediary MC jar, which is needed to correctly remap intermediary AWs to named.

* Rework to setup the tiny remapper classpath with the mc jar
Add an extension prop to disable

* Add TransitiveDetectorVisitor

* Minor refactoring.

* Use release-version of access-widener.

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-14 22:40:47 +01:00
shedaniel
df7f56306b Fix ParchmentMappingLayerTest test (#491)
* Fix ParchmentMappingLayerTest test

* Update mapping-io

* Remove comment
2021-09-11 14:39:19 +01:00
modmuss50
1818ff03ab Update dependencies 2021-09-07 12:31:16 +01:00
Logic
3b0dc7f0f4 Use tiny-remapper to remap mixin annotation. (#441)
* use tiny-remapper 0.5.0

* add property of useLegacyMixinAp and rename mixin to mixinAp

* disable mixin ap if useLegacyMixinAp is false

* fix tests

* remove experimental for mixinAp

* enable mixin remapper

* revert changes on API

* rename MixinAp*** to Mixin***

* move useLegacyMixinAp inside MixinExtension

* cleaner code

* update test

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-07 11:28:51 +01:00
modmuss50
3ded0964c4 Refactor and improve tests (#466)
* Install and run a production server in tests

* Small improvements

* Add FabricAPI build test
Create new GradleProjectTestTrait replacing the old trait
Improve groovy code formatting.

* Refactor tests

* Fix MultiProjectTest + fix logging for fabric api test

* Cleanup and fixes

* Update fabric api + run in parallel for speed

* Set server memory + fix error
2021-08-31 11:48:58 +01:00
Logic
9a470a49d8 update mapping-io, fix #473 (#474) 2021-08-22 15:03:09 +01:00
modmuss50
95751e213c Start experimental 0.10 branch - Won't be published right now. 2021-07-31 23:36:02 +01:00
modmuss50
4601cc1db2 Update mercury. Test with Gradle 7.3 nightlys. Bump other deps. 2021-07-24 19:35:53 +01:00
Juuxel
f26e9e2c7b Fix AW field remapping (#434)
* Fix AW field remapping

* Fix by updating TR instead

* Fix checkstyle so that tests run
2021-07-13 08:52:42 +01:00
modmuss50
54fe0909ff Use spotless for header validation, years have been back-filled from git history 2021-07-10 21:50:53 +01:00
modmuss50
bed2031f3b Update ASM and nightly gradle 2021-06-30 22:33:17 +01:00
modmuss50
147af48879 Patch all eclipse deps to use a strict version 2021-06-16 23:16:44 +01:00
modmuss50
b4cd38a287 Ensure deps are reproducible. This prevents them from being updated without us knowing. 2021-06-16 19:16:47 +01:00
modmuss50
1f9f48052b Basic layered mappings with @ParchmentMC support (#413) 2021-06-14 18:39:03 +01:00
modmuss50
e179cccf64 Update Tiny Remapper to 0.4.2 2021-06-14 08:49:43 +01:00
modmuss50
75aca3b870 0.4.1 tiny remapper 2021-06-13 22:46:00 +01:00