users@jersey.java.net

Re: [Jersey] Continue mavenization of jersey

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Wed, 04 Jun 2008 12:33:16 +0200

Martin Grotzke wrote:
>> IIRC the release module in Grizzly is:
>>
>> - tag the trunk,
>>
>> - run a script to update the version in all the pom files in the trunk
>> from XXX-SNAPSHOT to YYY-SNAPSHOT
>>
>> - run a script to modify the version in all the pom files in the tag
>> from XXX-SNAPSHOT to XXX
>>
>> - "mvn install deploy" from the tag.
>>
>> i.e. it keeps everything in sync, contribs, examples etc.
> So both the version of the pom artifacts (e.g. jersey-project pom.xml)
> and the version of jar artifacts are kept in sync?
>

Yes.


> Then we could keep the version in the parent pom, reference from a child
> pom.xml the parent pom with a specific version and would not have to
> overwrite the version for the specific pom.xml.
>
> Then instead of this
>
> <parent>
> <groupId>com.sun.jersey</groupId>
> <artifactId>jersey-contribs</artifactId>
> <version>0.8-ea-SNAPSHOT</version>
> <relativePath>../pom.xml</relativePath>
> </parent>
> <artifactId>jersey-spring</artifactId>
> <packaging>jar</packaging>
> <version>${jersey-version}</version>
>

Grizzly still retains the <version> element, i am not sure why. In any
case all artifacts are kept in sync.


> we can just have
>
> <parent>
> <groupId>com.sun.jersey</groupId>
> <artifactId>jersey-contribs</artifactId>
> <version>0.8-ea-SNAPSHOT</version>
> <relativePath>../pom.xml</relativePath>
> </parent>
> <artifactId>jersey-spring</artifactId>
> <packaging>jar</packaging>
>
> as the version is inherited.
>

Do you know if it is possible to have this:

     <parent>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-contribs</artifactId>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>jersey-spring</artifactId>
     <packaging>jar</packaging>

or even this:

     <parent>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>jersey-spring</artifactId>
     <packaging>jar</packaging>

or this:

     <parent>
         <groupId>com.sun.jersey</groupId>
         <artifactId>jersey-contribs</artifactId>
         <relativePath>../pom.xml</relativePath>
         <version>${jersey.version}</version>
     </parent>
     <artifactId>jersey-spring</artifactId>
     <packaging>jar</packaging>

i.e. why do we have to duplicate information of the parent pom in the
child pom? if we can avoid duplication it would mean we don't have to
update every pom file when the version changes.

IIRC when i asked about the Grizzly release process Jean Francois said
he could not avoid the duplication because "maven is broken"...

Paul.

-- 
| ? + ? = To question
----------------\
    Paul Sandoz
         x38109
+33-4-76188109