Commit Graph

306 Commits (5a16440c1efec12870953e369f0f481d37c16b23)

Author SHA1 Message Date
modmuss50 7a56779368 Fix access widener remapping 2020-05-14 01:07:54 +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 ac86ff1f29 Merge remote-tracking branch 'upstream/dev/0.4' into dev/0.4 2020-04-27 14:09:29 +01:00
modmuss50 76087d4d3d Some trivial performance improvements 2020-04-27 14:08:37 +01:00
immibis 6c02535304
Eclipse project fixes (#192)
* If the Eclipse project name is overridden by the build script, use the actual name.

* Clean up Eclipse launch files after cleanEclipse task.
2020-04-26 14:04:49 +01:00
modmuss50 26755cb82c Ensure JarFile is always closed 2020-04-22 18:22:22 +01:00
modmuss50 f7190b31c0 Cleanup and fix dep aw remapping 2020-04-21 14:08:02 +01:00
modmuss50 c9282e0d6d Checkstyle fix 2020-04-11 19:29:51 +01:00
modmuss50 127e7a4330 Throw an exception if the target accessWidener could not be found in the fabric.mod.json 2020-04-11 19:21:54 +01:00
modmuss50 702e4ea80b Actually fix the issue 2020-04-07 00:12:50 +01:00
modmuss50 232118e69e Fix making constructors final 2020-04-06 22:52:49 +01:00
modmuss50 0ae8535c40
Access widener support (#182)
* 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

* Update to match the changes in loader

* More fixes

* Update to match loader changes.

* Improve error logging
2020-04-06 15:28:53 +01:00
modmuss50 dff10a5d79
Use a custom dev time log4j config. Enables color output and improves overall logging. (#186)
* Use a custom dev time log4j config. Enables color output and improves overall logging.
Color output is not enabled by default for eclipse users

* Use the run config to force enable ansi colors

* Improve IDE detection
2020-04-04 14:18:40 +01:00
modmuss50 00c65f54ed Fix https://github.com/FabricMC/fabric-example-mod/issues/44 2020-03-16 22:29:54 +00: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
modmuss50 d62a63c8bd Possibly fix native downloading for older versions such as 1.8.9 2020-02-17 20:23:33 +00:00
modmuss50 a88087021b Make error messages more clear 2020-02-05 20:37:05 +00:00
modmuss50 daf922d928 Performance optimisation when including nested jars 2020-01-24 21:59:59 +00:00
AlexIIL 77e32ba3fa Pretty-print fabric.mod.json. (#174) 2020-01-21 20:00:03 +00:00
Juuxel 045548a11d Replace dots in artifact names as well when generating mod jsons for JIJ (#173) 2020-01-18 17:23:33 +00:00
modmuss50 cd202f2804 Revert "Add mixins that target the class as a comment. (#168)"
This reverts commit fb3c2c86
2020-01-01 19:23:27 +00:00
modmuss50 fb3c2c86cb
Add mixins that target the class as a comment. (#168)
* Add mixins that target the class as a comment.

* some final fixes and tweaks

* Remove debug log

* Fix inner class mixins
2020-01-01 19:12:31 +00:00
modmuss50 642ba74f8c Merge remote-tracking branch 'upstream/dev/0.2.7' into dev/0.2.7 2019-12-27 11:53:01 +00:00
modmuss50 4cf2b265eb Fix loom failing to find main class when in a loader dev env 2019-12-27 11:52:35 +00:00
Pyrofab 7a03264052 Make mod* work with non-empty classifiers again, fixes #162 (#163) 2019-12-20 20:28:37 +00:00
modmuss50 c2d61875e1 Yet another attempt to fix the annotation processor issue. 2019-12-13 18:24:01 +00:00
modmuss50 5baceb365a Revert last 2 commits. 2019-12-11 15:46:42 +00:00
modmuss50 dcbe6c4566 Possible fix/workaround for idea enabling annotation processors when we dont really need them. 2019-12-11 14:19:47 +00:00
Fudge 78f4983e61 Improve remapped artifact names (#153)
* improve artifact names

* fix indent

* fix indent again
2019-11-28 21:14:48 +00:00
modmuss50 414f41ab50 Merge remote-tracking branch 'upstream/dev/0.2.6' into dev/0.2.6 2019-11-18 22:14:55 +00:00
modmuss50 610cd82a78 Update mixin compile extensions 2019-11-18 22:14:49 +00:00
liach 2cc95daa71 Improve support for custom self-resolving mappings (#145)
Also allow mappings for 19w44a be used on 19w45b etc. with tinyv2

Signed-off-by: liach <liach@users.noreply.github.com>
2019-11-15 20:16:26 +00:00
modmuss50 11af956c84 Fix Linux/MacOS issues 2019-11-15 09:11:04 +00:00
Fudge 4ca20fb39e Allow source jars to use their own parameter names for mod deps (#147)
* formatting

* spaaaace
2019-11-13 12:32:44 +00:00
modmuss50 54ac2df5dc Real fix this time? 2019-11-13 09:19:57 +00:00
modmuss50 dda4291687 Fix build
Passes on my machine, but not jenkins
2019-11-13 09:16:27 +00:00
modmuss50 f8dd6f56ee Merge remote-tracking branch 'upstream/dev/0.2.6' into dev/0.2.6 2019-11-12 18:47:05 +00:00
modmuss50 e03bbe0f87 Cleanup installer json handling, should hopefully fix incorrect dependency versions. 2019-11-12 18:46:57 +00:00
modmuss50 b69d0db1c2
Use Dev Launch Injector to ensure that the launch options are always kept upto date. (#138)
* Generate pre-launch classes to set the run args and system property's
Will remove the need to regen the run configs each time the game is updated

* fix minor thing.

* Small cleanup

* Another small rename + remove testing code

* Remove import

* Add basic auto upgrade path, put the launch classes in a package

* Suggested cleanups

* Use dev-launch-wrapper

* Remove old classes

* Rename to dev-launch-injector

* Update more things I forgot about
2019-11-11 18:52:19 +00:00
liach c8ef934bda Add mixin ap to projects in a "better way" (#144)
* Add mixin ap to projects in a "better way"

Signed-off-by: liach <liach@users.noreply.github.com>

* Remove obsolete bad code

Signed-off-by: liach <liach@users.noreply.github.com>

* Use a field in constants instead

Signed-off-by: liach <liach@users.noreply.github.com>

* String format does not work

Signed-off-by: liach <liach@users.noreply.github.com>
2019-11-11 16:52:13 +00:00
Fudge 458eaabb7e Fix V2 regressions (#146)
* fix regressions

* Supposedly fix kotlin compile error
2019-11-11 13:21:59 +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
modmuss50 13ae0ae263 Initial gradle 6.0 rc1 fixes, ugly but works. Closes #131 2019-10-22 20:28:00 +01:00
modmuss50 40d895095f Surround natives path in quotes to ensure it works with usernames with spaces. 2019-10-22 20:09:59 +01:00
modmuss50 7bcc6b98ff Rewrite native handling, fixes support for gradle 5.6.3 Fixes #81 Fixes #134
This will require run configs to be regenerated
Added cleanLoom, just a task that depends on cleanLoomBinaries and cleanLoomMappings
2019-10-22 20:04:38 +01:00
modmuss50 6bec4e592a add modCompileOnly and include deps in the implementation configuration in the run tasks 2019-09-06 19:59:45 +01: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
modmuss50 b315d9a553 Fix for files not being downloaded when the don't exist. Closes #122
@asiekierka im not sure if this is the correct fix so could you please verify, thanks.
2019-07-25 16:52:09 +01:00
asie 3c7d6fd87f caching/performance improvements 2019-07-24 23:04:45 +02:00
asie ac9c7fc103 downgrade to gradle 4.9, fix tiny-remapper deprecations, restore old dev/noclassifier behaviour for default RemapJarTask settings 2019-07-24 22:34:27 +02:00
modmuss50 3e4ade38a7 Merge branch 'pull/110' into dev/0.2.5
# Conflicts:
#	gradle/wrapper/gradle-wrapper.properties
#	src/main/java/net/fabricmc/loom/util/MixinRefmapHelper.java
2019-06-24 11:17:45 +01:00
modmuss50 9f0cdbf1a4 Start work on 0.2.5, update to gradle 5.5-rc-3 2019-06-24 11:13:47 +01:00
Mitchell Skaggs 6376d197c6
Fix unused and broken imports in MixinRefmapHelper 2019-06-12 17:13:55 -05:00
Mitchell Skaggs 9e690f489f
Refactor RemapJarTask to extend from Jar
It may now be used in places that require AbstractArchiveTask such as Maven publications
2019-06-10 22:22:16 -05:00
asie a12fd8e6eb fix remapped mods not including yarn minecraft version 2019-06-07 22:17:40 +02:00
Mitchell Skaggs 11246870fa Replace existing/duplicate nested jars (#106) 2019-06-07 10:24:36 +02:00
modmuss50 565d01b7c4 Fix license violations 2019-05-28 12:38:59 +01:00
asie 754c061e2b add modApi, modImplementation, modRuntimeOnly; try to improve source remapping performance 2019-05-28 09:23:27 +02:00
Pyrofab 467b696393 Make modCompile work with non-empty jar classifiers, fixes #82 (#96) 2019-05-27 22:18:19 +02:00
asie 4134c7ef50 pull in annotationProcessor dependencies from fabric-loader JSON too 2019-05-27 22:14:35 +02:00
asie 89d207d06b remove hacky mixin refmap remapper 2019-05-27 22:01:30 +02:00
modmuss50 e73febd7f4 Possible fix for #68 2019-05-26 16:02:35 +01:00
Adrian Siekierka 3d21ce811b fix DownloadUtil not downloading file if ETag present, but file is not 2019-05-17 12:59:40 +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
asie eff108344f refactor genSources into multiple reusable tasks 2019-05-10 11:48:15 +02:00
Chocohead 1dd8e47122 Avoid trying to download things offline (#87) 2019-05-01 21:30:50 +02:00
Adrian Siekierka 88796b3c0f migrate away fabric-mixin-compile-extensions, fix root/sub project issues wrt mixin/loom presence hopefully once and for all 2019-04-30 00:43:26 +02:00
Adrian Siekierka 17b8aa7a70 fix #85, remove parts of deprecated code, update Mixin 2019-04-27 22:31: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 b5b3138e24 fix line number remapping, add option to disable mixin refmap remapping (unnecessary in loader 0.4.0+, but needs testting) 2019-04-23 22:50:39 +02:00
Adrian Siekierka b4beaed968 make modCompile() transitive 2019-04-22 13:41:16 +02:00
Adrian Siekierka b37079c931 backport FernFlowerTask and relevant systems from 0.3 2019-04-22 13:40:59 +02:00
Adrian Siekierka 6a7a00c426 add toggle to disable jar nesting in RemapJar tasks 2019-04-22 00:41:28 +02:00
Adrian Siekierka 221fcf2f51 migrate to try-with-resources 2019-04-22 00:39:09 +02:00
Adrian Siekierka 253c2ed15e support appending to existing <dependencies> keys in maven-publish hook; in came a buildscript uses .withXml, say 2019-04-21 23:50:35 +02:00
Adrian Siekierka dc69315715
add correct Maven dependencies to maven-publish mod POMs (#79) 2019-04-21 18:42:51 +02:00
Adrian Siekierka 07ab36a97d fix IDE generation file paths assuming CWD == project root, close #72 2019-04-21 11:48:00 +02:00
Adrian Siekierka bed0bba2da update tiny-remapper, Mixin 2019-04-21 11:37:35 +02:00
Adrian Siekierka bcae78333d rewrite source remapper to use tiny-mappings-parser 2019-04-21 11:29:19 +02:00
modmuss50 a97bb32210 Download assets when idea is syncing a project 2019-04-20 19:11:39 +01:00
Chocohead 03fb478166 Remap less (#77)
* Avoid remapping jars every time Loom starts

* Attempt to find installer JSON if it isn't found

Remapping Fabric-Loader used to find it every time, now we might skip that we have to go looking for it

* Log a little more when skipping things

Makes it more clear cut when it is avoiding doing things compared to failing after trying
2019-04-20 18:47:32 +01:00
Chocohead a55ebd4e31 Download less each run (#73)
* Drastically reduce the amount of downloading Loom does

Uses ETags and last modify times to avoid downloading the version manifests, the game jars and assets

* Documentation is good

* Avoid string concatenation with debug off
2019-04-19 19:15:48 +01:00
Chocohead e72ccc104c Enhance support for file modCompiles (#74)
* Enhance support for file dependencies

There's a reasonable chance this might work now, at least more than it did before

* Encourage Gradle to search better

Now it will find both remapped maveny and file dependencies

* Remove some very quiet boxing

Didn't think javac is capable of noticing that
2019-04-19 19:14:58 +01:00
modmuss50 60ec4c1fdb Fix broken assetIndex with versions with spaces 2019-04-11 18:58:40 +01:00
modmuss50 9eb9978390 Include loader's basic version parser, adds support for new yarn version separator 2019-04-10 17:35:38 +01:00
modmuss50 e1267680f2 Generate a barebones mod.json for libraries 2019-04-08 11:24:12 +01:00
modmuss50 f672b815c4 Dont expand out nested jars can be enabled if wanted. Will still strip the jars from the mod json 2019-04-08 10:50:30 +01:00
modmuss50 0206a4c59b Strip the contained jars from the mod meta data 2019-04-07 22:40:44 +01:00
modmuss50 36750634eb Merge remote-tracking branch 'remotes/origin/dev/0.2' into dev/0.2.1 2019-04-07 20:44:10 +01:00
Adrian Siekierka cc05052fcb tweak mixin json findin heuristic 2019-04-07 22:39:08 +02:00
modmuss50 4b9db57aaa Make the sub project requirement a bit more intelligent, no longer blindly depends on all sub projects. 2019-04-07 20:38:10 +01:00
modmuss50 6f35014805 Extract nested jars from modCompile 2019-04-07 20:31:25 +01:00
modmuss50 02e9616622 Start on 0.2.1 2019-04-07 15:18:11 +01:00
Adrian Siekierka c452b3ae8a update libraries 2019-04-07 13:33:48 +02:00
asie 32f3d924b0 fix JAR remapping 2018-12-31 14:37:47 +01:00
asie e038abcb8e more gradle fixes 2018-12-31 00:42:49 +01:00
asie 6749c9688e fix gradle 5 support changes 2018-12-30 23:26:50 +01:00
Adrian Siekierka 0dcb7070be warn about refmap name after fields are populated, might help some things 2018-12-30 12:04:53 +01:00
Adrian Siekierka 6a77b5deaa gradle 5.0 support, fix #38 2018-12-30 12:03:25 +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
asie 4700788ead fix #47 2018-12-23 09:37:54 +01:00
modmuss50 8d326da8be Close jar when no fabric-installer.json found 2018-12-22 22:19:26 +00: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
Adrian Siekierka 79ec748a12 parse fabric-installer.json for mod devenvs, add loaderLaunchMethod param for that purpose, tweak LineNumberAdjustmentVisitor 2018-12-22 10:31:10 +01:00
asie 1445b8240a update dependencies, remap LVTs when mapping JAR 2018-12-20 12:32:02 +01:00
asie e93292564d fix #26 2018-12-17 15:05:52 +01:00
asie 83d6a2da42 add minVersion filling support - fix #34 2018-12-15 14:33:25 +01:00
asie fe194ea64d use resolved dependency version for mapping files 2018-12-15 14:14:50 +01:00
modmuss50 f875e34a67 Only add -XstartOnFirstThread on mac os 2018-12-12 18:10:47 +00:00
modmuss50 a2fc5ddf9c Merge branch 'start-on-first-thread' of https://github.com/shadowfacts/fabric-loom into shadowfacts-start-on-first-thread 2018-12-12 13:44:42 +00:00
modmuss50 96e0dd30be Auto generate eclipse launch files 2018-12-12 13:43:42 +00:00
asie f61b06f616 add some debug code for refmap issue 2018-12-12 07:16:01 +01:00
asie b00b42e3bf fix #28 2018-12-12 07:10:30 +01:00
Shadowfacts 8a0c05eadb
Add -XstartOnFirstThread, required when running on macOS 2018-12-10 20:47:02 -05:00
modmuss50 f8bcf214f8 use project root dir, should fix files being all over the place 2018-12-10 14:28:58 +00:00
Adrian Siekierka da675e9545 clean mapping provider code 2018-12-09 22:22:35 +01:00
asie 72a0375696 clean up Maven repositories 2018-12-09 08:21:32 +01:00
asie c6c88e69de update Stitch, add CleanLoomBiaries 2018-12-08 13:40:02 +01:00
modmuss50 43d3a46296 Use pomf jar, and don't override run configs 2018-12-04 20:20:22 +00:00
asie f9d0c39601 enable rebuildSourceFilenames 2018-12-02 02:20:18 +01:00
asie b1d5bd0536 add field name population on mapping download 2018-11-21 09:03:56 +01:00
asie 823854f2a1 update tiny-remapper 2018-11-12 01:25:06 +01:00
asie 24b1b0669d do not try closing twice in ModProcessor 2018-11-12 00:35:12 +01:00
asie dbaba22207 fix try...catch segments not closing files in some cases 2018-11-12 00:17:44 +01:00
asie cffd468b68 clean up RemapJar, add automatic mixin refmap name fill-in 2018-11-06 10:36:35 +01:00
modmuss50 c5a19955ff New experimental way of remapping mods, this may not stay 2018-11-05 20:33:57 +00:00
modmuss50 94c7137086 Split mappings and minecraft 2018-11-05 15:54:14 +00:00
asie 8e3822dec7 fix AP not being present on classpath 2018-11-05 14:57:43 +01:00
asie 1691c8c2d8 use one asset directory 2018-11-05 14:44:52 +01:00
modmuss50 9ed5dd7a01 Generate idea run configs for dir based projects 2018-11-05 12:00:54 +00:00
modmuss50 9d03783792 2 small fixes 2018-11-05 10:57:29 +00:00
modmuss50 d0e649766b Change some stuff in hope that it helps things 2018-11-04 21:28:46 +00:00
modmuss50 bbf5e341e3 Fix some streams not being closed, clean up the mod reobfuscater, fix runClient task 2018-11-04 18:46:37 +00:00
modmuss50 0a5245d508 Revert "Fix some streams not being closed, clean up the mod reobfuscater, fix runClient task"
This reverts commit 30a71c1
2018-11-03 18:44:31 +00:00
modmuss50 0770c57d6d Revert "Fix remapped mods not being resolved by the ide"
This reverts commit 356a7c4
2018-11-03 17:24:16 +00:00
modmuss50 30a71c133d Fix some streams not being closed, clean up the mod reobfuscater, fix runClient task 2018-11-03 13:50:57 +00:00
modmuss50 356a7c4d00 Fix remapped mods not being resolved by the ide 2018-11-03 12:59:37 +00:00
Adrian Siekierka dff255da68 rename mapping headers 2018-11-02 17:19:57 +01:00
Adrian Siekierka 6b17d207d5 fix mod compilation 2018-11-02 10:33:03 +01:00
asie e05aae6cd8 remove MixinDevRemapper, delete intermediary JAR before trying to create it 2018-11-02 09:02:19 +01:00
asie 226f237924 mixin refmap remapping support 2018-11-02 00:40:51 +01:00
asie c38094ef3f obfuscate mixin methods/fields in output mod JARs 2018-11-01 22:15:51 +01:00
Adrian Siekierka bd5d306a9a debloat, fix fabric-base 2018-11-01 12:15:09 +01:00
modmuss50 f32359d7c3 Fix building mods 2018-10-31 19:55:29 +00:00