[Fwd: Re: Is maven.final.name deprecated?]

2004-10-19 Thread Jason van Zyl
Message meant for the list, Brett  your reply-to points to you :-)

-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://maven.apache.org

happiness is like a butterfly: the more you chase it, the more it will
elude you, but if you turn your attention to other things, it will come
and sit softly on your shoulder ...

 -- Thoreau 
---BeginMessage---
On Tue, 2004-10-19 at 08:32, Brett Porter wrote:
 I'll start by rounding up thoughts, with specific answer below to the 
 last email.
 
 Let me sum up where I think we're at here:
 - artifact separation. We've talked about this on the maven and m2-dev 
 lists a lot in the last 6 months and thinking through all the issues 
 concluded that one project = one artifact makes sense, and that we just 
 need to make project creation simple. I don't think we should go over 
 that again.
 - final name properties.
   * Strongly disagree with the addition of maven.jar.final.name.
   * Strongly agree that maven.final.name should represent the primary 
 artifact output for the project
   * In the instance where a secondary artifact is made (ejb-client), I 
 have no problem with an additional final name property for that artifact
   * for the already existing properties such as maven.war.final.name, I 
 think we should work to deprecate them while remaining backwards compatible
   * For the specific instance of the war output - it should be moved to 
 include the version, but keeping the deprecated backwards compat 
 generation of pom.artifactId only named artifact. A FAQ should be created.
   * None of this affects the filename in the repository
 
 Are there any points on which we still disagree? Is there anyone else on 
 the list that disagrees?

That sounds good. As long as the artifact goes into the repository in
standard maven form it's all good. If the copy with a different name
locally provides convenience that's great.

Has the WAR always gone into the repository in the standard maven form?
If so then this certainly isn't a dire situation. The small nit being
the superfluous use of properties other than maven.final.name.

 Felipe Leme wrote:
 
 On Tue, 2004-10-19 at 02:53, Brett Porter wrote:
 
   
 
 Context docRoot=/home/bporter/cvs/.../target/foo.war
 
 Convenient :)
 
 
 
 As I said, you need to update the war (ok, you could usen maven console
 for that, but it's not the same). What about:
 
 Context docRoot=/home/bporter/cvs/.../${maven.war.src
 
 (+ a maven.xml goal that copies all the dependencies on WEB-INF/lib and
 maven.compile.target=${maven.war.src}/WEB-INF/class)
   
 
 That would be maven war:inplace. But we digress :)
 
 But it -should- be true. Now the plugin has to guess whether to use 
 maven.jar.final.name, maven.war.final.name, etc (sometimes - as for cactus - 
 this is contextual, sometimes not).
 
 
 
 No, it will use maven.jar.final.name or maven.war.final.name, depending
 on that it needs the artifact for. 
 
 That's contextual, but as I think you say next, you don't always know.
 
 Besides, maven.final.name would
 suffice, as the plugin wouldn't have a reliable way (except of
 maven.multiproject.type, if I'm now wrong) to know the artifact's
 extension.
   
 
 This is right - you need to know what the single build artifact is, and 
 that should be {maven.final.name}.jar
 
   
 
 I would like to think we could reach consensus or compromise on design issues, 
 not need a vote. So let's keep talking it through.
 
 
 
 Ok, agreed. By speaking of design issues, I'm fine about pushing the
 'one artifact per project Maven way', but we should allow users to make
 some exceptions for that rule. For instance, in many circumstances a
 project might need to build a 'primary' artifact and many 'secondary'
 ones, so Maven should support it (without requiring the multi-project
 hell). One such situation is where a project's main artifact is a jar,
 but it also provides a war to test it and maybe another with
 documentation (that would be the case for all Jakarta Taglibs, for
 example).
   
 
 Another war with documentation? site:war? A documentation artifact is a 
 valid secondary artifact, whatever the format.
 
 I don't believe this is the right way to go for the others - it is 
 unneeded complexity. examples subproject, test harness subproject that 
 depend on the original are better.
 
 Yes, secondary artifacts are needed but they are just that - secondary.
 
 BTW, I have discussed this case on Jira and in the users list, but we
 haven't reached any consensus yet:
 
 http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]by=threadfrom=875047
 http://jira.codehaus.org/browse/MPWAR-30
 
   
 
 Your argument against what I've said is it is overkill. Making a new pom 
 is a piece of cake, and it nicely separates things out and they both do 
 one thing, and do it the same as for anything else.
 
 Under your scenario, what happens in a multiproject build when you hit 
 the taglib? Does it build a jar or a war? both? what tests does it run?
 
 So, what do 

