Commit Graph

1385 Commits

Author SHA1 Message Date
Juuz
181b20fbb9 ModMetadataFabricModJson: Use absolute path for describing directories 2023-02-16 23:35:31 +02:00
Juuz
e976b74f97 AbstractMappedMinecraftProvider: Make jar prefix lowercase too 2023-02-16 22:18:22 +02:00
Juuz
b27eeecfdf AccessWidenerUtils: Allow jars with no mod metadata 2023-02-16 22:18:09 +02:00
Juuz
94b77c6d83 Document ModMetadataFile 2023-02-16 22:16:12 +02:00
Juuz
878bc5c1a1 Various fixes 2023-02-16 22:02:06 +02:00
Juuz
af4fab2b02 Rename FieldMigratedMappingsProvider -> FMMappingConfiguration 2023-02-16 21:52:04 +02:00
Juuz
682621ed75 Restore architectury.common.marker support 2023-02-16 21:50:04 +02:00
Juuz
c11c004395 Document MappingsNamespace.SRG 2023-02-16 21:46:51 +02:00
Juuz
a2ef9dbc83 ModMetadataFabricModJson: Determine "mod ID" from source if missing 2023-02-16 21:43:41 +02:00
Juuz
2456edf285 ModMetadataFabricModJson: Add support for custom values in quilt.mod.json 2023-02-16 21:30:41 +02:00
Juuz
08f9ebe32e Add support for multiple access wideners in Quilt mods 2023-02-16 21:16:18 +02:00
Juuz
e2dfa8a410 Mod metadata fixes 2023-02-16 21:10:59 +02:00
Juuz
e4ce4d03c7 1.1 merge: Fix compilation 2023-02-16 21:08:17 +02:00
Juuz
9e041899ae Merge with Fabric 1.1, stage 9 2023-02-16 21:03:55 +02:00
Juuz
7df47a32e9 Merge with Fabric 1.1, stage 8 2023-02-16 21:02:33 +02:00
Juuz
16e1eda2c6 Merge with Fabric 1.1, stage 7 2023-02-16 20:59:03 +02:00
Juuz
1d6d7b5489 Merge commit 'af21d602' into exp/1.1 2023-02-16 20:46:17 +02:00
Juuz
db8ef472cc Merge with Fabric 1.1, stage 5 2023-02-16 20:45:08 +02:00
Juuz
8f5c5c773c Merge with Fabric 1.1, stage 4 2023-02-16 17:35:35 +02:00
Juuz
0314829e26 Merge with Fabric 1.1, stage 3 2023-02-16 01:02:58 +02:00
Juuz
4e9b50fcbc Merge with Fabric 1.1, stage 2 2023-02-16 01:00:05 +02:00
Juuz
81d1f5d562 Merge with Fabric 1.1, stage 1 2023-02-16 00:53:48 +02:00
Juuz
3bae7bf8b0 Update forge runtime to 1.1.4 2023-02-07 19:48:42 +02:00
modmuss50
97f594da8e Recursively copy configurations.
Co-authored-by: Juuz <6596629+juuxel@users.noreply.github.com>
2023-01-28 13:46:33 +00:00
modmuss50
0fa4e1e05e Fix #815 - Regression causing TAWs from runtime only deps to be applied. 2023-01-25 09:30:36 +00:00
modmuss50
2bcee320d4 Fix download sources hook not working for client only jars. 2023-01-24 23:17:57 +00:00
modmuss50
f61afd865e Fix client environment annotations not being applied to the client only jar when using split sources. 2023-01-24 23:13:19 +00:00
modmuss50
5094a8af86 Update MCE (#818) 2023-01-24 10:54:37 +00:00
modmuss50
a1e671b719 Fix and test jar processor caching. 2023-01-23 22:06:05 +00:00
modmuss50
b22c66f0be Update dependencies 2023-01-22 13:34:28 +00:00
Juuz
06e9fb16e5 Rewrite the internals of mod configuration remapping to fix bugs (#807)
* Add test for #801

* Add test for #572

* Rewrite mod configuration remapping internals to fix bugs

Fixes #801. Fixes #572.

- Instead of individual mod configs getting remapped, Loom now remaps
  "collector configs": `mod[Compile/Runtime]Classpath[source set name]`
  (eg `modRuntimeClasspathMain` -> `modRuntimeClasspathMainRemapped`)
  - This lets us use Gradle's `org.gradle.usage` attributes to select
    whether it's a compile-time or runtime dependency
  - Note: Remap configurations sourcing from `api` are partially left
    intact due to their special logic in the `namedElements` configuration.
- Setting the proper usages fixes #801.
- No dependency files are added to the real target configurations
  (like `api` and `implementation`) anymore.
  - This fixes #572, since `runtimeClasspath` and `compileClasspath` don't
    leak transitive dependencies unlike `implementation` etc.

* Fix checkstyle

* Fix split env dependency consumers

* Only use collector configs for remapped deps and let the inputs stay intact

This way the code has less duplication.

* Improve log messages

* Update year

* Add some comments

* Fix compilation

* Use LinkedHashMap for reliable iteration order through remapped configs

* Use ImmutableMap.of instead of Map.of for reliable ordering

* ModConfigurationRemapper: Move namedElements handling out of forEach

* Add regression test for a crash where loader is resolved after other mods

* Fix the aforementioned bug

* Rename InstallerDataTest -> DependencyOrderTest

* Add TODO about refresh dependencies

The code currently processes the same deps multiple times when
--refresh-dependencies/-Dloom.refresh=true/a cache invalidation
is applied.

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2023-01-21 23:03:42 +00:00
Juuz
40144c176f Fix code style 2023-01-21 13:19:41 +02:00
Juuz
5fbf3f4693 Delete temp files in Forge-related code after use
Windows doesn't remove them automatically, so we shouldn't let
them stay around after we're done using them.
2023-01-21 13:19:02 +02:00
modmuss50
7f06b64693 Fix issue caused in previous commit. 2023-01-16 21:53:44 +00:00
modmuss50
63ecb88082 Gradle 8 tests, perf/memory optimisations (#796)
* Add gradle 8 tests
Reuse gradle home between tests
Misc perf and mem optimisations

* Fix build warning.

* Added multi mc version test

* Use server launcher in ServerRunner

Co-authored-by: Luna <62033805+Luna5ama@users.noreply.github.com>
2023-01-16 18:39:26 +00:00
modmuss50
0c68994aa6 Fix #755 2023-01-16 18:38:16 +00:00
modmuss50
2d10e42f4d Fix broken etag handling. Maybe fixes #802 2023-01-16 18:25:59 +00:00
modmuss50
2b9072f37d Add RemapConfigurationSettings.getApplyDependencyTransforms to close #797 (#799) 2023-01-16 18:19:48 +00:00
Juuz
cf68a6eb1e Merge remote-tracking branch 'upstream/dev/1.0' into dev/1.0 2023-01-16 19:56:25 +02:00
modmuss50
7586911af8 Fix #789 2023-01-11 19:36:24 +00:00
modmuss50
60d4dac6ca Support MinimalExternalModuleDependency's as a FileSpec input (#785) 2023-01-11 10:54:03 +00:00
modmuss50
da4b01427f Move access widener jar processor for new processor API. (#787) 2023-01-10 23:19:21 +00:00
Vladimir Romashchenko
af21d602e9 fix: Colored logging in neovim (#795) 2023-01-10 18:07:23 +00:00
modmuss50
e9362b75d9 Merge remote-tracking branch 'origin/dev/1.0' into exp/1.1
# Conflicts:
#	src/main/java/net/fabricmc/loom/util/Constants.java
2023-01-10 18:05:16 +00:00
Juuz
93d3b4c1bd Slightly clean up ModProcessor and SourceRemapper 2023-01-08 22:20:01 +02:00
Juuz
bb904a5a5d Improve ModMetadataFile
- Add ModMetadataFile.fromJar
- Add ModMetadataFile.getId and getFileName
- Document the code
- Move AccessWidenerFile to ModMetadataFile
2023-01-07 15:05:53 +02:00
Juuz
f2c0d7a35d Split Architectury extensions to Fabric classes into new classes (#116)
* Split custom RemapJarTask logic into a new class

* Split a lot of logic for Arch and Quilt mod metadata into new classes

* ArchitecturyCommonJson: Fix outdated error message

* Add minimal unit tests for ACJ and QMJ

* QuiltModJson: Fix error when there are no injected interfaces

* QuiltModJsonTest: Add test for mixin configs

* QuiltModJsonTest: Move to correct package

* Add tests for creating ACJ and QMJ instances
2023-01-07 01:51:32 +02:00
modmuss50
fea5fee15f Fix #790 (#791) 2023-01-06 10:58:26 +00:00
modmuss50
912e54cd7a Disallow insecure protocols for downloads. (#784) 2023-01-03 14:11:16 +00:00
modmuss50
69d25b7f60 Include projects in jar processor inputs (#771)
* Include projects in jar processor inputs

* Add option to disable + tests
2022-12-30 15:09:30 +00:00