Juuz
27cfb8c033
Merge 1.2, part 2
2023-04-23 10:35:54 +03:00
modmuss50
c16303b9b2
Rewrite Minecraft Library handling. ( #857 )
...
This PR rewrites the Minecraft library processing with a more structured and testable set of "library processors". The old code is a mess of special cases and work arounds for various issues on various platforms.
Previously this was only really used on lesser used platforms/versions so wasnt a major issue if things broke, however current shipping Minecraft versions (1.19.4) use an LWJGL version that does not work well on Java versions new than 19. With this change LWJGL is upgraded when using Java 19 or later.
Upgraded libraries are also now only placed on the runtime classpath, this prevents you from using newer library features in your mod.
2023-04-17 00:07:52 +01:00
Juuz
f4fb29e26c
Remove beta notice
2023-04-01 16:50:13 +03:00
Juuz
3fed53ac21
LoomGradlePlugin: Add beta log message
2023-02-18 18:13:58 +02:00
Juuz
c5386d8795
Merge with Fabric 0.13, stage 5
2022-08-09 17:37:04 +03:00
Juuz
56995fd210
Merge with Fabric 0.13, stage 2
2022-08-09 17:25:34 +03:00
modmuss50
3913c2e897
Add a lock file around building the loom cache. Regenerate if the lock file exists.
...
This helps to ensure that failed or canceled builds do not cause the cache to be left in an undetectable invalid state.
2022-07-30 19:21:56 +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
Juuz
c35fa7f8f3
Merge remote-tracking branch 'upstream/dev/0.12' into dev/0.12.0
...
# Conflicts:
# .github/workflows/test.yml
# bootstrap/test-project/build.gradle
# build.gradle
# src/main/java/net/fabricmc/loom/LoomGradlePlugin.java
# src/main/java/net/fabricmc/loom/LoomRepositoryPlugin.java
# src/main/java/net/fabricmc/loom/api/MixinExtensionAPI.java
# src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
# src/main/java/net/fabricmc/loom/configuration/ifaceinject/InterfaceInjectionProcessor.java
# src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftJarConfiguration.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftProvider.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/mapped/AbstractMappedMinecraftProvider.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/AbstractRunTask.java
# src/main/java/net/fabricmc/loom/task/RemapJarTask.java
# src/main/java/net/fabricmc/loom/task/launch/GenerateDLIConfigTask.java
# src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java
# src/main/java/net/fabricmc/loom/util/Constants.java
# src/main/java/net/fabricmc/loom/util/ModUtils.java
# src/main/kotlin/net/fabricmc/loom/kotlin/remapping/KotlinMetadataTinyRemapperExtensionImpl.kt
# src/test/kotlin/net/fabricmc/loom/test/kotlin/KotlinClassMetadataRemappingAnnotationVisitorTest.kt
# src/test/resources/projects/kotlin/build.gradle.kts
2022-05-08 18:36:35 +03:00
modmuss50
8b3bfde825
Add LibraryLocationLogger to help debug loom library version issues.
2022-05-01 13:26:03 +01: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
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
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
modmuss50
6d65e120e7
Remove deprecated stuff
2021-12-04 19:00: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
b4fd2e10f5
Fix merge conflicts
...
Signed-off-by: shedaniel <daniel@shedaniel.me >
2021-09-29 01:28:29 +08:00
shedaniel
c6f51f1dd2
Add -Dloom.refresh=true option ( #508 )
...
* Add -Dloom.refresh=true option
* Use Boolean.getBoolean
2021-09-28 12:18:08 +01:00
shedaniel
eff1f8ba52
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.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/configuration/accesswidener/AccessWidenerJarProcessor.java
# src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/LayeredMappingSpecBuilderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/mojmap/MojangMappingLayer.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.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/extension/MinecraftGradleExtension.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/RemapSourcesJarTask.java
# src/main/java/net/fabricmc/loom/util/SourceRemapper.java
# src/main/java/net/fabricmc/loom/util/TinyRemapperMappingsHelper.java
# src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
2021-09-17 02:23:45 +08:00
modmuss50
9d9be1b842
Migrate fully to mapping-io + Add comments about transitive access widners to generated sources ( #495 )
...
* Add comments about transitive access widners to generated sources
* Migrate fully to mapping io
* Use release version of lorenz-tiny
* Review comment
2021-09-16 15:28:06 +01:00
shedaniel
d06081d560
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/future
...
# Conflicts:
# build.gradle
# src/main/java/net/fabricmc/loom/LoomGradleExtension.java
# src/main/java/net/fabricmc/loom/LoomRepositoryPlugin.java
# src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java
# src/main/java/net/fabricmc/loom/build/MixinRefmapHelper.java
# src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
# src/main/java/net/fabricmc/loom/configuration/MavenPublication.java
# src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
# src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java
# src/main/java/net/fabricmc/loom/extension/MixinExtensionImpl.java
# src/main/java/net/fabricmc/loom/task/RemapJarTask.java
# src/main/java/net/fabricmc/loom/util/Constants.java
# src/main/java/net/fabricmc/loom/util/SourceRemapper.java
# src/test/groovy/net/fabricmc/loom/test/util/ProjectTestTrait.groovy
2021-09-11 04:24:40 +08:00
modmuss50
8da2da8aed
Update checkstyle to prevent using var expect for new instance creation.
2021-09-07 11:55:05 +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
6d9065eb1e
Merge remote-tracking branch 'FabricMC/exp/0.10' into dev/future
...
# Conflicts:
# bootstrap/test-project/build.gradle
# build.gradle
# 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/task/RemapSourcesJarTask.java
2021-08-14 14:46:18 +08:00
shedaniel
57d5d20816
Fix checkstyle
...
Signed-off-by: shedaniel <daniel@shedaniel.me >
2021-08-14 02:50:23 +08:00
shedaniel
83de8bbc9a
Merge remote-tracking branch 'FabricMC/dev/0.9' into dev/0.9
...
# 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/JarRemapper.java
# src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
# src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/GradleMappingContext.java
# src/main/java/net/fabricmc/loom/extension/LoomGradleExtensionApiImpl.java
# src/main/java/net/fabricmc/loom/task/AbstractLoomTask.java
# src/main/java/net/fabricmc/loom/task/AbstractRunTask.java
# src/main/java/net/fabricmc/loom/task/LoomTasks.java
# src/main/java/net/fabricmc/loom/util/Constants.java
# src/main/java/net/fabricmc/loom/util/SourceRemapper.java
# src/test/groovy/net/fabricmc/loom/test/unit/layeredmappings/LayeredMappingSpecBuilderTest.groovy
# src/test/resources/projects/kotlin/build.gradle.kts
2021-08-14 02:31:16 +08:00
Logic
2f4cf35abf
Remove the Cache class in the LoomRepositoryPlugin, use LoomFiles instead. ( #464 )
...
* refactor LoomFiles to support Settings
* remove Cache class, use LoomFiles class
* fix checkstyle
2021-07-31 23:43:46 +01:00
Juuxel
b955affb1a
Expose 'loom' extension as the API, deprecate 'minecraft' extension ( #449 )
2021-07-26 20:20:23 +01:00
shedaniel
cea80b0119
Merge remote-tracking branch 'FabricMC/dev/0.9' into dev/0.9
...
# Conflicts:
# src/main/java/net/fabricmc/loom/LoomGradleExtension.java
# src/main/java/net/fabricmc/loom/configuration/CompileConfiguration.java
# src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java
# src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
# src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/mappings/MappingsProviderImpl.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/MinecraftMappedProvider.java
# src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java
2021-07-20 18:03:33 +08:00
shedaniel
07bc4eab7b
Merge branch 'upstream-0.9' into dev/0.9
...
# Conflicts:
# src/main/java/net/fabricmc/loom/LoomGradlePlugin.java
# src/main/java/net/fabricmc/loom/configuration/LoomDependencyManager.java
# src/main/java/net/fabricmc/loom/task/RemapJarTask.java
2021-07-20 17:44:04 +08: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
shedaniel
ad3d7613b8
Merge remote-tracking branch 'FabricMC/dev/0.9' into dev/0.9
...
Signed-off-by: shedaniel <daniel@shedaniel.me >
2021-07-13 18:28:53 +08:00
modmuss50
54fe0909ff
Use spotless for header validation, years have been back-filled from git history
2021-07-10 21:50:53 +01:00
shedaniel
10d810fad1
Readd silenceLicense
...
Signed-off-by: shedaniel <daniel@shedaniel.me >
2021-06-20 02:26:17 +08:00
shedaniel
a4c72b6f03
Merge remote-tracking branch 'FabricMC/dev/0.8' into dev/0.8
...
# Conflicts:
# .github/workflows/test-push.yml
# build.gradle
# settings.gradle
# src/test/groovy/net/fabricmc/loom/test/integration/dependencyResolutionManagement.groovy
2021-05-30 19:17:56 +08:00
modmuss50
8238db1778
Improve error messages when using outdated Java or Gradle.
2021-05-26 11:41:52 +01:00
LogicFan
e955ebb8c5
add support for new dependencyResolutionManagement ( #400 )
...
* move repo declartions
- Move repository declartions in MavenConfiguration.java to LoomRepositoryPlugin.java
* move repo declartions
- Move repository declartions in MinecraftMappedProvider.java to LoomRepositoryPlugin.java
* move repo declartions
- Move repository declarations in MinecraftProcessedProvider.java to LoomRepositoryPlugin.java
* do not add repositories if dependencyResolutionManagement is used
* Simplify the change on LoomGradlePlugin
- this is the suggestion from liach
* change name to follow fabric naming convension
- change getProjectUUID to getProjectUuid
- change PROJECT_MAPPED_CLASSIFIER to projectMappedClassifier
* remove MavenConfiguration.java
- the file currently do nothing.
* clean-up for all `instanceof` clause
* add DependencyResolutionManagementTest
* code cleanup
* Update src/test/resources/projects/dependencyResolutionManagement/projmap/src/main/resources/modid.accesswidener
* change project uuid to project full name
Co-authored-by: modmuss50 <modmuss50@gmail.com >
2021-05-22 23:28:42 +01:00
shedaniel
ec2b47fa14
Merge remote-tracking branch 'FabricMC/dev/0.8' into dev/0.8
...
# Conflicts:
# README.md
# build.gradle
# src/main/java/net/fabricmc/loom/LoomGradlePlugin.java
# src/main/java/net/fabricmc/loom/build/mixin/AnnotationProcessorInvoker.java
# src/main/java/net/fabricmc/loom/configuration/DependencyProvider.java
# src/main/java/net/fabricmc/loom/configuration/mods/ModProcessor.java
# src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
# src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java
# src/main/java/net/fabricmc/loom/task/GenVsCodeProjectTask.java
2021-05-14 06:43:07 +08:00
modmuss50
9fb167d506
General cleanup by making use of java 16 features ( #397 )
...
* General cleanup by making use of java 16 features
* use jackson-databind in place of gson when reading to a record
* Fixes
* cleanup
* dep updates
* Replace commons IOUtils usage with native java
* Update fernflower
2021-05-13 22:06:34 +01:00
shedaniel
9d19ab4c2e
Small cleanup + Use MappingsUtils for reordering
...
Signed-off-by: shedaniel <daniel@shedaniel.me >
2021-05-08 19:15:21 +08:00
shedaniel
848c0e553e
Rename log message to be less confusing
2021-04-04 19:17:34 +08:00
shedaniel
dfb5f5dd83
Update fabric mixin, fix #3 , reduce logger spam
2021-01-24 18:32:17 +08:00
modmuss50
792a64e2ef
Optimise loom configuration, saves 1.2 seconds in my testing. #319
2020-12-27 16:25:30 +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
modmuss50
cb52cabb18
Add Experimental CFR support. Line numbers and comments are not currently supported.
2020-07-26 21:22:17 +01:00
Octavia Togami
886d77ce0c
Supply the configuration to the run Exec directly ( #232 )
...
* Supply the configuration to the run Exec directly
This allows the implicit task dependencies from project() dependencies
to flow into the run tasks.
* Make unmappedMods a CFC to track task information
Deprecates the old methods, and they should probably be removed with
0.5.
2020-06-29 15:25:05 +01:00
Fudge
4bf3d5aebe
Allow specifying additional decompilers for generating sources ( #213 )
...
* decompilers
* cleanup
* oops
* weird import
* public
* public 2 electric boogalo
* move over fabric specific
* ok
* move to api package
2020-06-01 19:31:32 +01:00
Reece Dunham
2baf39ad1c
Add descriptions to all the tasks ( #214 )
...
* Add descriptions to all the tasks
Signed-off-by: Reece Dunham <me@rdil.rocks >
* Apply suggestions from code review - thanks @Juuxel!
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com >
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com >
2020-06-01 19:08:17 +01:00
Juuxel
bf8dad499d
Move all Loom tasks to the "fabric" group ( #199 )
...
- cleanLoom: other -> fabric
- remapJar: other -> fabric
- Removed the "minecraftMapped" group that the run tasks were in:
- runClient: minecraftMapped -> fabric
- runServer: minecraftMapped -> fabric
2020-05-14 01:10:08 +01:00
Fudge
c54ad10eee
Don't remapJar when running runClient or runServer ( #207 )
...
* Update LoomGradlePlugin.java
* Update LoomGradlePlugin.java
* ok jar then
2020-05-13 19:45:13 +01:00