Commit Graph

1381 Commits

Author SHA1 Message Date
modmuss50
b7f4939632 Harden downloader against partial downloads by creating a lock file while downloading. 2022-07-30 00:02:14 +01:00
modmuss50
7f1b006d66 Fix misleading error, afterEvaluate is still call even if the build has already failed. 2022-07-29 23:48:28 +01:00
modmuss50
37850a5868 Add ValidateMixinNameTask 2022-07-29 20:55:30 +01:00
modmuss50
c4240eff16 Ensure that deps with injected ifaces are on both the compile and runtime classpath. (#689) 2022-07-26 12:47:00 +01:00
modmuss50
a0187c95e4 Ensure that deps with injected ifaces are on both the compile and runtime classpath. 2022-07-25 22:50:12 +01:00
modmuss50
c06fa216df Add maxRetries to the downloader, should help when downloading the assets. 2022-07-25 20:15:56 +01:00
modmuss50
53f239fd8e Remove shareCaches option, has not been used for a few versions.
Was basically designed for FabricAPI only, now the same is applied where possible to all projects in a much better fashion.
2022-07-25 18:39:39 +01:00
modmuss50
688385a1bb Update deps + fix some failing tests. 2022-07-25 18:37:16 +01:00
modmuss50
c4c6de23e3 Rewrite download utils (#681)
- eTag support (It seems Mojang's CDN and our meta/maven do not support this right now)
- Age based caching.
- Sha1 based caching.
- HTTP(S) proxy settings should now be respected.
- The downloader has better awareness of offline mode and refresh deps, cleaning up the calling code a bit.
- Uses the new Java 11 HTTP client, provides async support for downloading multiple files
- Progress handling (TODO needs hooking up to gradle)
- Better compression support. Handled by [Methanol](https://mizosoft.github.io/methanol/) 
- Unit tested with a real web server.
2022-07-25 18:01:11 +01:00
shedaniel
b9905c322c Support JarJar (#93)
* Support JarJar

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

* Use @Input instead @Internal and remove random lines

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

* Resolve reviews

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

* Turn them into records

Signed-off-by: shedaniel <daniel@shedaniel.me>
2022-07-18 01:09:57 +08:00
Juuz
0c6b79d205 Fix checkstyle
Yes, I did manage to mess it up on a one-liner!
2022-07-17 12:41:35 +03:00
Juuz
11b4016def Add log message to MCP listLibraries step
Closes #94.

Hopefully people won't be as confused about
why it takes so long now.
2022-07-16 13:23:55 +03:00
shedaniel
e193fdc5c2 Merge remote-tracking branch 'FabricMC/dev/0.12' into dev/0.12.0 2022-07-16 15:59:51 +08:00
modmuss50
4bc7e39149 Ensure the compileClasspath is fully resolved before migrating mappings. 2022-07-08 20:41:53 +01:00
modmuss50
dbbc3457d5 Ensure all mercury classpath entries exist. Fixes a migrateMappings crash in some multi-project setups. 2022-07-08 20:31:25 +01:00
modmuss50
991628d619 Ensure all mercury classpath entries exist. Fixes a mmigrateMappings crash in some multi-project setups. 2022-07-08 20:28:52 +01:00
Juuz
fabf29a003 Revert accidental .toPath() call with ModUtils.isMod 2022-07-07 12:51:20 +03:00
Juuz
e75f1bf993 Make ModPlatform.isMod return true for Fabric mods on Quilt 2022-07-07 11:28:58 +03:00
Juuz
36eab255f0 Disable ModJavadocProcessor on Forge
It only reads from fabric.mod.json, so
it's not relevant here.
2022-07-07 11:18:22 +03:00
Juuz
549fd9c930 Merge remote-tracking branch 'upstream/dev/0.12' into dev/0.12.0
# Conflicts:
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/task/RemapTaskConfiguration.java
2022-07-07 11:04:31 +03:00
modmuss50
aa77ad8c4c Support Mixin 0.8.5's configurable AP message levels.
Same API as MixinGradle. Closes #671
2022-07-03 21:23:36 +01:00
modmuss50
14b24b7e2b Support configuring run environment variables & Fixes #653 2022-07-03 20:51:45 +01:00
modmuss50
48fafb9a64 Remove unused properties. 2022-07-03 15:09:45 +01:00
modmuss50
35d37def55 Add JarSplitter.
Still needs writing up.
2022-07-03 15:07:13 +01:00
shedaniel
989bde901d Fix #91
Signed-off-by: shedaniel <daniel@shedaniel.me>
2022-07-03 18:34:22 +08:00
modmuss50
5f09152e9f Merge branch 'dev/0.12' into exp/0.13 2022-07-02 23:42:41 +01:00
modmuss50
b25e5cd5a6 Only realise the gradle property being queried.
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2022-07-02 23:38:49 +01:00
modmuss50
97927f913a Replace getRemapArchives & getSetupRemappedVariants with a gradle property. (#678)
* Replace getRemapArchives & getSetupRemappedVariants with a gradle property as they are evaluated too early to be set.

* Use true for all projects.

* Cleanup, you can set properties for each subproject.

* Fix docs.
2022-07-01 18:13:56 +01:00
modmuss50
1e77bb0404 Reject the unmapped dependency from the target configuration. Completes #679
Prevents having duplicate dependencies on the classpath.
2022-06-29 18:22:21 +01:00
modmuss50
da34ea4bf0 Only run the idea sync task when one or more run configs is generated for the project.
Speeds up a fabric API sync by a reasonable amount.
2022-06-26 14:04:53 +01:00
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
9b2b857b38 Update MC manifest url. 2022-06-21 19:05:09 +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
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
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
Jared
722a72f999 Add Jetbrains Annotations to test compile (#670) 2022-06-16 19:07:40 +01:00
Juuz
bf804e3596 Fix code format 2022-06-09 00:45:38 +03:00
Juuz
f4bef55fc8 Merge remote-tracking branch 'upstream/dev/0.12' into dev/0.12.0 2022-06-09 00:41:49 +03: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
shedaniel
3d574e01f5 Fix alternative mappings on Forge 1.19
Signed-off-by: shedaniel <daniel@shedaniel.me>
2022-06-09 01:42:51 +08:00
shedaniel
6e785f9375 Merge remote-tracking branch 'FabricMC/dev/0.12' into dev/0.12.0
# Conflicts:
#	src/test/kotlin/net/fabricmc/loom/test/kotlin/KotlinClassMetadataRemappingAnnotationVisitorTest.kt
2022-06-04 16:51:14 +08:00
modmuss50
768d15d7d9 Fix #659 Crash on arm machines with using 1.19-pre1+ 2022-05-29 09:58:57 +01:00
Juuxel
547c8aa158 Deduplicate mod classes from ModSettings and ForgeLocalMods combined
Previously it was only done at the level of individual
ModSettings or ForgeLocalMods, which doesn't work if you
have both with the same name.
2022-05-27 15:24:23 +03:00
Juuxel
7801be3588 Downgrade Mercury Java version
See architectury/mercury#2
2022-05-27 14:11:59 +03:00
Juuxel
64a77ee3cd Support ModSettings on Forge for MOD_CLASSES (untested) 2022-05-27 14:01:59 +03:00