-
-
Notifications
You must be signed in to change notification settings - Fork 9
3.4 - Shared Tools Rework #26
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
base: main
Are you sure you want to change the base?
3.4 - Shared Tools Rework #26
Conversation
|
|
||
| //region Dependency Information | ||
|
|
||
| public record SimpleModuleIdentifier(String getGroup, String getName) implements ModuleIdentifier { |
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.
My be worth stealing this its tried and tested.
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.
artifact-utils :P
|
Alright, so quick pass, lots of changes and class shuffleing around but looks fine to me. Also currently we have: fgtools {
configure('mavenizer') {
classpath = configurations.detachedConfiguration(dependencies.create('net.minecraftforge:minecraft-mavenizer:0.4.19'))
}
}Preferribly we would be able to do: fgtools {
configure('mavenizer') {
version = '2.0'
// Ideally this would allow for setting any of the variables, extension, classifier, url, java verion
}
}Or, if possible: fgtools {
mavenizer.version = '2.0'
}As 'use the same exact tool, but with a updated version, would be the number one use case. As for the ToolExec task (this is just reiterating what we've already talk about) |
While it makes sense on paper, I'm not seeing why this would be necessary. The logic you wrote in MinecraftForge/ForgeAutoRenamingTool#32 makes it look for |
This reverts commit a0274c7.
|
Well you beed to not error when there isnt a main class. And i thought it only looked for a main class when passed in the classpath as -jar not as -cp. Either way if it works it works. |
|
JavaExec silently translates the execution call, yes. See JavaExecSpec#getMainClass. |
This PR marks the start of GradleUtils 3.4.0, with the main change being a rework to the Tools system provided by GradleUtils shared. Specifically, the ability to define a tool through it's maven coordinate as opposed to a hard-coded download URL. This also includes an attempt to try and download the tool through Gradle before falling back to trying the Forge Maven (or whatever Maven URL was passed in as the tool's Maven URL).
There are also some additional changes and cleanup to the main plugin, but the main plugin remains binary compatible. As a reminder, binary breaking changes to GradleUtils Shared are fair game no matter the version number, as GradleUtils Shared must always be shadowed and relocated by the consuming plugin.