-
-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gradle cleanup #645
base: 1.21.4-pre1
Are you sure you want to change the base?
gradle cleanup #645
Conversation
|
afcb886
to
6391a20
Compare
🚨 Target branch is already set to 24w39a |
🚀 Target branch has been updated to 24w40a |
🚨 Please fix merge conflicts before this can be merged |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good! Unsure if the eventual aim is config cache here (and maybe it ought to be, as config cache will be on by default in gradle 9 which is on the horizon) -- regardless, if so there's a bit of work to do, since a lot of stuff is still kinda unidiomatic in that regard; all things told though a drastic improvement. Didn't comment on any remaining TODOs.
buildSrc/src/main/java/quilt/internal/tasks/EnigmaProfileConsumingTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/EnigmaProfileConsumingTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/decompile/DecompileTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/setup/DownloadMinecraftLibrariesTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/unpick/gen/OpenGlConstantUnpickGeneratorTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/diff/CheckTargetVersionExistsTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/diff/CheckUnpickVersionsMatchTask.java
Outdated
Show resolved
Hide resolved
buildSrc/src/main/java/quilt/internal/tasks/setup/CheckIntermediaryMappingsTask.java
Outdated
Show resolved
Hide resolved
f80e79a
to
243fa36
Compare
|
3e74240
to
c6f2f85
Compare
🚀 Target branch has been updated to 1.21.2-pre1 |
🚀 Target branch has been updated to 1.21.2-pre2 |
…ectPlugin with DefaultExtensionedMappingsProjectPlugin + Default/TaskedExtension access Tasks objects and MapIntermediaryPlugin's intermediaryFile via extension instances obtained via plugin instances instead of directly via plugin instances
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly too big to properly review now. From my previous looks its going great. I trust that you did it correctly
- remove #getArtifact method as the classifier got stripped when publishing - make #artifact method add the classifier
… from DownloadWantedVersionManifestTask#provideVersionParser use netty version from libs.version.toml because minecraft's netty version doesn't have javadocs
🚀 Target branch has been updated to 24w46a |
🚨 Please fix merge conflicts before this can be merged |
…raftJarsTask, and DownloadMinecraftLibrariesTask closes QuiltMC#492
🚀 Target branch has been updated to 1.21.4-pre1 |
🚨 Please fix merge conflicts before this can be merged |
Ready!
Tasks
buildSrc
referencingbuild.gradle
thingsQuiltMappingsExtension
QuiltMappingsPlugin
's contents into several pluginsreplacemaybe in a followup PRTasksTest
and depend on gradle test kitapply a checkstyle tomaybe in a followup PRbuildSrc
?Summary
renames
MappingsPlugin
/mappings-logic
->QuiltMappingsPlugin
/quilt-mappings
renames
MappingssExtension
/mappings
->QuiltMappingsExtension
/quiltMappings
splits
QuiltMappingsPlugin
into:all implement
MappingsProjectPlugin
and are applied byQuiltMappingsPlugin
eliminates
FileConstants
:MappingsProjectPlugin
adds several extensions that expose objects created by their plugins
extensions are accessed via plugin instances which ensures extension have been created
no use of
tasks.named(...)
to access custom tasks:tasks.register(...)
Tasks
objects obtained via extensions, obtained via plugin instancesensures all custom tasks have a group
eliminates
MappingsTask
andDefaultMappingsTask
(some
MappingsTask
methods are replaced with helper methods in more specific task interfaces and plugins)moves
Constants.MINECRAFT_VERSION
tolibs.versions.toml
and passes it toQuiltMappingsExtension
moves
Constants.MAPPINGS_VERSION
to directproject.version
assignment inbuild.gradle
and passes it toQuiltMappingsExtension
moves dictionary file url to
libs.versions.toml
and downloads it with an ivy repository hackeliminates
downloadDictionaryFile
and passes the dictionary file tomappingLint
inbuild.gradle
saves
unpickVersion
in aQuiltMappingsEntension
field and passes it to the constructors of tasks that require it(it's required at configuration time for some tasks so it can't be a property)
extracts a bunch of magic strings to interfaces in
constants
packagemoves all task names to their classes and renames all
TASK_NAME
fields<ACTUAL_NAME>_TASK_NAME
adds javadocs to all task names that link the plugin that registers them
adds javadocs to each plugin with any
configurEach
es listing what they do (these can be annoying to track down)adds javadocs to each class that's
configureEach
ed and to all their subclasses, linking the plugin that does the configuring (these can be really annoying to track down)moves almost all outputs to
build/*
moves
combineUnpickDefinitions
's output tobuild/mappings/
eliminates custom
clean
task logic (everything is inbuild/
and gets cleaned)names
AbstractArchiveTask
outputs using its name composition methodsadds
ArtifactFileProducingTask
which mimicsAbstractArchiveTask
name composition (implemented byCompressTinyTask
)eliminates explicit classifiers for published artifacts in
build.gralde
mapped providers are the solution to every problem
moves
unpick.json
tounpick/
and unpick definitions tounpick/definitions/
moves
enimga_profile.json
andsimple_type_field_names.json5
toenigma/
eliminates
decompileClasspath
configuration -> passesdownloadMinecraftLibraries.librariesDir.fileTree
replaces
CheckStuffExists/Matches
tasks with mapped providerspopulates
unpickCli
configuration using included build:unpick-holders
splits
enigmaRuntime
configuration intoenigmaSwing
andenigmaServer
, populates them using:unpick-holders
replaces
de.undercouch.gradle.tasks.download.DownloadAction
usage withDownloadUtil
methods (which useorg.apache.commons.io.FileUtils::copyURLToFile
)eliminates
de.undercouch:gradle-download-task
dependencyadds
generateDiff
task (Windows users may have to putdiff
on their PATH)Future
generateDiff
ingerenate-diff.yml
(pass output path to avoid magic string)namedSource/
andnamedTargetSource/
oncegenerateDiff
is used ingerenate-diff.yml
@CachableTask
everything