Re: Parent POM, properties and scm problem

2007-08-07 Thread Eric Redmond
Might I suggest for the time being, to download and install the
maven-pom-plugin (
http://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-pom-plugin/)
and manually manage the scm fields in the projects. I know it's a hack, but
non-standard layouts tend to produce non-standard solutions. Welcome to
convention over configuration :)

-- 
Eric Redmond
http://blog.propellors.net

On 8/6/07, Jörg Schaible <[EMAIL PROTECTED]> wrote:
>
> Oscar Picasso wrote on Wednesday, August 01, 2007 7:31 PM:
>
> > The current Maven behaviour is fine for multimodule projects.
> >
> > However I am trying to write a organizational POM that all my projets
> > would inherited and wanted to avoid duplication of the scm section.
> >
> > So in case of independent projects it does not make sense to put all
> > them inside the same trunk.
> >
> > I guess currently I cannot avoid this duplication.
>
> Not really, and there's a simple reason: You cannot assume that everyone
> keeps his "organizational POM" in the root of all the projects. Our
> "organizational POM" has SCM URL entries that are used to release the
> "organizational POM" itself. It does not even make sense to inherit them.
>
> However, you may use properties to define the SCM URLs as we do:
>
> 
> scm|svn|${my.svn.root}${my.svn.tagBase}/trunk
> scm|svn|${my.svn.root}${my.svn.tagBase
> }/trunk
> ${my.svn.view}${my.svn.tagBase}/trunk
> 
>
> while "my.svn.root" and "my.svn.view" are properties that are defined in
> the "organizational POM" and "my.svn.tagBase" is defined in the POM of the
> project root (in case of a multi-module project). But keep in mind, that the
> release-plugin will rewrite the URLs after the first release, so there are
> no properties in the URL anymore anyway. So the whole definition is only
> useful as template for new POMs.
>
> - Jörg
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


RE: Parent POM, properties and scm problem

2007-08-06 Thread Jörg Schaible
Oscar Picasso wrote on Wednesday, August 01, 2007 7:31 PM:

> The current Maven behaviour is fine for multimodule projects.
> 
> However I am trying to write a organizational POM that all my projets
> would inherited and wanted to avoid duplication of the scm section.
> 
> So in case of independent projects it does not make sense to put all
> them inside the same trunk.
> 
> I guess currently I cannot avoid this duplication.

Not really, and there's a simple reason: You cannot assume that everyone keeps 
his "organizational POM" in the root of all the projects. Our "organizational 
POM" has SCM URL entries that are used to release the "organizational POM" 
itself. It does not even make sense to inherit them.

However, you may use properties to define the SCM URLs as we do:


scm|svn|${my.svn.root}${my.svn.tagBase}/trunk

scm|svn|${my.svn.root}${my.svn.tagBase}/trunk
${my.svn.view}${my.svn.tagBase}/trunk


while "my.svn.root" and "my.svn.view" are properties that are defined in the 
"organizational POM" and "my.svn.tagBase" is defined in the POM of the project 
root (in case of a multi-module project). But keep in mind, that the 
release-plugin will rewrite the URLs after the first release, so there are no 
properties in the URL anymore anyway. So the whole definition is only useful as 
template for new POMs.

- Jörg

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



Re: Parent POM, properties and scm problem

2007-08-06 Thread Jared Bunting
I'm also experiencing this problem.  As discussed here (under Inheritance v.
Aggregation):

http://www.propellors.net/maven/site/pom.html#POM%20Relationships

