Commit Graph

1046 Commits

Author SHA1 Message Date
Juuz
0f4c4bd087 Merge remote-tracking branch 'upstream/dev/0.11' into dev/0.11.0
# Conflicts:
#	build.gradle
#	src/main/java/net/fabricmc/loom/LoomGradleExtension.java
#	src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
#	src/main/java/net/fabricmc/loom/build/mixin/AnnotationProcessorInvoker.java
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java
#	src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
#	src/main/java/net/fabricmc/loom/configuration/processors/MinecraftProcessedProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingLayer.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/intermediary/IntermediaryMappingsSpec.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftProvider.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
#	src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionImpl.java
#	src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
#	src/main/java/net/fabricmc/loom/task/LoomTasks.java
#	src/main/java/net/fabricmc/loom/task/MigrateMappingsTask.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
#	src/main/java/net/fabricmc/loom/task/ValidateAccessWidenerTask.java
#	src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java
#	src/main/java/net/fabricmc/loom/task/service/MappingsService.java
#	src/main/java/net/fabricmc/loom/util/Checksum.java
#	src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java
#	src/test/resources/projects/kotlin/build.gradle.kts
2022-01-18 17:43:44 +02:00
modmuss50
e9d1f005d9 Add server only jar configuration option. (#574)
* Add server only option.

* Fix crash.

* Fix unpick jar task name.

* Revert test memory change

* Dont add client only libraries.

* Fixes

* Move option to the extension
2022-01-17 22:11:08 +00:00
modmuss50
d71af0cfd7 Kotlin metadata annotation remapping (#573)
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2022-01-16 23:48:36 +00:00
modmuss50
421b41ebc7 Fix misc jar remapping issues. 2022-01-16 17:01:56 +00:00
modmuss50
d40241d75a Fix performance regressions in large multi-project builds. (#571)
* Perf improvements to multi-project builds.

* Fixes.

* More fixes.

* Layered mappings fixes

* Perf improvements. Undo broken fix.

* Fix remap classpath being empty.

* Another gradle bug? Either way this is fine and works.

* Fix broken test

* Final fixes?

* Fix and cleanup mixin ap mappings.
2022-01-14 19:50:45 +00:00
shedaniel
874671eb7f Fix merge conflicts, it compiles, but shouldn't work
Signed-off-by: shedaniel <daniel@shedaniel.me>
2022-01-06 16:03:03 +08:00
shedaniel
158185d374 Merge branch '0.11.0-interf' into dev/0.11.0
# Conflicts:
#	.github/workflows/test.yml
#	build.gradle
#	src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
#	src/main/java/net/fabricmc/loom/build/JarRemapper.java
#	src/main/java/net/fabricmc/loom/build/MixinRefmapHelper.java
#	src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java
#	src/main/java/net/fabricmc/loom/build/mixin/AnnotationProcessorInvoker.java
#	src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/JarManifestConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java
#	src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java
#	src/main/java/net/fabricmc/loom/configuration/ide/SetupIntelijRunConfigs.java
#	src/main/java/net/fabricmc/loom/configuration/providers/LaunchProvider.java
#	src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java
#	src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
#	src/main/java/net/fabricmc/loom/extension/MixinExtensionImpl.java
#	src/main/java/net/fabricmc/loom/task/LoomTasks.java
#	src/main/java/net/fabricmc/loom/task/RemapJarTask.java
#	src/main/java/net/fabricmc/loom/task/RemapSourcesJarTask.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
#	src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
2022-01-06 15:28:38 +08:00
shedaniel
6bca7d2b60 Merge remote-tracking branch 'architectury/dev/0.10.0' into dev/0.11.0 2022-01-06 15:12:59 +08:00
modmuss50
6fd3d5d021 Delete existing sources jar when re-running jar processors. Fixes #560 2022-01-05 09:58:19 +00:00
modmuss50
240a23f52d Improve decompiler options by moving them away from the task.
Done because the split jar changes required registering the decompiler task after evaluation.
As there may be more than one decompile task, the options are set per decompiler and not per task.
This should also make easier to add new decompilers without requiring a plugin.
2022-01-05 09:49:11 +00:00
modmuss50
19143fc5a8 Remove JarProcessor#isInvalid and impl getId correctly. 2022-01-04 21:40:20 +00:00
modmuss50
4158062ce5 Experimental support for split common and clientonly minecraft jars. (#561)
This lays the ground work for split client and server mod code. With this first phase when enabled loom will generate a clientonly and common minecraft jar. Fabric loader and API will both need changes to support this before it can be used to develop mods.

Phase two of this project will handle splitting mod code into a client and common source set along with spliting any dependencies. 

Mostly fixes #539 by sepreating decompile tasks
2022-01-04 21:19:03 +00:00
shartte
ccfe12eb17 Interface Injection (#496)
* Added interface injection via fabric.mod.json.

* Added interface injection

* Added amending of class signature with injected interface.
2022-01-04 18:15:21 +00:00
modmuss50
03d3950d11 Exclude client only libraries in server run task. 2021-12-30 00:15:18 +00:00
modmuss50
15afb45769 Exclude client only libraries in the IntelliJ server run config. 2021-12-29 23:52:13 +00:00
val = int(1)
7611e3a632 Add support for mixin files outside of root in MixinRefmapHelper (#536)
* Add support for mixin files outside of root in MixinRefmapHelper

* Fix checkstyle + Integration tests + Checks all srcDirs from sourceSet

* Redid part that failed to save for last commit

* Other issues fixed

* Checkstyle again

* Made getting root paths safer

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

* CodeNarc for test

* Normalized all paths to fix issues on Windows

* Removed debug line used to test return value of lamdba

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-12-29 22:16:13 +00:00
modmuss50
63f2b51b2c Fix include generating modid's that are too long for loader
Co-authored-by: NebelNidas <burnerjulian@gmail.com>
2021-12-29 22:06:34 +00:00
modmuss50
e985cb85d4 Only quote program arguments if they actually contain spaces 2021-12-29 22:03:06 +00:00
Juuxel
005d180e0c Fix up-to-date checks for ValidateAccessWidenerTask (#565)
* Apply mitigation's against Log4J2 exploit CVE-2021-44228.

* Only warn when the yarn version does not match the minecraft version.

Should allow yarn versions to be used across mc versions when needed.

* Fix up-to-date checks for ValidateAccessWidenerTask

Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-12-29 21:59:19 +00:00
modmuss50
2752b61cb7 Cleanup signature fixer code + add basic integration test. Fixes #546 2021-12-29 19:27:24 +00:00
modmuss50
9ca915df15 Undo accidental code commenting. 2021-12-29 00:12:27 +00:00
modmuss50
53b839b739 Decompiler API improvements:
* Fix decompiler tasks getting registered in afterEvaluate
* Allow decompilers to add file collections to the forked JVM classpath.
* General code cleanup.
2021-12-29 00:10:58 +00:00
modmuss50
e4244dc895 Remove idea-ext plugin, replace with 1 internal gradle api. Vastly improves import performance. 2021-12-20 16:54:03 +00:00
modmuss50
ab21e0e550 Rewrire Jar and Source remapping tasks. (#504) 2021-12-20 16:29:11 +00:00
KosmX
b2b0221cb1 fix a multi-project issue (#65) 2021-12-19 01:59:28 +08:00
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
2bdf2b3230 Add forgeExtra back to compile classpath
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-12 22:44:23 +08:00
shedaniel
14d4b4157d Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0 2021-12-12 22:05:02 +08:00
Juuxel
1da4f6db84 Add forgeRuntimeLibrary configuration + some clean up (#64) 2021-12-11 19:28:06 +08:00
modmuss50
4eb0290bb4 Apply mitigation's against Log4J2 exploit CVE-2021-44228. 2021-12-10 10:59:14 +00:00
shedaniel
67bc46a6b3 Merge remote-tracking branch 'FabricMC/exp/0.11' into dev/0.11.0
# Conflicts:
#	.github/workflows/publish.yml
#	.github/workflows/test.yml
#	bootstrap/test-project/build.gradle
#	build.gradle
#	src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
#	src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java
#	src/main/java/net/fabricmc/loom/util/Constants.java
2021-12-08 22:06:34 +08:00
shedaniel
d95f6a2a4c Patch ModDependencyInfo for fabric.mod.json check
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-08 22:03:21 +08:00
shedaniel
261a42abde Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
Signed-off-by: shedaniel <daniel@shedaniel.me>

# Conflicts:
#	build.gradle
#	src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
2021-12-08 21:55:57 +08:00
shedaniel
a6a1d5d29b Move architectury.common.json check behind fabric.mod.json
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-08 21:38:24 +08:00
shedaniel
3c8e1f8b31 Allow transitive access wideners to be declared through architectury.common.json
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-05 18:56:31 +08:00
modmuss50
4ace257c37 Fix unit tests 2021-12-04 19:00:47 +00:00
modmuss50
efddf8f35c Run validate access widener task before genSources. Closes #550 2021-12-04 19:00:47 +00:00
modmuss50
6d65e120e7 Remove deprecated stuff 2021-12-04 19:00:47 +00:00
modmuss50
337d17bb92 Java 17 and update libs. Closes #545 2021-12-04 19:00:47 +00:00
Juuxel
ae383b8d4b Juuzify ArchitecturyLoomDecompiler (#60)
* Juuzify ArchitecturyLoomDecompiler

* Remove unused max memory
2021-12-05 01:53:32 +08:00
shedaniel
6a18e007a7 Add architectury decompiler (#59)
* Add architectury decompiler

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

* Perhaps let's not include javaexec helpers

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

* Fix checkstyle and resolve reviews

Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-04 03:55:47 +08:00
modmuss50
b550ca7857 Validate remapped mods also have a remapped access widener. (#549)
* Validate remapped mods also have a remapped access widener.

* Fix checkstyle
2021-12-02 18:59:47 +00:00
shedaniel
537057bb61 Don't print unstable loom warning
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-02 02:10:32 +08:00
shedaniel
d3b041a9db Fix support for Forge 1.18
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-12-02 01:04:35 +08:00
shedaniel
152d2801e4 Fix merge conflicts
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-11-29 01:54:17 +08:00
shedaniel
d51b44cdaa Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
# Conflicts:
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpecBuilderImpl.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/mojmap/MojangMappingLayer.java
#	src/main/java/net/fabricmc/loom/configuration/providers/mappings/mojmap/MojangMappingsSpec.java
#	src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
2021-11-29 01:49:31 +08:00
modmuss50
4b45783a54 Fix crash on Java 18 due to unpick using an outdated asm version.
Unpick will now get the same version of asm that loom is running with on its classpath.
2021-11-26 23:10:35 +00:00
modmuss50
60c908ea1b Fix duplicate comments about transitive access wideners. Fixes #544
A more sophisticated fix might be nice, but im not sure it will provide a lot of benefit.
2021-11-25 18:53:04 +00:00
modmuss50
7b28d61fab More improvements/fixes to shared caches maven publications + test improvements. 2021-11-25 14:49:17 +00:00
Juuxel
9ddff5f31a Fix gradle module metadatas not including api deps in runtimeElements (#540) 2021-11-23 18:35:08 +00:00