littlerobots / version-catalog-update-plugin

Gradle plugin for updating a project version catalog
Apache License 2.0
565 stars 23 forks source link

Report mode #37

Closed JanVomlel closed 2 years ago

JanVomlel commented 2 years ago

I would like to run plugin in "report" mode. In this mode plugin does not change versions.toml file, but it creates report with:

I want to write comments to toml file, I want to write empty lines, ... so I think manual editing is better.

(Other problem: Sometimes we have last version of the library, but it is very old. Library is not maintained or they changed library id. It would be useful to report also these old libraries.)

hvisser commented 2 years ago

For a report mode I'd just use the dependency versions plugin; this gives you the report you are seeking, though not a direct copy-paste. I think the functionality of this plugin would be watered down too much if it would only give you a report with the toml formatting (and I'm not sure how it would look with all the relations between version groups, bundles etc).

Maintaining comments has an open issue, as you are probably aware, so it's on my radar.

re: old libraries; there's no meta data that specifies "old" or "deprecated" in Maven so I don't think there would be a definitive signal to day whether a library is "too old" or "unmaintained". A library can be years old and rock solid without anybody touching it, but it could also be a month old and rotting away 😄

JanVomlel commented 2 years ago

Dependency versions plugin does not show me unused entries in toml file.

We have multimodule project with almost 100 libraries. When we create new release we want to actualize these libraries, but it is hard to do it.

I think about plugin which creates csv report with columns: library id, used version, last version, used version time, last version time, used in modules, comment written before library declaration in toml Then it will be possible to find old libraries, write comments why we use them or update or remove them. And every release we could repeat this process.

But it is little bit different approach than it is used in your nice plugin, so I understand if my request will be rejected.

hvisser commented 2 years ago

If I understand correctly, formatting of the toml file, removing comments and spacing in particular, is holding you back to use this plugin?

I'm open to making this more useful to big projects like that, but it sounds like maybe https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin might be more appropriate for your use case, I haven't used it myself but it can detect unused and misuse of dependencies AFAIK.

JanVomlel commented 2 years ago

Comments and spaces are important for me. But also I prefer to do changes step by step. For example actualize db drivers in separate commit and then see tests on our different databases. So in the end I decided to edit toml file manualy and not to use this plugin.

hvisser commented 2 years ago

That's fair, thanks for the feedback.