You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Lester Ecarma <le...@exist.com> on 2006/03/08 21:45:42 UTC

Re: "Tagging" a deployed artifact based on profile used to create it

Hi,

Why don't you try something like

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>your.group</groupId>
  <artifactId>yourArtifactId</artifactId>
  <version>1.0${pversion}</version>
  <packaging>war</packaging>
  ...
  <profiles>
    <profile>
      <id>test</id>
      <properties>
        <pversion>-test</pversion>
      </properties>
    </profile>
  <profiles>
  <properties>
    <pversion/>
  </properties>
<project>

In which case, the version created by the build will depend on which 
profile you're executing it with. Thus, if you build your app with
    mvn -Ptest install
you should end up with the artifact 
your/group/yourArtifactId/1.0-test/yourArtifactId-1.0-test.war installed 
in your local repository.

You could designate the default build (no profile id) as your production 
environment version, but you can also add appropriate profiles for other 
sub-versions (of the main version which is 1.0 in the example) as you want.

Hope this helps.

-lester


Bent André Solheim wrote:

>Hi all.
>
>I have a web app that I need to build for deployment on different
>tomcat instances (production and test). To achieve this I use
>profiles; I use different properties files depending on the profile
>that was used for building. This works great.
>
>Now, the problem I have is that in addition to deploying to a tomcat
>instance, I also would like to deploy the generated war file to our
>artifact repository;
>
>mvn -Pprod deploy
>
>This also works great, but a new requirement is that we want one
>artifact in the repository for the test environment and one for
>production. This is where the problem arises. Although I am able to
>use the <finalName> property in each profile to set the name of the
>war file that ends up in the target folder, this does not affect the
>name that is used on the artifact when it is deployed using "mvn
>-Pprod deploy". The effect is that we are not able to distinguish the
>artifacts in the repository that was built using the test profile from
>those built using the production profile.
>
>And now for the question; is it possible to alter the name of the
>artifact that ends up in the repository based on the profile that was
>used when deploying it? If not, does anybody have a tip to how I can
>go about achieving what we want in other ways? I though about using
>different repositories for test and production, but this seems
>sub-optimal.
>
>Any help would be greatly appreciated!
>
>Regards, Bent.
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>For additional commands, e-mail: users-help@maven.apache.org
>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org