it appears to make sense in what is called the "aggregation" use case, but
not in the "inheritance" use case.  I'm wondering if there's some way to
simply disable this functionality (maybe setting a property?  don't know...)
to get these url elements to inherit as one would expect - "as is".

If this functionality isn't currently available, and somebody could point me
to the appropriate code, I would be happy to try and write a patch for it...

Thanks,
Jared


Oscar Picasso
> Thu, 02 Aug 2007 06:31:58 -0700
>
> That's exactly what I am doing.
>
> And it works fine except for the problem that I mention in this thread of
> the project artifactId being added to some urls like the scmConnection.
>
> On 8/1/07, Bryan Loofbourrow <[EMAIL PROTECTED]> wrote:
> >
> > I'm wondering if the following would work:
> >
> > - Make your organizational pom project. Don't define any  entries
> > in
> > it.
> > - Have all of your projects depend on it as a parent
> > - Build and install your organizational pom to a central repository
> > accessible to all of your projects.
> >
> > I'm thinking that you can then independently build and deploy your
> > organizational pom by itself, and have your projects use it, from the
> > repository, as a parent for definition purposes, though not build
> > purposes.
> >
> > I'd be interested to know whether this works. It seems useful.
> >
> > -- Bryan
> >
> > -Original Message-
> > From: Oscar Picasso [EMAIL PROTECTED]
> > Sent: Wednesday, August 01, 2007 10:31 AM
> > To: Maven Users List
> > Subject: Re: Parent POM, properties and scm problem
> >
> > The current Maven behaviour is fine for multimodule projects.
> >
> > However I am trying to write a organizational POM that all my projets
> > would
> > inherited and wanted to avoid duplication of the scm section.
> >
> > So in case of independent projects it does not make sense to put all them
> > inside the same trunk.
> >
> > I guess currently I cannot avoid this duplication.
> >
> > On 7/31/07, Eric Redmond <[EMAIL PROTECTED]> wrote:
> > >
> > > Maven does this so that child module's scm can be defined once in the
> > > parent.
> > >
> > > 
> > >   scm:svn:https://url/project/trunk
> > > 
> > >
> > > 
> > >   Child
> > >
> > > Then the Child module's scm url is automatically set as:
> > >
> > > 
> > >   scm:svn:https://url/project/trunk/Child
> > > 
> > >
> > > Which is the convention for a multi-module project.
> > >
> > > If your "Child" project has to be seperate, with it's own trunk, etc. I
> > > would suggest (if svn) using svn:externals to access the child under the
> > > parent project. Since it ownly appends the name on a multi-module
> > project,
> > > I'm trying to figure out how you locally check out your project...
> > perhaps
> > > create a "trunks"-style setup in your version control would be best?
> > >
> > > Eric
> > >
> > > On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> > > >
> > > > I have also noticed the same behavior with the project url, the sit
> > url
> > > > and
> > > > the scm url even if in the effective the corresponding properties are
> > > > correct (without the artifactId appended).
> > > >
> > > > On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > In the parent POM I have the following:
> > > > > [...]
> > > > >   
> > > > > 
> > > > http://localhost/repos/repo/${groupId}/${artifactId}/trunk 
> > > > <http://localhost/repos/repo/$%7BgroupId%7D/$%7BartifactId%7D/trunk>
> > > > > <http://localhost/repos/repo/$%7BgroupId%7D/$%7BartifactId%7D/trunk>
> > > > > 
> > > > >   
> > > > >
> > > > >
> > > > >   
> > > > > ${scmConnection}
> > > > > ${scmConnection}
> > > > >   
> > > > > [...]
> > > > >
> > > > > The child POM has nothing ex

Re: Parent POM, properties and scm problem

2007-08-02 Thread Oscar Picasso
That's exactly what I am doing.

And it works fine except for the problem that I mention in this thread of
the project artifactId being added to some urls like the scmConnection.

On 8/1/07, Bryan Loofbourrow <[EMAIL PROTECTED]> wrote:
>
> I'm wondering if the following would work:
>
> - Make your organizational pom project. Don't define any  entries
> in
> it.
> - Have all of your projects depend on it as a parent
> - Build and install your organizational pom to a central repository
> accessible to all of your projects.
>
> I'm thinking that you can then independently build and deploy your
> organizational pom by itself, and have your projects use it, from the
> repository, as a parent for definition purposes, though not build
> purposes.
>
> I'd be interested to know whether this works. It seems useful.
>
> -- Bryan
>
> -Original Message-
> From: Oscar Picasso [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, August 01, 2007 10:31 AM
> To: Maven Users List
> Subject: Re: Parent POM, properties and scm problem
>
> The current Maven behaviour is fine for multimodule projects.
>
> However I am trying to write a organizational POM that all my projets
> would
> inherited and wanted to avoid duplication of the scm section.
>
> So in case of independent projects it does not make sense to put all them
> inside the same trunk.
>
> I guess currently I cannot avoid this duplication.
>
> On 7/31/07, Eric Redmond <[EMAIL PROTECTED]> wrote:
> >
> > Maven does this so that child module's scm can be defined once in the
> > parent.
> >
> > 
> >   scm:svn:https://url/project/trunk
> > 
> >
> > 
> >   Child
> >
> > Then the Child module's scm url is automatically set as:
> >
> > 
> >   scm:svn:https://url/project/trunk/Child
> > 
> >
> > Which is the convention for a multi-module project.
> >
> > If your "Child" project has to be seperate, with it's own trunk, etc. I
> > would suggest (if svn) using svn:externals to access the child under the
> > parent project. Since it ownly appends the name on a multi-module
> project,
> > I'm trying to figure out how you locally check out your project...
> perhaps
> > create a "trunks"-style setup in your version control would be best?
> >
> > Eric
> >
> > On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> > >
> > > I have also noticed the same behavior with the project url, the sit
> url
> > > and
> > > the scm url even if in the effective the corresponding properties are
> > > correct (without the artifactId appended).
> > >
> > > On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> > > >
> > > > Hi,
> > > >
> > > > In the parent POM I have the following:
> > > > [...]
> > > >   
> > > > 
> > > http://localhost/repos/repo/${groupId}/${artifactId}/trunk
> > > > <http://localhost/repos/repo/$%7BgroupId%7D/$%7BartifactId%7D/trunk>
> > > > 
> > > >   
> > > >
> > > >
> > > >   
> > > > ${scmConnection}
> > > > ${scmConnection}
> > > >   
> > > > [...]
> > > >
> > > > The child POM has nothing expect mandatory elements and the
> reference
> > to
> > > > the parent POM. Both the child and the parent are snapshots. The
> > parent
> > > POM
> > > > has been deployed to the remote repository.
> > > >
> > > > When I run mvn help:effective-pom on the child project, I get:
> > > > [...]
> > > >   
> > > > 
> > > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > > > 
> > > > 
> > > > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > > > 
> > > >   
> > > > [..]
> > > >
> > > > I would have expected:
> > > > [...]
> > > >   
> > > > http://localhost/repos/repo/com.opicasso/Child/trunk
> > > > 
> > > > 
> > > > http://localhost/repos/repo/com.opicasso/Child/trunk
> > > 
> > > >   
> > > > [..]
> > > >
> > > > Why does maven happen the child artifactId to the connections? Does
> > > maven
> > > > merge the parent scm connections with the children ones ? But in the
> > > current
> > > > case the child has no scm connections defined in its pom.
> > > >
> > > > How to get rid of this extra artifactId?
> > > >
> > > > Thanks
> > > >
> > > > Oscar
> > > >
> > > >
> > > >
> > >
> >
> >
> >
> > --
> > Eric Redmond
> > http://blog.propellors.net
> >
>
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


RE: Parent POM, properties and scm problem

2007-08-01 Thread Bryan Loofbourrow
I'm wondering if the following would work:

- Make your organizational pom project. Don't define any  entries in
it.  
- Have all of your projects depend on it as a parent
- Build and install your organizational pom to a central repository
accessible to all of your projects.

I'm thinking that you can then independently build and deploy your
organizational pom by itself, and have your projects use it, from the
repository, as a parent for definition purposes, though not build purposes.

I'd be interested to know whether this works. It seems useful.

-- Bryan

-Original Message-
From: Oscar Picasso [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 01, 2007 10:31 AM
To: Maven Users List
Subject: Re: Parent POM, properties and scm problem

The current Maven behaviour is fine for multimodule projects.

However I am trying to write a organizational POM that all my projets would
inherited and wanted to avoid duplication of the scm section.

So in case of independent projects it does not make sense to put all them
inside the same trunk.

I guess currently I cannot avoid this duplication.

On 7/31/07, Eric Redmond <[EMAIL PROTECTED]> wrote:
>
> Maven does this so that child module's scm can be defined once in the
> parent.
>
> 
>   scm:svn:https://url/project/trunk
> 
>
> 
>   Child
>
> Then the Child module's scm url is automatically set as:
>
> 
>   scm:svn:https://url/project/trunk/Child
> 
>
> Which is the convention for a multi-module project.
>
> If your "Child" project has to be seperate, with it's own trunk, etc. I
> would suggest (if svn) using svn:externals to access the child under the
> parent project. Since it ownly appends the name on a multi-module project,
> I'm trying to figure out how you locally check out your project... perhaps
> create a "trunks"-style setup in your version control would be best?
>
> Eric
>
> On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> >
> > I have also noticed the same behavior with the project url, the sit url
> > and
> > the scm url even if in the effective the corresponding properties are
> > correct (without the artifactId appended).
> >
> > On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > In the parent POM I have the following:
> > > [...]
> > >   
> > > 
> > http://localhost/repos/repo/${groupId}/${artifactId}/trunk
> > > <http://localhost/repos/repo/$%7BgroupId%7D/$%7BartifactId%7D/trunk>
> > > 
> > >   
> > >
> > >
> > >   
> > > ${scmConnection}
> > > ${scmConnection}
> > >   
> > > [...]
> > >
> > > The child POM has nothing expect mandatory elements and the reference
> to
> > > the parent POM. Both the child and the parent are snapshots. The
> parent
> > POM
> > > has been deployed to the remote repository.
> > >
> > > When I run mvn help:effective-pom on the child project, I get:
> > > [...]
> > >   
> > > 
> > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > > 
> > > 
> > > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > > 
> > >   
> > > [..]
> > >
> > > I would have expected:
> > > [...]
> > >   
> > > http://localhost/repos/repo/com.opicasso/Child/trunk
> > > 
> > > 
> > > http://localhost/repos/repo/com.opicasso/Child/trunk
> > 
> > >   
> > > [..]
> > >
> > > Why does maven happen the child artifactId to the connections? Does
> > maven
> > > merge the parent scm connections with the children ones ? But in the
> > current
> > > case the child has no scm connections defined in its pom.
> > >
> > > How to get rid of this extra artifactId?
> > >
> > > Thanks
> > >
> > > Oscar
> > >
> > >
> > >
> >
>
>
>
> --
> Eric Redmond
> http://blog.propellors.net
>


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



Re: Parent POM, properties and scm problem

2007-08-01 Thread Oscar Picasso
The current Maven behaviour is fine for multimodule projects.

However I am trying to write a organizational POM that all my projets would
inherited and wanted to avoid duplication of the scm section.

So in case of independent projects it does not make sense to put all them
inside the same trunk.

I guess currently I cannot avoid this duplication.

On 7/31/07, Eric Redmond <[EMAIL PROTECTED]> wrote:
>
> Maven does this so that child module's scm can be defined once in the
> parent.
>
> 
>   scm:svn:https://url/project/trunk
> 
>
> 
>   Child
>
> Then the Child module's scm url is automatically set as:
>
> 
>   scm:svn:https://url/project/trunk/Child
> 
>
> Which is the convention for a multi-module project.
>
> If your "Child" project has to be seperate, with it's own trunk, etc. I
> would suggest (if svn) using svn:externals to access the child under the
> parent project. Since it ownly appends the name on a multi-module project,
> I'm trying to figure out how you locally check out your project... perhaps
> create a "trunks"-style setup in your version control would be best?
>
> Eric
>
> On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> >
> > I have also noticed the same behavior with the project url, the sit url
> > and
> > the scm url even if in the effective the corresponding properties are
> > correct (without the artifactId appended).
> >
> > On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > In the parent POM I have the following:
> > > [...]
> > >   
> > > 
> > http://localhost/repos/repo/${groupId}/${artifactId}/trunk
> > > 
> > > 
> > >   
> > >
> > >
> > >   
> > > ${scmConnection}
> > > ${scmConnection}
> > >   
> > > [...]
> > >
> > > The child POM has nothing expect mandatory elements and the reference
> to
> > > the parent POM. Both the child and the parent are snapshots. The
> parent
> > POM
> > > has been deployed to the remote repository.
> > >
> > > When I run mvn help:effective-pom on the child project, I get:
> > > [...]
> > >   
> > > 
> > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > > 
> > > 
> > > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > > 
> > >   
> > > [..]
> > >
> > > I would have expected:
> > > [...]
> > >   
> > > http://localhost/repos/repo/com.opicasso/Child/trunk
> > > 
> > > 
> > > http://localhost/repos/repo/com.opicasso/Child/trunk
> > 
> > >   
> > > [..]
> > >
> > > Why does maven happen the child artifactId to the connections? Does
> > maven
> > > merge the parent scm connections with the children ones ? But in the
> > current
> > > case the child has no scm connections defined in its pom.
> > >
> > > How to get rid of this extra artifactId?
> > >
> > > Thanks
> > >
> > > Oscar
> > >
> > >
> > >
> >
>
>
>
> --
> Eric Redmond
> http://blog.propellors.net
>


Re: Parent POM, properties and scm problem

2007-07-31 Thread Eric Redmond
Maven does this so that child module's scm can be defined once in the
parent.


  scm:svn:https://url/project/trunk



  Child

Then the Child module's scm url is automatically set as:


  scm:svn:https://url/project/trunk/Child


Which is the convention for a multi-module project.

If your "Child" project has to be seperate, with it's own trunk, etc. I
would suggest (if svn) using svn:externals to access the child under the
parent project. Since it ownly appends the name on a multi-module project,
I'm trying to figure out how you locally check out your project... perhaps
create a "trunks"-style setup in your version control would be best?

Eric

On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
>
> I have also noticed the same behavior with the project url, the sit url
> and
> the scm url even if in the effective the corresponding properties are
> correct (without the artifactId appended).
>
> On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > In the parent POM I have the following:
> > [...]
> >   
> > 
> http://localhost/repos/repo/${groupId}/${artifactId}/trunk
> > 
> > 
> >   
> >
> >
> >   
> > ${scmConnection}
> > ${scmConnection}
> >   
> > [...]
> >
> > The child POM has nothing expect mandatory elements and the reference to
> > the parent POM. Both the child and the parent are snapshots. The parent
> POM
> > has been deployed to the remote repository.
> >
> > When I run mvn help:effective-pom on the child project, I get:
> > [...]
> >   
> > 
> http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > 
> > 
> > http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> > 
> >   
> > [..]
> >
> > I would have expected:
> > [...]
> >   
> > http://localhost/repos/repo/com.opicasso/Child/trunk
> > 
> > 
> > http://localhost/repos/repo/com.opicasso/Child/trunk
> 
> >   
> > [..]
> >
> > Why does maven happen the child artifactId to the connections? Does
> maven
> > merge the parent scm connections with the children ones ? But in the
> current
> > case the child has no scm connections defined in its pom.
> >
> > How to get rid of this extra artifactId?
> >
> > Thanks
> >
> > Oscar
> >
> >
> >
>



-- 
Eric Redmond
http://blog.propellors.net


Re: Parent POM, properties and scm problem

2007-07-30 Thread Oscar Picasso
I have also noticed the same behavior with the project url, the sit url and
the scm url even if in the effective the corresponding properties are
correct (without the artifactId appended).

On 7/30/07, Oscar Picasso <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> In the parent POM I have the following:
> [...]
>   
> http://localhost/repos/repo/${groupId}/${artifactId}/trunk
> 
> 
>   
>
>
>   
> ${scmConnection}
> ${scmConnection}
>   
> [...]
>
> The child POM has nothing expect mandatory elements and the reference to
> the parent POM. Both the child and the parent are snapshots. The parent POM
> has been deployed to the remote repository.
>
> When I run mvn help:effective-pom on the child project, I get:
> [...]
>   
> http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> 
> 
> http://localhost/repos/repo/com.opicasso/Child/trunk/Child
> 
>   
> [..]
>
> I would have expected:
> [...]
>   
> http://localhost/repos/repo/com.opicasso/Child/trunk
> 
> 
> http://localhost/repos/repo/com.opicasso/Child/trunk
>   
> [..]
>
> Why does maven happen the child artifactId to the connections? Does maven
> merge the parent scm connections with the children ones ? But in the current
> case the child has no scm connections defined in its pom.
>
> How to get rid of this extra artifactId?
>
> Thanks
>
> Oscar
>
>
>