This PR majorly cleans up task inputs and outputs along with Gradle 7.1.1, although it can still be ran with Gradle 6.9 just fine.
Task inputs and outputs have been cleaned up in favor of abstract Property methods instead of stored fields. These changes are not backwards-compatible.
getXXXFilename and getXXXDirectory have been removed in favor of only have one property for each file/directory instead of 3, which is bad practice and clunky.
Task inputs no longer have a convention set. Using the same file locations instead of task provider outputs is clunky and deprecated. The accompanying Blackstone PR sets the input properties using mapped task providers.
Added a lodestone extension object, which stores the MC version (one of latest, latest_release, latest_snapshot, or a launcher version) and a resolved version. This fixes ParchmentMC/Blackstone#2 as tasks now use the resolved string provider instead.
ParchmentMC/Blackstone#4 has been fixed along with deduplicating some GsonBuilders in favor of using static factory methods.
Some shared code has been extracted to parent task classes, including MinecraftVersionTask and ExtractMetadataTask.
Feather has been updated to include the fix for ParchmentMC/Blackstone#3.
This PR majorly cleans up task inputs and outputs along with Gradle 7.1.1, although it can still be ran with Gradle 6.9 just fine.
Property
methods instead of stored fields. These changes are not backwards-compatible.getXXXFilename
andgetXXXDirectory
have been removed in favor of only have one property for each file/directory instead of 3, which is bad practice and clunky.lodestone
extension object, which stores the MC version (one oflatest
,latest_release
,latest_snapshot
, or a launcher version) and a resolved version. This fixes ParchmentMC/Blackstone#2 as tasks now use the resolved string provider instead.GsonBuilder
s in favor of using static factory methods.MinecraftVersionTask
andExtractMetadataTask
.