dev@glassfish.java.net

Re: How to configure Maven build.id property?

From: Peter Pilgrim <peter.pilgrim_at_gmail.com>
Date: Tue, 19 Mar 2013 11:11:20 +0000

On 19 March 2013 11:10, Peter Pilgrim <peter.pilgrim_at_gmail.com> wrote:
> Romain, Thanks very much.
>
> I seems that I doing the wrong thing - `mvn release' !
> My repo will remain private. I really do not want to mirror the repo at all.
>
> Thanks for time and understanding.
>
> On 19 March 2013 11:09, Romain Grecourt <romain.grecourt_at_oracle.com> wrote:
>> 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
>>>
>>>
>>> ==////==
>>>
-- 
Peter Pilgrim,