Commit Graph

237 Commits (5a16440c1efec12870953e369f0f481d37c16b23)

Author SHA1 Message Date
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
modmuss50 80aaf63832 Fix race condition with mixin's output mappings across source sets 2020-09-06 20:21:08 +01:00
modmuss50 20be96e733 Fix mixin mapping being shared between all projects. 2020-09-04 22:41:11 +01:00
modmuss50 8b1268abe7 Fix and improve error handling around access widener remapping with shared caches 2020-08-26 20:15:21 +01:00
modmuss50 8da300563a Fix or fail fast on null minecraft version. Add back the old check for mirgate mappings 2020-08-26 08:33:56 +01:00
zml 37af4c8152
Fixes for Mojang mappings handling (#264)
* Only resolve SelfResolvingDependencies once

* mojmap: Improve styling, move to a better group + artifact id
2020-08-26 08:31:42 +01:00
modmuss50 9029a699d9 Official Mojang Mappings support
# Please read and understand the EULA before using!

Use in your build.gradle with the following:

`mappings minecraft.officialMojangMappings()`

To automatically migrate to Mojang mappings run the following:

`gradlew.bat migrateMappings --mappings "net.mojang.minecraft:mappings:1.16.2"`

Co-authored-by: Ramid Khan <ramidzkh@gmail.com>
2020-08-24 22:12:26 +01:00
Reece Dunham 1955bcb2ea General cleanup 2020-07-26 21:32:10 +01:00
modmuss50 de688c14ad Merge branch 'shared_caches' into dev/0.5
# Conflicts:
#	src/main/java/net/fabricmc/loom/AbstractPlugin.java
2020-07-26 21:25:09 +01:00
Jamie Mansfield 4eb699c2fb
Match Mercury sourceCompatibility with Gradle (#224)
* Match Mercury sourceCompatibility with Gradle

* Fix checkstyle
2020-07-16 18:17:50 +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 b359b83d25 Remove get/setDirection 2020-06-28 13:01:49 +01:00
modmuss50 a02f81bbaa checkstyle 2020-06-28 12:55:09 +01:00
modmuss50 296eb63645 small cleanup 2020-06-28 12:51:29 +01:00
modmuss50 a19fb0f691 Fix build? 2020-06-27 20:30:21 +01:00
modmuss50 32eb0bd3c8 First pass on "shareCaches". 2020-06-27 20:18:32 +01:00
modmuss50 b1ae5dee5d
Test across java and gradle versions with github actions. (#218)
* Experiment with github actions

* Fix?

* another fix

* Fix?

* Change github actions run args

* Tried and tested is better right?

* spaces spaces spaces

* revert

* info

* Just 4.9

* Fixes to support building on newer gradle versions

* Forward log output and run tests on runtime gradle version

* Remove travis

* De-duplicate

* Remove daily action, doesnt seem to work so well.
2020-06-08 15:19:11 +01:00
Fudge 4bf3d5aebe
Allow specifying additional decompilers for generating sources (#213)
* decompilers

* cleanup

* oops

* weird import

* public

* public 2 electric boogalo

* move over fabric specific

* ok

* move to api package
2020-06-01 19:31:32 +01:00
modmuss50 5ae727612d Update lorenz-tiny to 2.0.0 2020-05-27 16:41:43 +01:00
modmuss50 2645fef789 Fix building on newer java versions 2020-05-27 14:38:45 +01:00
modmuss50 11e24e57b4 Merge branch 'pull/205' into dev/0.4
# Conflicts:
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
2020-05-13 19:47:28 +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
Joe add76e4949
Fix uninitialized property 2020-05-11 13:09:42 +01:00
Joe a134913c71
Allow other source sets to be remapped without needing an access widener 2020-05-11 12:48:04 +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 3ce6fcd9a4 Update to use threaded fernflower 2020-04-24 13:36:50 +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 75f08fc4c5 Cleanup potentially corrupt files on mappings error 2020-04-05 20:11:11 +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
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 c67206297e
Javadocs (#154)
* Javadocs

* Move to using IFabricJavadocProvider
Co-authored-by: mentlerd <mentlerd@gmail.com>

* Checkstyle
2019-12-02 13:32:10 +00:00
modmuss50 2f775b1c97 parameters docs
Co-authored-by: mentlerd <mentlerd@gmail.com>
2019-12-02 13:29:50 +00:00
Ramid Khan 55a9d90690 Allow for non-yarn mappings for MigrateMappingsTask (#141)
* Add getExtension utility method to AbstractLoomTask

* Support non-yarn mappings in MigrateMappingsTask

* Fix style

* Assume Yarn mappings if correct notation was not supplied

* Move load mappings block into its own its own method

Also added protected to getExtension on AbstractLoomTask

* Use Option instead of environment variables

* Assume V2 Yarn by default

* Some restructuring

All works the same.
2019-11-15 20:16:09 +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
Fudge 8e916f8fb0 Support using TinyV2 mappings (#132) 2019-11-09 19:00:36 +00:00
modmuss50 baf976d3f3 Drop debug level in RemapLineNumbers 2019-11-07 13:06:29 +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 2bd339241f Merge remote-tracking branch 'upstream/dev/0.2.6' into dev/0.2.6 2019-10-26 23:01:22 +01:00
modmuss50 94751530f4 Improve error message when using genSources on a 32bit java 2019-10-26 23:01:11 +01:00
zml ba426c04fb Fix issues involving projects with modules that contain no java classes (#135)
Dependencies on a compileClasspath configuration, and
encountering nonexistant paths in the classpath prevented remapping from
completing successfully.

Additionally, adds the output of remapJar as an artifact before the task
executes to resolve a conflict with the signing plugin
2019-10-22 20:29:25 +01:00
modmuss50 13ae0ae263 Initial gradle 6.0 rc1 fixes, ugly but works. Closes #131 2019-10-22 20:28:00 +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 5a607963b5 Only process lines that contain :: should fix an odd StringIndexOutOfBoundsException 2019-10-21 20:57:10 +01:00
modmuss50 91c150c7e7 Simplify last fix 2019-09-06 20:09:13 +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
modmuss50 927c3f22cc Fix runClient/Server tasks not always including the mod 2019-07-29 12:28:46 +01:00
asie 3435447a77 fix provider crash 2019-07-24 23:52:34 +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
NikkyAI dba326147a fix Input annotation for FileCollection (#119) 2019-07-06 16:15:56 +01:00
modmuss50 583cfc495b Fix warnings with task inputs 2019-06-24 11:20:28 +01: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 754c061e2b add modApi, modImplementation, modRuntimeOnly; try to improve source remapping performance 2019-05-28 09:23:27 +02:00
Dinolek aa3f1da1be Change Minecraft_*.launch to projectname_*.launch for genEclipseRuns (#93) 2019-05-27 22:16:44 +02:00
asie 4be5fe010f use compileClasspath to remap JARs 2019-05-18 11:51:34 +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 1c56fb2eda updateMappings -> migrateMappings, new features 2019-05-10 13:55:17 +02:00
asie 64c21c01b8 add updateMappings task 2019-05-10 13:32:11 +02:00
asie eff108344f refactor genSources into multiple reusable tasks 2019-05-10 11:48:15 +02:00
modmuss50 7e59a90463 Fix remap jar not always running on subsequent builds 2019-05-06 11:34:45 +01:00
Chocohead 1dd8e47122 Avoid trying to download things offline (#87) 2019-05-01 21:30:50 +02:00
Dinolek 2b4d9fd3bc eclipse wants run dir too (#84) 2019-04-27 18:45:07 +01: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 b37079c931 backport FernFlowerTask and relevant systems from 0.3 2019-04-22 13:40:59 +02:00
Adrian Siekierka 7c25b0399c fix nestJar option default in RemapJar 2019-04-22 01:16:56 +02:00
Adrian Siekierka 6a7a00c426 add toggle to disable jar nesting in RemapJar tasks 2019-04-22 00:41:28 +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 bcae78333d rewrite source remapper to use tiny-mappings-parser 2019-04-21 11:29:19 +02:00
Adrian Siekierka ab9d2d3fda store mixin maps in per-project build caches, move root project build cache to build/loom-cache from .gradle/ 2019-04-21 11:18:45 +02:00
Adrian Siekierka 988c7e483d fix unnecessary pointless LoomFernflowerDecompiler warnings 2019-04-20 23:31:52 +02:00
Adrian Siekierka 085021dcbb update libraries; move asset downloading to task that does not run on every build, but only when it is required (runClient and IDEs) 2019-04-20 20:56:05 +02:00
copygirl 26c548195e Fix VS Code launching in wrong folder (#66)
It appears that a backslash in the working directory (in "launch.json") is not correctly handled by the Java launcher or so, causing the game to run in the workspace folder instead of "run".
2019-04-09 14:36:54 +01:00
modmuss50 c43e771ef5 Only generate the run configs on the root project 2019-03-30 20:08:25 +00:00
asie cd54faba44 fix runtask rundir 2018-12-23 21:43:22 +01:00
asie d4ae5e9b72 fix #48 2018-12-23 19:37:09 +01:00
asie 0b38f3ecc5 use more reliable renamer, update Stitch - fix #46 2018-12-23 19:18:40 +01:00
Adrian Siekierka 4c625b45bc fix licenseFormat 2018-12-22 21:27:46 +01:00
therealfarfetchd 58512f2f47 Put tasks in 'fabric' group 2018-12-22 17:06:18 +01:00
Adrian Siekierka a39d0b6656 add cleanLoomMappings, close #36 2018-12-22 15:35:36 +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 ad4e6fd6ff fix #20 2018-12-13 09:50:01 +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 b00b42e3bf fix #28 2018-12-12 07:10:30 +01:00
David Vierra a6c3406ba5 runClient and runServer now respect the jvmArgs property 2018-12-11 14:05:12 -10:00
Sander de Goeij 8544e64033 Fix a typo in launch.json generation 2018-12-11 13:25:48 +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 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
modmuss50 3766182f93 Added vscode task to generate launch.json
A few plugins will make the experience a lot better:
https://marketplace.visualstudio.com/items?itemName=redhat.java
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-debug
https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack
2018-12-01 17:04:15 +00:00
modmuss50 64e052cf25 Clean up GenIdeaProject, fixes run args not being updated 2018-12-01 16:08:52 +00:00
Adrian Siekierka 836b321107 switch to fernflower, add line number remapping 2018-12-01 10:52:17 +01:00
Adrian Siekierka e41e3e532a add sources generation, update guava 2018-11-30 21:16:42 +01:00