refreshVersions icon indicating copy to clipboard operation
refreshVersions copied to clipboard

Add a task for just printing outdated dependencies to the console

Open sschuberth opened this issue 3 years ago • 8 comments

⚠️ Is your feature request related to a problem? Please describe

I'd like to stick to my own way of declaring dependency versions, but would like to use this plugin for checking for updates.

💡 Describe the solution you'd like

Having a new task that just prints outdated dependencies to the console (without migrating or updating anything and leaving files untouched) would be nice.

🤚 Do you want to develop this feature yourself?

  • [ ] Yes
  • [x] No

sschuberth avatar Jan 14 '22 10:01 sschuberth

Hello,

You say:

I'd like to stick to my own way of declaring dependency versions

Why?

LouisCAD avatar Jan 14 '22 10:01 LouisCAD

It's probably just a personal matter-of-taste-thing, but I don't like the syntax of the modifications done to the build files by this plugin, esp. the _ version placeholders and the consecutive .. in property names.

sschuberth avatar Jan 14 '22 10:01 sschuberth

That's why we provide dependency notations with version keys for many dependencies related to the Kotlin ecosystem.

LouisCAD avatar Jan 14 '22 13:01 LouisCAD

That approach does not scale, IMO.

sschuberth avatar Jan 14 '22 14:01 sschuberth

It's partly true, and we're fine with that.

However, the approach you're suggesting doesn't scale so well either as it requires more manual work to update dependencies versions.

LouisCAD avatar Jan 15 '22 07:01 LouisCAD

I prefer to be honest, I don't see myself spending hours and days on such a feature which I believe provides an inferior UX to what we already have, especially as it'd likely be unpaid work.

The consecutive .. is a tradeoff to allow us to use the java properties format that is recognized by the IDE (: is a key value separator). We prefer to have that over no syntactic coloration.

LouisCAD avatar Jan 15 '22 07:01 LouisCAD

I don't see myself spending hours and days on such a feature

That's completely fine. I'm not necessarily asking you to add it. I filed this to track this publicly, and if there is an agreement, someone from the community (including me) might implement it.

Or you can close this issue at your choice if you wouldn't even take the feature if someone filed a PR for it.

especially as it'd likely be unpaid work.

That's nothing you need to emphasize. We all do unpaid work in the many Open Source projects we contribute to.

sschuberth avatar Jan 15 '22 07:01 sschuberth

I'd like to submit another problem a feature like this might help with. Using refreshVersions in CI and getting a more easily parsable format for adding to a PR. versions.properties has a lot of information missing that would be needed for something like this: the actual package name, potentially the url of the dependency

mgray88 avatar Apr 18 '22 14:04 mgray88

@mgray88 please describe your use case separately if you think it's important

jmfayard avatar Sep 13 '22 21:09 jmfayard

@sschuberth given limited time and energy, we try to optimize refreshVersions for people who use it, not for people who don't really use it.

I'm closing this as won't fix.

jmfayard avatar Sep 13 '22 21:09 jmfayard

@jmfayard I don't see how the use case is entirely separate from the original requested solution. A list of outdated dependencies, which I would imagine already exist in memory in some form while refreshVersions is running.

I could consider taking a look at implementing it, if you could give me a few pointers at where to look for declaring tasks, and where that list of dependencies would be stored while running

mgray88 avatar Sep 14 '22 13:09 mgray88

How would that help most people using refreshVersions?

Adding tons of options and features few people use does not make a software better. It make it harder to use and harder to maintain.

@mgray88 you should switch to https://github.com/ben-manes/gradle-versions-plugin

jmfayard avatar Sep 14 '22 14:09 jmfayard