Re: [Fwd: Re: Is maven.final.name deprecated?]

2004-10-19 Thread Brett Porter
It was sending both the list reply-to and one for me. I've changed a 
config - let's see if this helps...

Jason van Zyl wrote:
Message meant for the list, Brett  your reply-to points to you :-)
 


Subject:
Re: Is maven.final.name deprecated?
From:
Jason van Zyl [EMAIL PROTECTED]
Date:
19 Oct 2004 09:24:03 -0400
To:
[EMAIL PROTECTED]
To:
[EMAIL PROTECTED]
On Tue, 2004-10-19 at 08:32, Brett Porter wrote:
 

I'll start by rounding up thoughts, with specific answer below to the 
last email.

Let me sum up where I think we're at here:
- artifact separation. We've talked about this on the maven and m2-dev 
lists a lot in the last 6 months and thinking through all the issues 
concluded that one project = one artifact makes sense, and that we just 
need to make project creation simple. I don't think we should go over 
that again.
- final name properties.
 * Strongly disagree with the addition of maven.jar.final.name.
 * Strongly agree that maven.final.name should represent the primary 
artifact output for the project
 * In the instance where a secondary artifact is made (ejb-client), I 
have no problem with an additional final name property for that artifact
 * for the already existing properties such as maven.war.final.name, I 
think we should work to deprecate them while remaining backwards compatible
 * For the specific instance of the war output - it should be moved to 
include the version, but keeping the deprecated backwards compat 
generation of pom.artifactId only named artifact. A FAQ should be created.
 * None of this affects the filename in the repository

Are there any points on which we still disagree? Is there anyone else on 
the list that disagrees?
   

That sounds good. As long as the artifact goes into the repository in
standard maven form it's all good. If the copy with a different name
locally provides convenience that's great.
Has the WAR always gone into the repository in the standard maven form?
If so then this certainly isn't a dire situation. The small nit being
the superfluous use of properties other than maven.final.name.
 

Felipe Leme wrote:
   

On Tue, 2004-10-19 at 02:53, Brett Porter wrote:

 

Context docRoot=/home/bporter/cvs/.../target/foo.war
Convenient :)
  

   

As I said, you need to update the war (ok, you could usen maven console
for that, but it's not the same). What about:
Context docRoot=/home/bporter/cvs/.../${maven.war.src
(+ a maven.xml goal that copies all the dependencies on WEB-INF/lib and
maven.compile.target=${maven.war.src}/WEB-INF/class)
 

That would be maven war:inplace. But we digress :)
   

But it -should- be true. Now the plugin has to guess whether to use 
maven.jar.final.name, maven.war.final.name, etc (sometimes - as for cactus - 
this is contextual, sometimes not).
  

   

No, it will use maven.jar.final.name or maven.war.final.name, depending
on that it needs the artifact for. 

 

That's contextual, but as I think you say next, you don't always know.
   

Besides, maven.final.name would
suffice, as the plugin wouldn't have a reliable way (except of
maven.multiproject.type, if I'm now wrong) to know the artifact's
extension.
 

This is right - you need to know what the single build artifact is, and 
that should be {maven.final.name}.jar

   


 

I would like to think we could reach consensus or compromise on design issues, 
not need a vote. So let's keep talking it through.
  

   

Ok, agreed. By speaking of design issues, I'm fine about pushing the
'one artifact per project Maven way', but we should allow users to make
some exceptions for that rule. For instance, in many circumstances a
project might need to build a 'primary' artifact and many 'secondary'
ones, so Maven should support it (without requiring the multi-project
hell). One such situation is where a project's main artifact is a jar,
but it also provides a war to test it and maybe another with
documentation (that would be the case for all Jakarta Taglibs, for
example).
 

Another war with documentation? site:war? A documentation artifact is a 
valid secondary artifact, whatever the format.

I don't believe this is the right way to go for the others - it is 
unneeded complexity. examples subproject, test harness subproject that 
depend on the original are better.

Yes, secondary artifacts are needed but they are just that - secondary.
   

BTW, I have discussed this case on Jira and in the users list, but we
haven't reached any consensus yet:
http://nagoya.apache.org/eyebrowse/[EMAIL PROTECTED]by=threadfrom=875047
http://jira.codehaus.org/browse/MPWAR-30

 

Your argument against what I've said is it is overkill. Making a new pom 
is a piece of cake, and it nicely separates things out and they both do 
one thing, and do it the same as for anything else.

Under your scenario, what happens in a multiproject build when you hit 
the taglib? Does it build a jar or a war? both?