Commit Graph

881 Commits

Author SHA1 Message Date
modmuss50
3700fad9ca ARM64 Windows & Linux support for MC versions that have classpath natives. Closes #675 2022-06-26 00:02:46 +01:00
modmuss50
da2992e7d9 Configurable remap configs. (#674)
* First pass at configurable remap configs.

* No benefit to making it lazy: https://github.com/gradle/gradle/blob/v7.4.2/subprojects/plugins/src/main/java/org/gradle/api/plugins/BasePlugin.java#L104 ... fixes some stuff to make it work.
2022-06-25 21:38:43 +01:00
modmuss50
317c6daedd Apply the same manifest attributes to the sources jar. Including a list of client only entries.
Will be used to split the sources into client/common jars in a later change.
2022-06-20 21:11:11 +01:00
modmuss50
f705e997e8 Add "fabric.loom.test.homeDir" system prob to re-use gradle home between test runs. Vastly speeds up unit tests. 2022-06-20 20:49:35 +01:00
modmuss50
e86e2fc39c Lazily eval jar tasks. 2022-06-20 20:39:10 +01:00
modmuss50
ac0917e9cb Fix client only sources missing from sources jar registered after enabling split sourcesets. 2022-06-20 20:23:39 +01:00
modmuss50
78db6145fd Cleanup old derp from MigrateMappingsTask. Closes #657 2022-06-20 20:17:22 +01:00
modmuss50
d1263e1539 Fix handling of mismatched client/server library versions. Closes #665 2022-06-20 20:16:15 +01:00
modmuss50
0460f0d618 Fix crash introduced in previous zip related changes. 2022-06-20 20:13:03 +01:00
modmuss50
e422dab784 Merge branch 'dev/0.12' into exp/0.13 2022-06-20 19:42:38 +01:00
modmuss50
d7001e9a3d Don't use java toolchain for bootstrap project.
Reverts an accidental change from fff4afe405
2022-06-19 13:26:24 +01:00
modmuss50
651bcec276 Use TR's ref coutning FileSystemHandler (#639)
* Dont depend on other prepare tasks, only run after.

* Update for: https://github.com/FabricMC/tiny-remapper/pull/93

* Cleanup

* Bump deps
2022-06-16 19:22:13 +01:00
modmuss50
ef614e53c2 Start 0.13 cycle 2022-06-16 19:09:50 +01:00
Jared
722a72f999 Add Jetbrains Annotations to test compile (#670) 2022-06-16 19:07:40 +01:00
modmuss50
84a70b3e5d Disable excluding client only libraries from the server run.
Mojang hot-fixed netty on the client only, causing loom to think its now a client only lib...

This needs improving to not care about the versions.
2022-06-08 19:26:17 +01:00
modmuss50
adc44ce0e9 Add "fabric.loom.skip-env-validation" property to skip environment validation. 2022-06-03 22:46:46 +01:00
modmuss50
38bc74db30 Fix build 2022-05-30 19:09:28 +01:00
modmuss50
ddd1081c28 Fix failing tests 2022-05-30 17:20:13 +01:00
Jason
c8e7fe2212 Add kotlin tests to actions matrix (#660) 2022-05-30 17:18:33 +01:00
modmuss50
768d15d7d9 Fix #659 Crash on arm machines with using 1.19-pre1+ 2022-05-29 09:58:57 +01:00
modmuss50
a2e84e242a Fix #654 2022-05-26 11:32:53 +01:00
modmuss50
3066b58059 Fix retrieving kotlin plugin version for beta/rc builds. 2022-05-26 11:31:45 +01:00
modmuss50
07ded449ee Update mercury and set source compatibility version to 17 2022-05-26 11:21:53 +01:00
modmuss50
4f079f83aa Add dependency and configuration helpers to ModSettings. 2022-05-26 11:09:25 +01:00
modmuss50
1956c03df2 Handle missing classpath entries when source remapping. 2022-05-21 01:05:10 +01:00
modmuss50
86d74b789a Fix client remap classpath. 2022-05-21 00:53:14 +01:00
modmuss50
79668102c0 Fix crash when syncing idea when server only is enabled. Closes #652 2022-05-20 13:46:43 +01:00
modmuss50
40b3ebc80e Add property to control if a remap jar includes client only entries. 2022-05-20 11:22:05 +01:00
modmuss50
743e009068 Fix default client run config name when using split sourcesets. 2022-05-20 01:01:01 +01:00
modmuss50
e1dc1f0684 Ensure nightly gradle version exists before using it to run tests.
Will stop all tests failing when nightly version is removed.
2022-05-19 20:42:54 +01:00
modmuss50
1b6fa615c4 Preserve extraInt in kotlin metadata remapper
The `extraInt` (`xs`, [1]) parameter of Kotlin's Metadata annotation does not become
part of the KmClass/KmLambda and must be preserved explicitly to not be lost
during remapping.

It does carry important information though, so we must not neglect it.
In particular, bit 7 indicates that the class is used in the scope of an inline
function and is therefore implicitly part of the public API. If this flag is
missing from a class which requires it, then it becomes impossible to use that
inline function because the Kotlin compiler will crash hitting an assertion
while trying to inline the required code [2].

Based on the descriptions in [1], it looks like none of this data should be
affected by our remapping in any way, so it seems safe to simply copy over the
value from the original annotation. And that's what this commit does.

[1]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-metadata/extra-int.html
[2]: https://i.johni0702.de/sOpA8.png

Co-authored-by: Jonas Herzig <jonas@spark-squared.com>
2022-05-19 20:17:54 +01:00
modmuss50
c46100c76e Fix split env overriding custom run config sourcesets. 2022-05-19 01:24:58 +01:00
modmuss50
997f9a8acd Fix generation of invalid classpath groups when idea compiler output dir is not set. 2022-05-18 23:47:17 +01:00
modmuss50
5a8e048950 Delay removal of legacy publication data changes. 2022-05-18 23:00:12 +01:00
modmuss50
23dfe606bb Fix mod settings for sourcesets from other projects. (#642) 2022-05-18 22:56:35 +01:00
modmuss50
b8687c87ce Support 1.19-pre1, natives are now all loaded via the classpath. 2022-05-18 18:27:11 +01:00
Juuxel
bab1aa8216 Expose underlying messages in RemapJarTask and Minecraft setup (#650)
Closes #649. Closes #638.
2022-05-17 21:35:38 +01:00
modmuss50
9f341a9b47 Dont depend on other prepare tasks, only run after. (#637) 2022-05-10 23:22:01 +01:00
modmuss50
138685d141 Reduce log level when transitive access widener fails to find target method in mappings.
See: https://github.com/FabricMC/fabric-loom/issues/644
2022-05-10 19:37:00 +01:00
modmuss50
8c227a2d8c Fix/cleanup AP configuration name. (#643) 2022-05-10 19:31:21 +01:00
modmuss50
5e799e8072 Cancel in progress PR tests when PR is updated with more commits. 2022-05-10 18:26:09 +01:00
modmuss50
8b3bfde825 Add LibraryLocationLogger to help debug loom library version issues. 2022-05-01 13:26:03 +01:00
modmuss50
752c829eb0 Fix ModSettings not using a ConfigurableFileCollection :)
Need to add some tests for this ;)
2022-04-30 21:35:17 +01:00
KosmX
6ecaa609e8 Create MixinMappingsService for every target MC version. (#631)
* Create MixinMappingsService for every target MC version.

* Use mappings identifier to identify MixinMappingsService.
2022-04-21 20:55:37 +01:00
modmuss50
1dfea9ef7e Add a FileCollection to ModSettings 2022-04-21 20:52:11 +01:00
modmuss50
b7cdb718d7 Update to support 22w16a's arm64 macos natives, and tiny remapper. 2022-04-20 18:37:11 +01:00
modmuss50
f632dee2df Mod provided javadoc (#627) 2022-04-19 23:30:28 +01:00
modmuss50
29499fd0bd Workaround: https://github.com/gradle/gradle/issues/14727 2022-04-19 18:14:50 +01:00
modmuss50
5f5dfcb3a7 Add refmap target namespace property. (#628)
* Add refmap target namespace Property.

* Fix build.
2022-04-17 21:15:58 +01:00
modmuss50
0fda2a07bd Improve kotlin plugin version retrieval.
Update FLK in test.
2022-04-17 20:20:50 +01:00