Re: Version number propogation

2007-05-07 Thread Wayne Fay

The relative path doesn't necessarily work once deployed. And its not
guaranteed to be true -- you could checkout just the module rather
than the entire project, and suddenly Maven can't find that parent
since the relativePath is no longer accurate.

If anything, I'd argue that relativePath should perhaps be removed.

Wayne

On 5/7/07, David Corbin <[EMAIL PROTECTED]> wrote:

On Sunday 06 May 2007 19:20, Bryan Loofbourrow wrote:
> I believe that you are correct about not being able to parameterize the
> project parent tag, or so a co-worker tells me. He conjectures that the
> parent resolution is required before resolution of property names. That
> makes sense, since, in general, the value you're looking for could be
> defined in the parent pom,

But when I provide a  tag in parent declaration, that should
allow be enough.  In fact, if I provide r all the artifact
information provided should just be a safety check.

David

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Version number propogation

2007-05-07 Thread David Corbin
On Sunday 06 May 2007 19:20, Bryan Loofbourrow wrote:
> I believe that you are correct about not being able to parameterize the
> project parent tag, or so a co-worker tells me. He conjectures that the
> parent resolution is required before resolution of property names. That
> makes sense, since, in general, the value you're looking for could be
> defined in the parent pom, 

But when I provide a  tag in parent declaration, that should 
allow be enough.  In fact, if I provide r all the artifact 
information provided should just be a safety check.

David

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Version number propogation

2007-05-07 Thread Roland Asmann
On Sunday 06 May 2007 17:30, Howard Lewis Ship wrote:
> I have a project with multiple modules.
>
> I'm keeping the version numbers synced.
>
> This ends up with a lot of repetition of the version number:
>
>   tapestry-core
>   jar
>   5.0.5-SNAPSHOT
>   
> org.apache.tapestry
> tapestry-project
> 5.0.5-SNAPSHOT
> ../tapestry-project/pom.xml
>   
>
>
> Worse yet, those same version numbers are creeping into documentation and
> into project archetypes.
>
> How would I go about externalizing the version number so that it appears
> just once?  I'd love to have something like I used to do in Ant ... a
> build.properties file that defines the version number.
>
> Also, is there a general way to include POM properties inside APT documents
> and/or site.xml?

What we do here, is define a parent-POM which holds the version-number. All 
child-projects to this POM, must at least define the version for the 
parent-project, but from there on, you don't need to define them anymore.

Example:


my.group
parent-artifact
0.0.1-SNAPSHOT

artifact


${groupId}
another-artifact
${project.version}




This project references the parent over a version, inherits that version as 
its own version and even uses it to reference another child-project as a 
dependency (with that same version again).

Now, if you were to use the release-plugin, you'd never have to change 
anything here (unless you explicitly want to use another version of a 
parent/dependency).

-- 
Roland Asmann

CFC Informationssysteme Entwicklungsgesellschaft m.b.H
Bäckerstrasse 1/2/7
A-1010 Wien
FN 266155f, Handelsgericht Wien

Tel.: +43/1/513 88 77 - 27
Fax.: +43/1/513 88 62
Email: [EMAIL PROTECTED]
Web: www.cfc.at

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Version number propogation

2007-05-06 Thread Wendy Smoak

On 5/6/07, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:

I have a project with multiple modules.

I'm keeping the version numbers synced.

This ends up with a lot of repetition of the version number:

  tapestry-core
  jar
  5.0.5-SNAPSHOT
  
org.apache.tapestry
tapestry-project
5.0.5-SNAPSHOT
../tapestry-project/pom.xml
  


Looking at this again after reading Bryan's response... yes, you will
have to specify the version for the parent in every child pom.  (In
the example above, I think the first  element is redundant as
it will get inherited from the parent.)

${project.version} is useful when there are dependencies between child
modules, such as if a webapp depends on a jar within the same
multi-module build.

And yes, the release plugin will take care of changing all of these
version elements to the released version for the tag, and then to the
next snapshot version.

--
Wendy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: Version number propogation

2007-05-06 Thread Bryan Loofbourrow
I believe that you are correct about not being able to parameterize the
project parent tag, or so a co-worker tells me. He conjectures that the
parent resolution is required before resolution of property names. That
makes sense, since, in general, the value you're looking for could be
defined in the parent pom, but it does create a situation in which it
doesn't seem possible to have your consistent version number for a
multimodule project in a single place. I suspect that the official answer is
that you're the only place you're supposed to impose a single version number
on a multimodule project is via the release plugin, which copies the same
version number into everything you're releasing. It does seem as though
parameterzing parent version tags within a multimodule project might
interfere with the release plugin, or vice versa, even if it were allowed.

