maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elliotte Rusty Harold (Jira)" <j...@apache.org>
Subject [jira] [Updated] (MRELEASE-844) Support providing user properties via properties file
Date Mon, 23 Dec 2019 12:28:00 GMT

     [ https://issues.apache.org/jira/browse/MRELEASE-844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Elliotte Rusty Harold updated MRELEASE-844:
-------------------------------------------
    Issue Type: New Feature  (was: Improvement)

> Support providing user properties via properties file
> -----------------------------------------------------
>
>                 Key: MRELEASE-844
>                 URL: https://issues.apache.org/jira/browse/MRELEASE-844
>             Project: Maven Release Plugin
>          Issue Type: New Feature
>          Components: prepare
>    Affects Versions: 2.4.1, 2.5
>            Reporter: Patrick van Dissel
>            Priority: Major
>         Attachments: support.user.properties.patch
>
>
> For usage of the {{mvn release:prepare}} command in situations where CLI arguments are
not possible, I would like to have support for providing the plugin user properties via a
properties file.
> An example situation I need it for, is the following:
> CI systems like Jenkins have multiple steps in a single job. Environment variables being
only in scope for one single step, making it impossible to have a maven release plugin userProperty
created dynamicly and use the CLI args ("-D...") to pass userProperties to maven.
> Specific use case is passing a custom {{releaseVersion}} and {{developmentVersion}},
I noticed for this a nice solution is already on the roadmap under the case MRELEASE-431.
But I'm sure this new properties file can be used in more cases.
> As I need this for the release:prepare goal, I currently implemented this only for this
goal. I've attached the patch "support.user.properties.patch" with my implementation. I've
fitted it in the maven-release-plugin instead of the maven-release-manager as this change
is purely about reading configuration that is lateron passed to maven-release-manager APIs.
> Technical details:
> - The properties file to put the user properties in, is currently called 'release.user.properties'
> - Order of reading the user properties is:
> -- First read the properties from the pom (where available)
> -- Merge the read properties with the properties from the release.user.properties
> -- Merge the merged properties with user properties provided the command line arguments
> -- Then call to maven-release-manager API is made, which reads/writes the 'release.properties'
file
> - All non-readonly user properties supported by release:prepare are supported
> - All properties from the original release.properties file are supported
> - I only created a unit-test, as I couldn't find out how integration-tests work or where
they are located



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message