-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
Resolve without the versions plugin #125
Conversation
dfc4075
to
7145528
Compare
01a7565
to
29cc0bc
Compare
* Add current version to component selection, similar to versions plugin * Resolve / handle rich versions * Return unresolved / exceeded / rich versions that can be updated * Detect errors in component selector function
Instead of rejecting versions, select versions.
0fc2c59
to
b02e2fa
Compare
e07f694
to
546a8c4
Compare
:( that was one of the main reasons I used this plugin, there's nothing else that can do it. I use Renovate to update version catalogs, because I want CI to be executed on every bump. |
@TWiStErRob that's good to know, thanks for that feedback. If there are more folks find that functionality useful then an option would be to keep depending on the versions plugin for that functionality in some shape or form, but it would definitely complicate things a bit. |
It's tricky to get this feedback, because this means that I only used it once per project and I only use it once every few months. There are a lot more legacy projects to migrate at work. It's unclear though if it's worth it for you to support this. It's definitely a good tech challenge. :) If I were you I would consider creating a separate plugin for the new behaviour rather than flagging, although that might double the maintenance. |
Initial version of resolving dependencies without the versions plugin.
Behavioural changes
In this PR these changes are behind a flag for testing, set the
nl.littlerobots.vcu.resolver
property totrue
(ingradle.properties
or by passing-Pnl.littlerobots.vcu.resolver=true
to switch to the new update task.For resolving the TOML file is used as the source of the dependencies to check for updates. Therefore:
buildSrc
. Included builds and other "special" modules will just work as it only looks at the TOML file now.Changes not directly related to not using the versions plugin:
For selecting components use the
versionSelector
method on the extension. This function should returntrue
to select a version, false otherwise.If omitted, a default will now be set: non-stable versions are allowed if the current version is non-stable, otherwise only a stable version is allowed. Implementation for this is basically the same as in the versions plugin README. This means less configuration too.
ref #123 #111 #122