开发者

Specify artifact version outside of pom

开发者 https://www.devze.com 2023-01-01 22:24 出处:网络
Is there a way to specify the artifact version outside of the POM file? I have 2 CI projects that build an artifact. One builds a \"stable\" development version from a \'develop\' branch and the othe

Is there a way to specify the artifact version outside of the POM file?

I have 2 CI projects that build an artifact. One builds a "stable" development version from a 'develop' branch and the other builds an unstable version which is the result of merging all active feature branches into the develop branch. I want the stable version to build as xyz-1.开发者_如何转开发0.jar and the integration build to go in as xyz-1.0-SNAPSHOT.jar. Is there a way for the CI job to run a maven task or specify via the command line if a release or snapshot jar should be built without manually modifying the POM? Currently I have the version specified as 1.0 in the pom. I considered using the release plugin but I don't want the automatic version number increase and tagging that it does.


Short answer: no. And here are some additional remarks:

  • It doesn't make much sense to use a "released" version (i.e. non SNAPSHOT) for a branch under CI since released versions are not downloaded again even if a newer version is available.
  • Released versions should be tagged (e.g. 1.0), maintenance is done is in a branch derived from the tag (e.g. 1.0.1-SNAPSHOT).
  • If you want to distinguish versions built from different branches, use different versions in the POMs.


I was able to accomplish this by using a property in my POM and then overriding it via the command line.

pom.xml:

 ...
    <version>${artifactVersion}</version>
    <properties>
       <artifactVersion>1.0</artifactVersion>  <!-- default version -->
    </properties>
    ...

Then overriding with mvn -DartifactVersion=1.0-SNAPSHOT package

But Pascal's answer above is more in line with what I was really asking. My solution is more of a workaround I feel.


You should be able to achieve this using maven profiles

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号