Commit Graph

47 Commits (5a16440c1efec12870953e369f0f481d37c16b23)

Author SHA1 Message Date
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 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 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
modmuss50 08e548b6c6
Expose layered mappings as an API (#490)
* Expose layered mappings as an API

* Add FileSpec

* Cleanup and support DependencyFileSpec
2021-09-13 17:58:52 +01:00
modmuss50 b1b395cedf Revert "Make SourceRemapper threaded (#446)"
This reverts commit ef2816b0d0.
2021-09-02 12:50:56 +01:00
modmuss50 ef2816b0d0
Make SourceRemapper threaded (#446)
Should be a little bit faster, but nothing magicial.
2021-07-25 22:54:22 +01:00
modmuss50 e439a1b354
Refactor LoomGradleExtension (#431)
* First pass at refactoring the extension

* Fix inital issues.

* Combine some interfaces

* Checkstyle

* Fix years

* Add isShareCaches to api
2021-07-14 00:03:21 +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 8ce991dadc Fix build... 2021-07-04 01:00:18 +01:00
modmuss50 3a51777b4b Use a detached configuration to add jetbrains annotations to the source remapper classpath. 2021-07-04 00:58:09 +01:00
modmuss50 1f9f48052b
Basic layered mappings with @ParchmentMC support (#413) 2021-06-14 18:39:03 +01:00
modmuss50 9fb167d506
General cleanup by making use of java 16 features (#397)
* General cleanup by making use of java 16 features

* use jackson-databind in place of gson when reading to a record

* Fixes

* cleanup

* dep updates

* Replace commons IOUtils usage with native java

* Update fernflower
2021-05-13 22:06:34 +01:00
modmuss50 e6ac2afc7b
Ensure outputs are reproducable across all OS's. (#363) 2021-03-15 23:31:18 +00:00
modmuss50 409f5f8e93
Update MCE - Remove auto population of minVersion in mixins - Drop some log levels. 2021-02-11 18:12:27 +00:00
modmuss50 b622544cbe Dont remap dependency sources when building on CI services.
Use `-Dfabric.loom.ci=false` to force disable
2021-01-19 22:15:23 +00:00
modmuss50 47097c65ce
Gradle 7 (and hopefully 8) support (#332)
* First pass on gradle 7 support

* Fix Gradle 8 deprecation warnings

* Add a deprecated compile constant
2021-01-17 18:34:22 +00:00
modmuss50 11b62989e7 Cleanup output files when remap fails. Fixes #321 2020-12-30 20:34:34 +00:00
modmuss50 03444f26b0
General code cleanup (#313)
* First general cleanup pass

* Review feedback

* Fix build

* Fix tests
2020-12-24 20:58:30 +00:00
Cool_Mineman 7e5053b0c5
Respect reproducibleFileOrder and preserveFileTimestamps (#304)
* Respect reproducibleFileOrder and preserveFileTimestamps

* Also Respect On Sources Jars

* java 8

* checkstyle

* Please Rerun Actions
2020-12-21 19:47:08 +00:00
modmuss50 3bdccee02e
Refactor and fix game/loader library handling (#298)
Update fernflower
2020-12-21 19:34:00 +00:00
Jamie Mansfield db623157aa
Use Mercury 0.1.0-rc1 (#301) 2020-11-15 16:03:16 +00:00
modmuss50 42a0cbd3b3 Dont throw when annotationDependency is not resloved. 2020-10-21 08:59:20 +01:00
modmuss50 5c4d89bd0d Ugly fix to mercury classpath not having jetbrains annotations 2020-10-21 08:58:07 +01:00
modmuss50 e545a92166 Revert "Ugly fix to mercury classpath not having jetbrains annotations"
This reverts commit 33fdd9ff
2020-10-12 19:24:11 +01:00
modmuss50 33fdd9ffb2 Ugly fix to mercury classpath not having jetbrains annotations 2020-10-10 21:13:12 +01:00
i509VCB 21a9209b86
Split out some constants (#267)
This pull request also reorganizes parts of the constants class into categories.
2020-09-21 20:22:31 +01:00
Octavia Togami 886d77ce0c
Supply the configuration to the run Exec directly (#232)
* Supply the configuration to the run Exec directly

This allows the implicit task dependencies from project() dependencies
to flow into the run tasks.

* Make unmappedMods a CFC to track task information

Deprecates the old methods, and they should probably be removed with
0.5.
2020-06-29 15:25:05 +01:00
modmuss50 f529c6e01e Fix source remapping not having the full classpath 2020-06-01 12:25:10 +01:00
modmuss50 f673579da8 Cleanup and fix dep remapping, also add better log output to source remapping. 2020-06-01 12:17:58 +01:00
modmuss50 5ae727612d Update lorenz-tiny to 2.0.0 2020-05-27 16:41:43 +01:00
modmuss50 3eff7d0fdb
Improve setup speed. (#208)
* Improve access widener remapper, now uses tiny remapper

* First pass on using the new tiny remapper

* Optimise source remapping
2020-05-13 19:44:45 +01:00
modmuss50 ee462f8f9e
0.2.7 refactors (#178)
* Rough work on project based jars, skeleton for AccessEscalators?

* First working draft

* Minor changes

* Add support for mutable, better error checking when parsing file.
Code cleanup
Remap if needed when reading

* Fix inner classes and genSources

* Fix CME

* Caching, only regen jar when input changes

* Some work, untested

* Fix writing, fix checkstyle issues

* More fixes

* Move jars into a maven file structure, cleans up the file structure, and will benefit idea 2020
Add some basic validation to the AccessWidenerRemapper, will present any issues with the mappings when building (May need a way to disable?)
+ Some bugs fixes

* Fix issues with source jars in idea 2020, should be backwards compatible with 2019

* Move to lorenz-tiny

* Build fix + small cleanup

* Remove accesswidener's for now

* Update dev launch injector, should fix all issues with spaces in the path.
2020-03-06 11:15:34 +00:00
Fudge 8e916f8fb0 Support using TinyV2 mappings (#132) 2019-11-09 19:00:36 +00:00
modmuss50 ae6a43b923 Reduce console spam a bit 2019-11-07 12:56:43 +00:00
modmuss50 f85daec559
Reformat to use Fabric API's checkstyle (#137)
* Reformat to use Fabric API's checkstyle

* Fix

* Fix

* Update

* Travis and fixes

* possible fix for checkstyle?

* Helps if i push the checkstyle.xml file...

* Log checkstyle issues to console - used by travis

* Fix some more issues

* opps
2019-11-02 20:23:27 +00:00
Fudge 7c6e9a37c0 copy non-java files into remapped sources jar (fixes #126 and #118) (#129)
* copy non-java files into remapped sources jar

* Simplify isJavaFile

* remove unused import

* Use path API
2019-08-23 11:59:16 +01:00
asie 754c061e2b add modApi, modImplementation, modRuntimeOnly; try to improve source remapping performance 2019-05-28 09:23:27 +02:00
asie 788df9cfc7 migrate RemapJarTask and RemapSourcesJarTask over to getters/setters for fields; make RemapJarTask use input and output locations instead of in-place renaming fluff 2019-05-11 00:53:50 +02:00
Adrian Siekierka f768f9316e cease loading the same mappings file a million times 2019-04-24 19:32:35 +02:00
Adrian Siekierka bcae78333d rewrite source remapper to use tiny-mappings-parser 2019-04-21 11:29:19 +02:00
asie e038abcb8e more gradle fixes 2018-12-31 00:42:49 +01:00
Adrian Siekierka da03fd2827 apply terrible workaround for source remapper/JDT? bug (Mercury devs notified) 2018-12-28 22:08:36 +01:00
asie 0b38f3ecc5 use more reliable renamer, update Stitch - fix #46 2018-12-23 19:18:40 +01:00
Adrian Siekierka a39d0b6656 add cleanLoomMappings, close #36 2018-12-22 15:35:36 +01:00
Adrian Siekierka d9b8c90b5f working source code remapping for mod dependencies 2018-12-22 15:29:46 +01:00
Adrian Siekierka a620812aab build functional intermediary-mapped sources JARs; update Stitch 2018-12-22 14:37:16 +01:00
modmuss50 2b85714448 Very early source remapping 2018-12-22 10:31:30 +01:00