Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[MRELEASE-1078] Support version policy to read and use SCM tags and commits #104
[MRELEASE-1078] Support version policy to read and use SCM tags and commits #104
Changes from all commits
b899ace
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
Why
toString()
? I don't understand this reasoning.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.
I did that as a workaround to the fact that the
Properties::setProperty
only supports setting aString
. Note that this code is used to read/write it to a file.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.
Also: As a consequence of this (i.e. the config can possibly be written to a file and then read again) I assumed a String config and parse it in the VersionPolicy.
In the more generic usecase I like this because it leaves the format of the config fully to the writer of the VersionPolicy.
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.
How to do you that
toString()
will give you something reasonable?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.
This part needs a revisit... This is indeed incorrect code.
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.
I did some more check and currently I think is actually correct code.
What I have now:
Object
in Java (i.e. all getters and setters). I checks and the actuall class is an instance of org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration. So the toString() recreates the XML fragment.String
(like for example the parts that reads and writes the release.properties file).So the code path now is roughly:
ProjectVersionPolicyConfig
part in the pom.xml is parsed into a generic XmlPlexusConfiguration by Maven.String
so it can be stored and processed by all intermediate components (some of which can only handle String).I did two tests to verify this:
I see this in the release.properties:
any
config format is usable I put this in the pom.xmlI see this in the release.properties
In both these checks the
toString
made sure the right config is stored and also byforcing
the VersionPolicy to have its own parser it works as I would like it to work.This way it is up to the VersionPolicy to actually parse the config and verify what it is getting.