Commit Graph

106 Commits (5a16440c1efec12870953e369f0f481d37c16b23)

Author SHA1 Message Date
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
Cat Core a91b75c05c
Allow to set custom intermediary url again (#528)
* allow to set custom intermediary url again

* apply suggestions

* add some javadoc
2021-11-01 15:47:28 +00: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
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
Juuxel b955affb1a
Expose 'loom' extension as the API, deprecate 'minecraft' extension (#449) 2021-07-26 20:20:23 +01:00
shedaniel 75234f4cbd
Use Property in LoomGradleExtension & Move task groups to constants (#445)
* Use Property in LoomGradleExtension

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix customMinecraftManifest

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Add deprecation messages, let's wait for the tests to run to fix the tests that are using deprecated apis

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Apply license

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Update src/main/java/net/fabricmc/loom/util/DeprecationHelper.java

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

* Fix some tests, move mixinRefmapName -> mixin.defaultRefmapName

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Move back to the api

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix some tests

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Apply reviews

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Update src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java

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

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-07-26 20:08:03 +01:00
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