mojohaus / versions

Versions Maven Plugin
https://www.mojohaus.org/versions/versions-maven-plugin/
Apache License 2.0
337 stars 267 forks source link

Multiple executions of display-X-updates overwrite outputFile #979

Open ctubbsii opened 1 year ago

ctubbsii commented 1 year ago

Executing multiple goals in a single command-line causes the most recent one to clobber the selected output file instead of append to it, or add a unique identifier name.

Example:

mvn clean verify versions:display-parent-updates versions:display-property-updates versions:display-plugin-updates -Dversions.outputFile=target/versions-output.txt

In order to get the output for all executions, you must run multiple executions of the plugin with different config, which you can either do with separate command-line executions, or you have to specify different executions in the POM file.

Also, the contents of the file wrap according to the outputLineWidth, when it should not wrap at all when written to a file.

It would be good to have an option for an output file format that is computer-readable, not subject to line width wrapping issues, and such that subsequent executions will append/modify the file, rather than clobber it (they would only clobber the section applicable to that taskk... whether it's properties, plugins, parent, or dependencies).

slawekjaranowski commented 1 year ago

@ctubbsii Thanks for report, I see many issues here:

ctubbsii commented 1 year ago

@slawekjaranowski That's a good summary. Having a computer readable output that always appends and never wraps would satisfy all three. Something with a comma-delimited format like the following might work:

versionPluginGoal,groupId:artifactId:classifier:type,currentVersion,newVersion

Example:

parent,org.apache:apache:pom,20,29
property,org.apache.maven.plugins:maven-surefire-plugin:jar,2.20.0,3.1.0
property,org.apache.maven.plugins:maven-failsafe-plugin:jar,2.20.0,3.1.0
plugin,org.apache.maven.plugins:maven-enforcer-plugin:jar,1.2.0,3.0.0
dependency,commons-codec:commons-codec:jar,1.0,2.5

Could also use XML or JSON as the output format, but that'd be harder to parse with simple command-line tools.

github-actions[bot] commented 2 weeks ago

This issue is stale because it has been open 365 days with no activity. Remove stale label or comment or this will be closed in 30 days.

ctubbsii commented 1 week ago

This is still relevant.