Commit Graph

100 Commits (b558ee1a4604a0fbf0eba8edab401f2a831e4fb6)

Author SHA1 Message Date
modmuss50 e6793b5ed7 Revert "Fix MojangMappingsSpec having the same hash version for each mc version."
This reverts commit 61fa4d9f
2021-07-21 23:30:40 +01:00
modmuss50 61fa4d9fb6 Fix MojangMappingsSpec having the same hash version for each mc version.
I dont think this would be a real cause for concern as the jar would have had the mc version in it anyway.
2021-07-21 22:29:23 +01:00
LogicFan 81fa551382
Better Mixin AP configuration (#423)
* [SPON-15] Apply Mixin AP config for all projects.

* Revert "[SPON-15] Apply Mixin AP config for all projects."

This reverts commit 93576e83b1221949d551b6307938f7dd6dc8fbbe.

* use setter & getter

* fix broken test introduced in 54d6ef7896

* initial commit for mixin extension

* refactor getConfiguration

* apply mixin extension

* [SPON-15] allow across project AP config

* [SPON-15] revert some changes

* [SPON-15] refactor codes

* [SPON-15] fix bugs

* [SPON-15] bring back cross-project apconfig

* [SPON-15] bug fix: move add default sourceSet earlier

* [SPON-15] fix style

* [SPON-15] refactor MixinAPExtension

* add test

* update test

* [SPON-15] fix test

* Update MixinAnnotationProcessorExtension.java

* [SPON-15] fix test

* fix deprecated gradle API

* [SPON-15] refactor ApInvoker

* [SPON-15] refactor ApInvoker

* allow change refmap name in sourceSet bases

* add new condition on test

* [SPON-15] fix wrong suffix

* Revert "[SPON-15] fix wrong suffix"

This reverts commit 98910392d91c26cd0454cca8cfc03c4e3d417fd6.

* fix mixinjson suffix

* use stream instead of collection for mixin json name

* change name for function

* use correct auto-refmap

* fix file name

* add with action

* add test

* refactor some codes

* refactor code

* update test

* fix checkstyle

* better error message

* fix checkstyle

* remove corss project option

* allow mixin inside loom

* remove project0

I should remove all project0. If I forget one please tell me.

* move `mixin` inside `loom`

* fix spotless

* merge attempt

* fix checkstyle

* seperate api & impl

* add experimental annotation for API

* use API

* Fix indentation

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* fix typo

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* fix typo

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* better javadoc

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2021-07-18 14:13:47 +01:00
modmuss50 777f30913b Add back customManifest api 2021-07-16 22:36: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 2259a4efc8
Add versions used to compile/build against to jar manifest (#428)
* Add versions used to compile/build against to jar manifest

* checkstyle

* Move to post remap

* Fix build

* Add mc version and mixin group

* Typo

* Make test run across versions better.
2021-07-13 23:10:07 +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
shedaniel 54d6ef7896
Fix typo "officalMojangMappings" (#420)
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-06-20 13:24:10 +01:00
modmuss50 1f9f48052b
Basic layered mappings with @ParchmentMC support (#413) 2021-06-14 18:39:03 +01:00
modmuss50 90ff811ecd Make the run config api stable 2021-05-15 19:58:08 +01:00
modmuss50 a5bc38a940 Make remapped configurations lazy 2021-05-04 19:07:21 +01:00
modmuss50 759cac2e6b
Constant unpicking (#328)
* Start adding constant unpicking

* Update to use unpick cli

* Fix build?

* Fix?

* Fix log spam when unpicking

* Improve unpick tests
2021-03-25 19:03:35 +00:00
Shadowfacts 4540b3af33
Add log4jConfigs to Loom extension (#356)
Allows mod build scripts to specify custom Log4j config files that will
be combined together when running Minecraft in the dev-env. For example:

    loom {
        log4jConfigs.from "MyCustomConfig.xml"
    }

See: https://logging.apache.org/log4j/2.x/manual/configuration.html#CompositeConfiguration
2021-02-26 21:19:26 +00:00
modmuss50 24c166fc79 Generate IDE run configs on a per config basis. Allows for much finer grain control over what run configs are generated.
Defaults to generate all run configs on the root project.
2021-02-11 18:50:25 +00:00
modmuss50 6b481fbcd6 Revert previous change, somewhat. I didnt understand the issue correctly. 2021-02-11 18:32:01 +00:00
modmuss50 4daec03a0f Rename `runs` -> `runConfigs` 2021-02-11 18:18:07 +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 6a315be278
Improve run configs (#318) (#338)
Co-authored-by: ShadewRG <onankman@gmail.com>
Co-authored-by: UndeadCat | Shadew <redgalaxysw@gmail.com>
Co-authored-by: liach <7806504+liach@users.noreply.github.com>
2021-01-29 18:04:39 +00:00
modmuss50 a436eb7690 1 Infinite Loop 2021-01-18 22:10:44 +00:00
modmuss50 792a64e2ef
Optimise loom configuration, saves 1.2 seconds in my testing. #319 2020-12-27 16:25:30 +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
modmuss50 dd68c84226 Allow specifying natives directory with the `fabric.loom.natives.dir` gradle property.
Note this is designed to allow easy usage of custom natives, thus will not populate the directory with the default natives.
2020-12-02 20:18:12 +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 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
Fudge c4f25622a2
Allow adding additional jar processors (#247)
* processors

* cleanup

* oops

* make changes

* blargh
2020-08-24 20:10:21 +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
Jonas Herzig 4aa840adfe
Allow IDEA run configs to be generated for non-root projects (#236) 2020-07-26 21:05:14 +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 32eb0bd3c8 First pass on "shareCaches". 2020-06-27 20:18:32 +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
Fudge cf13e4aa02
Allow applying kapt and using mixins in other source sets (#211)
* Fix kapt and source sets

* cleanup

* cleanup 2
2020-05-22 14:38:25 +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 a134913c71
Allow other source sets to be remapped without needing an access widener 2020-05-11 12:48:04 +01:00
modmuss50 bb68465a8d Add a basic way to specify custom intermediary URLs, ideally this would use maven.
But thats more work than I can be bothered to do.
2020-03-26 19:40:00 +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
Juuxel 705754de80 Change mixin refmap default name to use archivesBaseName instead of the project name (#158)
* Change mixin refmap default name to use archivesBaseName instead of the project name

Using the project name can be problematic in libraries pulled in with Jitpack.
Jitpack clones projects in a directory called "build", which sets the
project name to "build" if not manually defined. The resulting refmap,
"build-refmap.json", can conflict with other mods' refmaps,
leading to mixin crashes.

* Shut up checkstyle
2019-12-29 17:29:19 +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
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
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
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 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 0b07f1badf Add a quick way to specify custom minecraft manifest urls 2019-08-15 17:45:08 +01:00
modmuss50 c2ccece4c2 Fix getRootProjectPersistentCache() not using the root project, closes #113 2019-06-24 11:23:28 +01:00