dev@glassfish.java.net

Re: How to configure Maven build.id property?

From: Romain Grecourt <romain.grecourt_at_oracle.com>
Date: Tue, 19 Mar 2013 12:09:05 +0100

On 3/19/13 11:48 AM, Peter Pilgrim wrote:
> Hi
>
> Let's try a different tack, shall we.
>
> In the project, namely Glassfish main trunk, there are a couple of POM
> files, namely:
>
> glassfish-main\appserver\pom.xml
> glassfish-main\nucleus\pom.xml
>
> In these POM files, there is a Maven property setting called build.id
>
> <properties>
> ...
> <build.id>${user.name}-private</build.id>
> ...
> </properties>
>
>
> Now if I go the folder of the root project
>
> % cd glassfish-main
>
> and then execute the following command, assume I have a clean project:
>
> % mvn install -DskipTests=true -Dbuild.id=b80-foo
>
> Eventually the entire GlassFish project get builds, the dependencies
> generated are *-4.0-SNAPSHOT, which is fine. I am ok with that. How
> does 4.0-SNAPSHOT then become *-4.0-b81? I believe that this is
> decided by executing the maven deploy, which I do with:
>
> % mvn deploy -DskipTests=true -Dbuild.id=b80-foo
>
> Applying this system property -Dbuild.id=b80-foo at the command line
> does *NOT* override the Maven properties in the sub multi-module. I
> see no evidence of this. The question, therefore, why does it not
> override, and ergo, how does it configured then.
We do maven releases, see
http://maven.apache.org/maven-release/maven-release-plugin/
>
> As you read my blog entry http://www.xenonique.co.uk/blog/?p=1088, we
> can see that I have hacked the necessary POM files in order to deploy
> my own private Artifactory repository and not Maven Central. Who cares
> what the target repository it is, anyway?
We have to rely on you about the fact that your repository will stay
private, otherwise we are exposed to duplicated GAV.
> This is supposed to be
> OpenSource. I just trying to get GlassFish Embedded so that I can
> write this JavaEE 7 book and not have to be dependent on promoted
> builds being released.
You can just build the trunk continuously (e.g with a hudson job) using
the following (and without hacking any pom):
> mvn clean install -Pembedded,javaee-api

and archive the embedded artifacts from the workspace (instead of local
repository):
> appserver/javaee-api/*/target
> appserver/extras/embedded/*/target

Thanks,
Romain
>
> ==////==
>