Commit Graph

41 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
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
shedaniel be17a02e90
Use better gradle conventions, and fix #311 (#503)
* Use better gradle conventions, and fix #311

* Fix checkstyle

* Revert some changes

* Use convention

* Remove set classpath
2021-09-22 21:59:51 +01:00
shartte d48c74161e
Access Widener 2.0 with support for Transitive Access Wideners (#484)
* Added global access widener support.

* Adapt loom to changed API of latest AW PR.

* Fix expected access widener to fix the test. Since the access widener is now streamed directly into the writer, the expanded rules (i.e. accessible field makes the owning class also accessible) are no longer found in the remapped file.

* Add basic transitive accesswidener test

* Extracted applying transitive access wideners into their own jar processor since they also need to be applied if there is no AW in the mod itself.

* Misc assortment of fixes

* Set up the processor lazily to allow for adding the intermediary MC jar, which is needed to correctly remap intermediary AWs to named.

* Rework to setup the tiny remapper classpath with the mc jar
Add an extension prop to disable

* Add TransitiveDetectorVisitor

* Minor refactoring.

* Use release-version of access-widener.

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-14 22:40:47 +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
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 08f055489b
Fix the java software component not working with Loom and fix #200 (#460)
* Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime

* begin

* continue

* Make RemapSourcesJarTask use properties

* finish

* Remove cursed version hack 😉

* Finish for real

* Add missing header

* Clarify a comment

* Fix tests

* Use Gradle's own *Elements and remove -dev jars

* Fix maven test

* Put mappingsFinal onto runtimeClasspath instead of implementation

* Make non-mod dependencies work with the legacy pom magic too

* Be a bit more clever when removing dev artifacts
2021-09-05 16:08:16 +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
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 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
modmuss50 1f9f48052b
Basic layered mappings with @ParchmentMC support (#413) 2021-06-14 18:39:03 +01:00
modmuss50 c8df12cf0f
Update to Gradle 7 (#380)
* Gradle 7 part 1

* Fix actions?

* Update actions

* Fix tests not running

* Fix some broken tests

* Update kotlin to try and fix JDK 16 support

* Disable KotlinTest on j16

* exclude kotlin test from actions...
2021-04-04 23:02:00 +01:00
modmuss50 e6ac2afc7b
Ensure outputs are reproducable across all OS's. (#363) 2021-03-15 23:31:18 +00:00
modmuss50 7231b9e053
Mod Remapping Refactor. (#362)
Improved gradle 7 support
General cleanup
2021-03-12 22:16:24 +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 03444f26b0
General code cleanup (#313)
* First general cleanup pass

* Review feedback

* Fix build

* Fix tests
2020-12-24 20:58:30 +00:00
i509VCB b0860c36d6
Add ability to specify additional tiny remapper options in remapJar (#292)
* Add ability to specify additional tiny remapper options in remapJar

* Imports go brr

* Fix checkstyle

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2020-12-21 21:02:39 +00:00
modmuss50 e20993daf8 Allow setting the RemapJarTask classpath. Closes #307 2020-12-21 20:42:23 +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 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
Reece Dunham 1955bcb2ea General cleanup 2020-07-26 21:32:10 +01:00
modmuss50 32eb0bd3c8 First pass on "shareCaches". 2020-06-27 20:18:32 +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
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
Fudge 8e916f8fb0 Support using TinyV2 mappings (#132) 2019-11-09 19:00:36 +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 13ae0ae263 Initial gradle 6.0 rc1 fixes, ugly but works. Closes #131 2019-10-22 20:28:00 +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
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 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