Re: [status] main issues

2004-10-07 Thread Niclas Hedhman
On Thursday 07 October 2004 21:37, Stefano Mazzocchi wrote:

 The problem with maven is that I don't know how we can inject the
 gump-generated dependency jars into maven.

Brett Porter (Maven expert) is normally around to answer questions on how 
Maven operates.

 Does anybody have an idea? we can't expect excalibur to fix this on
 their own since this is obviously a gump issue, more than an excalibur
 issue.

I can propose a short term solution;
Revert the Excalibur packages in Gump back to the one sitting in the frozen 
avalon-excalibur CVS, which builds close to perfectly in Gump (I think 
there is the altrmi instrumentation packages that fails as a dep on altrmi, 
or something like that.) 

Then we take the Excalibur Maven projects and name them slightly different, so 
we can sort that out without holding up all the projects downstream.


Cheers
Niclas
-- 
   +--//---+
  / http://www.bali.ac/
 / http://niclas.hedhman.org / 
+--//---+


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



RE: [status] main issues

2004-10-07 Thread Stephen McConnell


 -Original Message-
 From: Stefano Mazzocchi [mailto:[EMAIL PROTECTED]


 But the *most* serious concern is that we seem to have no way to build

 with Maven and, due to excalibur, this is holding up basically 15 
 percent of our projects (including, yes, you guessed right, cocoon).

Fast track solution could be to put the last released jar files into an
excalibur-releases module with project ids matching the current set of
ids, and disable the existing excalibur descriptors pending resolution
of gump/maven equation (see below).

 The problem with maven is that I don't know how we can inject the 
 gump-generated dependency jars into maven.

Maven is fine on the injection stuff - basically it used a jar
override property that tells maven to use the jar file named in a
property value as the actual jar to bind against.  The problem is the
generation of the property files (by gump's maven builder).

 Does anybody have an idea?

Gump uses a namespace made of a project id and an optional output key.
Maven uses a combination of group and artifact name combination.  If we
take for example - the jar file produced by ant containing the junit
optional task is referenced in gump as:

   project: ant
   id: junit

In Maven the same jar file is normally referenced as:

   groupId: ant
   artifactId: ant-junit

When Gump's maven builder generates the proprieties file used during the
maven build, it uses the gump project model to establish the set of
dependencies and for each dump declared dependency (with full
inheritance of dependencies) create a property with the following name
and value:

maven.jar.junit=/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.
jar

Problem here is that:

  1. this property definition does not correspond to anything 
 declared in the target project's project.xml (because the 
 property is derived from the gump based dependencies - not
 the project's declared dependencies)

  2. the strategy for mapping of gump artifact keys to maven 
 artifact keys is basically broken in that duplicate property
 names can be generated (e.g. the property name generated for 
 the main JUnit project jar file is maven.jar.junit)

The solution to this problem is to drive the property file generation
off the project.xml file and NOT the gump dependency graph. This will
solve most issues because it will result in a much smaller set of
properties - but an underlying problem needs to be solved - namely the
declaration within a maven project of any mappings between maven
artifact names to gump project keys (e.g. ant/ant-junit -- ant:junit).
These mappings need to be used by the maven gump task when generating a
maven project descriptor.

Stephen.

 we can't expect excalibur to fix this on
 their own since this is obviously a gump issue, more than an excalibur

 issue.
 
 --
 Stefano.
 



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



Re: [status] main issues

2004-10-07 Thread Stefano Mazzocchi
Stephen,
thanks much for your input. Some comments below.
But the *most* serious concern is that we seem to have no way to build

with Maven and, due to excalibur, this is holding up basically 15 
percent of our projects (including, yes, you guessed right, cocoon).

Fast track solution could be to put the last released jar files into an
excalibur-releases module with project ids matching the current set of
ids, and disable the existing excalibur descriptors pending resolution
of gump/maven equation (see below).
Yes, that might be an ad-hoc solution and it might work for now since 
there are not so many maven projects in our tree anyway (just checked).

Can you provide such a 'fake' descriptor? i think it would be much 
faster than me trying to hack one up.

The problem with maven is that I don't know how we can inject the 
gump-generated dependency jars into maven.
Maven is fine on the injection stuff - basically it used a jar
override property that tells maven to use the jar file named in a
property value as the actual jar to bind against.  The problem is the
generation of the property files (by gump's maven builder).
Ok, good to know.

Does anybody have an idea?
Gump uses a namespace made of a project id and an optional output key.
Maven uses a combination of group and artifact name combination.  If we
take for example - the jar file produced by ant containing the junit
optional task is referenced in gump as:
   project: ant
   id: junit
In Maven the same jar file is normally referenced as:
   groupId: ant
   artifactId: ant-junit
When Gump's maven builder generates the proprieties file used during the
maven build, it uses the gump project model to establish the set of
dependencies and for each dump declared dependency (with full
inheritance of dependencies) create a property with the following name
and value:
maven.jar.junit=/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.
jar
Problem here is that:
  1. this property definition does not correspond to anything 
 declared in the target project's project.xml (because the 
 property is derived from the gump based dependencies - not
 the project's declared dependencies)

  2. the strategy for mapping of gump artifact keys to maven 
 artifact keys is basically broken in that duplicate property
 names can be generated (e.g. the property name generated for 
 the main JUnit project jar file is maven.jar.junit)

The solution to this problem is to drive the property file generation
off the project.xml file and NOT the gump dependency graph. This will
solve most issues because it will result in a much smaller set of
properties - but an underlying problem needs to be solved - namely the
declaration within a maven project of any mappings between maven
artifact names to gump project keys (e.g. ant/ant-junit -- ant:junit).
These mappings need to be used by the maven gump task when generating a
maven project descriptor.
I'm sorry, but I have lost you.
If the strategy is broken, why don't we fix it? [but I think I'm missing 
a point here obviously]

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [status] main issues

2004-10-07 Thread Adam R. B. Jack

   3) the maven integration is poor and hacky

How much do you actually know about this integration? I don't know that it
is poor, and I believe it is not hacky. Where are you getting your
information?

 But the *most* serious concern is that we seem to have no way to build
 with Maven and, due to excalibur, this is holding up basically 15
 percent of our projects (including, yes, you guessed right, cocoon).

 The problem with maven is that I don't know how we can inject the
 gump-generated dependency jars into maven.

We are doing it. Clearly you've next to no idea on how this works.

We use the technique that Mavenites told us was appropriate:


http://maven.apache.org/reference/user-guide.html#Overriding_Stated_Dependencies

 Does anybody have an idea? we can't expect excalibur to fix this on
 their own since this is obviously a gump issue, more than an excalibur
 issue.

So what is the problem?

regards,

Adam


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



RE: [status] main issues

2004-10-07 Thread Stephen McConnell


 -Original Message-
 From: Stefano Mazzocchi [mailto:[EMAIL PROTECTED]


 But the *most* serious concern is that we seem to have no way to build
 with Maven and, due to excalibur, this is holding up basically 15
 percent of our projects (including, yes, you guessed right, cocoon).

Fast track solution could be to put the last released jar files into an
excalibur-releases module with project ids matching the current set of
ids, and disable the existing excalibur descriptors pending resolution
of gump/maven equation (see below).

 The problem with maven is that I don't know how we can inject the
 gump-generated dependency jars into maven.

Maven is fine on the injection stuff - basically it used a jar
override property that tells maven to use the jar file named in a
property value as the actual jar to bind against.  The problem is the
generation of the property files (by gump's maven builder).

 Does anybody have an idea? 

Gump uses a namespace made of a project id and an optional output key.
Maven uses a combination of group and artifact name combination.  If we
take for example - the jar file produced by ant containing the junit
optional task is referenced in gump as:

   project: ant
   id: junit

In Maven the same jar file is normally referenced as:

   groupId: ant
   artifactId: ant-junit

When Gump's maven builder generates the proprieties file used during the
maven build, it uses the gump project model to establish the set of
dependencies and for each dump declared dependency (with full
inheritance of dependencies) create a property with the following name
and value:

maven.jar.junit=/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.
jar

Problem here is that:

  1. this property definition does not correspond to anything 
 declared in the target project's project.xml (because the 
 property is derived from the gump based dependencies - not
 the project's declared dependencies)

  2. the strategy for mapping of gump artifact keys to maven 
 artifact keys is basically broken in that duplicate property
 names can be generated (e.g. the property name generated for 
 the main JUnit project jar file is maven.jar.junit)

The solution to this problem is to drive the property file generation
off the project.xml file and NOT the gump dependency graph. This will
solve most issues because it will result in a much smaller set of
properties - but an underlying problem needs to be solved - namely the
declaration within a maven project of any mappings between maven
artifact names to gump project keys (e.g. ant/ant-junit -- ant:junit).
These mappings need to be used by the maven gump task when generating a
maven project descriptor.

Stephen.

 we can't expect excalibur to fix this on
 their own since this is obviously a gump issue, more than an excalibur
 issue.
 
 --
 Stefano.
 



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



Re: [status] main issues

2004-10-07 Thread Stefano Mazzocchi
Adam R. B. Jack wrote:
So what is the problem?
Problem is
http://brutus.apache.org/gump/public/excalibur/
maven integration might not be hacky (true, I had no idea we were 
injectin stuff in, so I take that back) but it does not work at all.

Now, tell me, is this just a matter of fixing the excalibur.xml file or, 
like Stephen suggested, the problem is much deeper?

--
Stefano.


smime.p7s
Description: S/MIME Cryptographic Signature