aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/api
AgeCommit message (Collapse)Author
2022-01-10Support for FG2-era ForgeJonas Herzig
2021-12-05Juuzify ArchitecturyLoomDecompiler (#60)Juuxel
* Juuzify ArchitecturyLoomDecompiler * Remove unused max memory
2021-12-04Add architectury decompiler (#59)shedaniel
* 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-11-29Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0shedaniel
# 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-20Add an option (enabled by default) to map synthetic field and method names ↵modmuss50
from the official mojang mappings. (#538)
2021-11-06Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0shedaniel
# Conflicts: # src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java # src/main/java/net/fabricmc/loom/extension/MinecraftGradleExtension.java
2021-11-01Allow to set custom intermediary url again (#528)Cat Core
* allow to set custom intermediary url again * apply suggestions * add some javadoc
2021-11-01Make CFR the default decompiler (#527)modmuss50
* Make CFR the default decompiler Expose decompiler options * Remove convention, default value is an empty map. * Checkstyle..
2021-10-13Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0shedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me> # Conflicts: # .github/workflows/test.yml # 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/providers/MinecraftProviderImpl.java # src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java # src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java # src/main/java/net/fabricmc/loom/decompilers/fernflower/ForkingJavaExec.java # src/main/java/net/fabricmc/loom/task/GenVsCodeProjectTask.java # src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java # src/main/java/net/fabricmc/loom/util/SourceRemapper.java # src/test/resources/projects/parchment/build.gradle
2021-10-11Rewrite GenSources including full support for CFR. (#511)modmuss50
* Rewrite CFR decompiler interface. Support javadoc * CFR line numbers and fixes. * Cleanup and fix * Use WorkerExecutor to fork, massively cleans up the fernflower code, but does remove the fancy multithreaded logging. * Use IPC to get logging back from the decompilers. * Cleanup UnpickJarTask, fix leak in IPCServer * Used published CFR build * Handle older windows versions that do not support AF_UNIX. * Fixes and basic unit test * Improve memory handling of genSources * Stop decompile worker JVM
2021-09-29Fix merge conflictsshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-09-28Fix record signatures based on data provided by mappings. (#507)modmuss50
Reads "extras/record_signatures.json" from mappings jar, just works with yarn. Mojmap: ``` mappings loom.layered { officialMojangMappings() signatureFix("net.fabricmc:yarn:21w38a+build.9:v2") } ```
2021-09-25Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0shedaniel
# Conflicts: # src/main/java/net/fabricmc/loom/task/RemapJarTask.java
2021-09-22Support a wider range of parameters in FileSpec (#502)Juuxel
* Support a wider range of parameters in FileSpec Now supports - all Providers (incl. Property) - groovy template string literal (GString) - Path and gradle FileSystemLocation * Use the createFromFile overloads directly * Use charsequence instead of (g)string * Update src/main/java/net/fabricmc/loom/api/mappings/layered/spec/FileSpec.java
2021-09-21Make MixinRefmapHelper properly get the mixin configsshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-09-21Move all Forge-only properties to Forge extension (#46)Juuxel
2021-09-19Close #12shedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-09-18Fix merge conflictsshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-09-17Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0shedaniel
# 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-14Access Widener 2.0 with support for Transitive Access Wideners (#484)shartte
* Added global access widener support. * Adapt loom to changed API of latest AW PR. * Fix expected access widener to fix the test. Since the access widener is now streamed directly into the writer, the expanded rules (i.e. accessible field makes the owning class also accessible) are no longer found in the remapped file. * Add basic transitive accesswidener test * Extracted applying transitive access wideners into their own jar processor since they also need to be applied if there is no AW in the mod itself. * Misc assortment of fixes * Set up the processor lazily to allow for adding the intermediary MC jar, which is needed to correctly remap intermediary AWs to named. * Rework to setup the tiny remapper classpath with the mc jar Add an extension prop to disable * Add TransitiveDetectorVisitor * Minor refactoring. * Use release-version of access-widener. Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-13Expose layered mappings as an API (#490)modmuss50
* Expose layered mappings as an API * Add FileSpec * Cleanup and support DependencyFileSpec
2021-09-12Fix some testsshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-09-11Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/futureshedaniel
# 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-11Convert AWs on Forge to ATs in RemapJarTask (#24)Juuxel
* Aw2At * Hook Aw2At up to remapJar * Checkstyle * Checkstyle, part II * Now it's Spotless' turn * Remap the resulting AT * you see, this is why mojmap is bad * Inject(method = "<init>") * Use file systems because ZipUtil is bad * Make it false by default * Add integ tests for aw2at * spotless please * fix year
2021-09-10Add loom.modVersion to read the version from the fabric.mod.json file. (#489)modmuss50
2021-09-07Use tiny-remapper to remap mixin annotation. (#441)Logic
* use tiny-remapper 0.5.0 * add property of useLegacyMixinAp and rename mixin to mixinAp * disable mixin ap if useLegacyMixinAp is false * fix tests * remove experimental for mixinAp * enable mixin remapper * revert changes on API * rename MixinAp*** to Mixin*** * move useLegacyMixinAp inside MixinExtension * cleaner code * update test Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-09-05Add option to disable deprecated POM generation and the warnings together ↵Juuxel
with it (#487)
2021-09-05Fix the java software component not working with Loom and fix #200 (#460)Juuxel
* Add modCompileOnlyApi, modRuntimeOnly; deprecate modRuntime * begin * continue * Make RemapSourcesJarTask use properties * finish * Remove cursed version hack :wink: * 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-08-30Start work on porting 0.7.4 overshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-08-14Bump to 0.9.1 and fix conflictsshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-08-14Merge remote-tracking branch 'FabricMC/dev/0.9' into dev/0.9shedaniel
# 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-07-26Use Property in LoomGradleExtension & Move task groups to constants (#445)shedaniel
* Use Property in LoomGradleExtension Signed-off-by: shedaniel <daniel@shedaniel.me> * Fix customMinecraftManifest Signed-off-by: shedaniel <daniel@shedaniel.me> * Add deprecation messages, let's wait for the tests to run to fix the tests that are using deprecated apis Signed-off-by: shedaniel <daniel@shedaniel.me> * Apply license Signed-off-by: shedaniel <daniel@shedaniel.me> * Update src/main/java/net/fabricmc/loom/util/DeprecationHelper.java Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> * Fix some tests, move mixinRefmapName -> mixin.defaultRefmapName Signed-off-by: shedaniel <daniel@shedaniel.me> * Move back to the api Signed-off-by: shedaniel <daniel@shedaniel.me> * Fix some tests Signed-off-by: shedaniel <daniel@shedaniel.me> * Apply reviews Signed-off-by: shedaniel <daniel@shedaniel.me> * Update src/main/java/net/fabricmc/loom/api/LoomGradleExtensionAPI.java Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> Co-authored-by: modmuss50 <modmuss50@gmail.com>
2021-07-26Fix loom.accessWidener being a read-only property in Kotlin (#447)Juuxel
* Re-enable Kotlin test because the related bug has been fixed * Fix loom.accessWidener being a read-only property in Kotlin * Remove Kotlin test exclusions
2021-07-20Fix merge conflictsshedaniel
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-07-18Better Mixin AP configuration (#423)LogicFan
* [SPON-15] Apply Mixin AP config for all projects. * Revert "[SPON-15] Apply Mixin AP config for all projects." This reverts commit 93576e83b1221949d551b6307938f7dd6dc8fbbe. * use setter & getter * fix broken test introduced in 54d6ef7896f22f89d6594703d09e3195c814cf10 * initial commit for mixin extension * refactor getConfiguration * apply mixin extension * [SPON-15] allow across project AP config * [SPON-15] revert some changes * [SPON-15] refactor codes * [SPON-15] fix bugs * [SPON-15] bring back cross-project apconfig * [SPON-15] bug fix: move add default sourceSet earlier * [SPON-15] fix style * [SPON-15] refactor MixinAPExtension * add test * update test * [SPON-15] fix test * Update MixinAnnotationProcessorExtension.java * [SPON-15] fix test * fix deprecated gradle API * [SPON-15] refactor ApInvoker * [SPON-15] refactor ApInvoker * allow change refmap name in sourceSet bases * add new condition on test * [SPON-15] fix wrong suffix * Revert "[SPON-15] fix wrong suffix" This reverts commit 98910392d91c26cd0454cca8cfc03c4e3d417fd6. * fix mixinjson suffix * use stream instead of collection for mixin json name * change name for function * use correct auto-refmap * fix file name * add with action * add test * refactor some codes * refactor code * update test * fix checkstyle * better error message * fix checkstyle * remove corss project option * allow mixin inside loom * remove project0 I should remove all project0. If I forget one please tell me. * move `mixin` inside `loom` * fix spotless * merge attempt * fix checkstyle * seperate api & impl * add experimental annotation for API * use API * Fix indentation Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> * fix typo Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> * fix typo Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com> * better javadoc Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
2021-07-16Add back customManifest apimodmuss50
2021-07-14Refactor LoomGradleExtension (#431)modmuss50
* First pass at refactoring the extension * Fix inital issues. * Combine some interfaces * Checkstyle * Fix years * Add isShareCaches to api
2021-07-10Use spotless for header validation, years have been back-filled from git historymodmuss50
2021-05-13General cleanup by making use of java 16 features (#397)modmuss50
* 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
2020-06-01Allow specifying additional decompilers for generating sources (#213)Fudge
* decompilers * cleanup * oops * weird import * public * public 2 electric boogalo * move over fabric specific * ok * move to api package