-- Bryan

-Original Message-
From: Martin Gilday [mailto:[EMAIL PROTECTED] 
Sent: Sunday, May 06, 2007 12:50 PM
To: Maven Users List
Subject: Re: Version number propogation

You can use ${pom.version} in some circumstances.  I think a parent tag
might be a case where you can't though.


- Original message -
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>
To: "Maven Users List" 
Date: Sun, 6 May 2007 08:30:45 -0700
Subject: Version number propogation

I have a project with multiple modules.

I'm keeping the version numbers synced.

This ends up with a lot of repetition of the version number:

  tapestry-core
  jar
  5.0.5-SNAPSHOT
  
org.apache.tapestry
tapestry-project
5.0.5-SNAPSHOT
../tapestry-project/pom.xml
  


Worse yet, those same version numbers are creeping into documentation
and
into project archetypes.

How would I go about externalizing the version number so that it appears
just once?  I'd love to have something like I used to do in Ant ... a
build.properties file that defines the version number.

Also, is there a general way to include POM properties inside APT
documents
and/or site.xml?

-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Version number propogation

2007-05-06 Thread Kalle Korhonen

You can also declare your own properties in a properties section, for
example:

  1.2.14


That you can then refer to with ${log4j.version} anywhere in your poms,
including the child poms. But there's no way to include a properties file
and read the information from there.

Kalle

PS. Note it's usually better to use dependencyManagement for version info,
but the above happens to be a live example for sharing version between
plugin- and dependencyManagement sections.

On 5/6/07, Martin Gilday <[EMAIL PROTECTED]> wrote:


You can use ${pom.version} in some circumstances.  I think a parent tag
might be a case where you can't though.


- Original message -
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>
To: "Maven Users List" 
Date: Sun, 6 May 2007 08:30:45 -0700
Subject: Version number propogation

I have a project with multiple modules.

I'm keeping the version numbers synced.

This ends up with a lot of repetition of the version number:

  tapestry-core
  jar
  5.0.5-SNAPSHOT
  
org.apache.tapestry
tapestry-project
5.0.5-SNAPSHOT
../tapestry-project/pom.xml
  


Worse yet, those same version numbers are creeping into documentation
and
into project archetypes.

How would I go about externalizing the version number so that it appears
just once?  I'd love to have something like I used to do in Ant ... a
build.properties file that defines the version number.

Also, is there a general way to include POM properties inside APT
documents
and/or site.xml?

--
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Version number propogation

2007-05-06 Thread Wendy Smoak

On 5/6/07, Howard Lewis Ship <[EMAIL PROTECTED]> wrote:


I have a project with multiple modules.

I'm keeping the version numbers synced.

This ends up with a lot of repetition of the version number:

  tapestry-core
  jar
  5.0.5-SNAPSHOT
  
org.apache.tapestry
tapestry-project
5.0.5-SNAPSHOT
../tapestry-project/pom.xml
  


You can use ${project.version} in the poms.


Worse yet, those same version numbers are creeping into documentation and
into project archetypes.


I think you will still need to tie the archetype to a particular
version of your project.  What's the issue with documentation?


How would I go about externalizing the version number so that it appears
just once?  I'd love to have something like I used to do in Ant ... a
build.properties file that defines the version number.

Also, is there a general way to include POM properties inside APT documents
and/or site.xml?


The next version of the site plugin will do this, check the dev list
for more info.  Right now it's too aggressive and filters everything,
which breaks existing sites that wanted the literal expression to be
displayed.  Jason is going to change it so it only filters things in a
certain directory.

--
Wendy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Version number propogation

2007-05-06 Thread Martin Gilday
You can use ${pom.version} in some circumstances.  I think a parent tag
might be a case where you can't though.


- Original message -
From: "Howard Lewis Ship" <[EMAIL PROTECTED]>
To: "Maven Users List" 
Date: Sun, 6 May 2007 08:30:45 -0700
Subject: Version number propogation

I have a project with multiple modules.

I'm keeping the version numbers synced.

This ends up with a lot of repetition of the version number:

  tapestry-core
  jar
  5.0.5-SNAPSHOT
  
org.apache.tapestry
tapestry-project
5.0.5-SNAPSHOT
../tapestry-project/pom.xml
  


Worse yet, those same version numbers are creeping into documentation
and
into project archetypes.

How would I go about externalizing the version number so that it appears
just once?  I'd love to have something like I used to do in Ant ... a
build.properties file that defines the version number.

Also, is there a general way to include POM properties inside APT
documents
and/or site.xml?

-- 
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind

Professional Tapestry training, mentoring, support
and project work.  http://howardlewisship.com

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]