views:

277

answers:

1

As part of an automated deployment I need a script to download the latest version of an artifact from our internal repository.

Ideally this script will be with ant or a unix shell script.

So for example:

I have myArtifact.war and it has versions 1.0 , 1.1 and 2.0 - I need the script given the correct group id and artifact id to retrieve version 2.0 from our maven repository (currently using artifactory).

Is there any easy way to do this?

+2  A: 

You can parse the maven-metadata.xml to see what versions are available, and which version is the "release" version. See this answer about plugin versions for more details.

If you are using Nexus, you can use the REST API to query the repository. You can also use the REST client API to simplify your processing.

To update the release version, activate the release-profile in the Maven super POM when you do mvn deploy. You can do this by adding -Prelease-profile or -DperformRelease=true to the command line.

The profile is activate by default in the maven-release-plugin's perform goal. It is controlled by the useReleaseProfile property. See the release-perform goal's documentation for more details.

Rich Seller
+1 That's great - just one question for my own artifacts how do I configure what is the "release" version. If I use the maven release plugin will this do it automatically?
Pablojim
Updated my answer
Rich Seller