Re: so many jars

2003-03-15 Thread Santiago Gala
Danny Angus wrote:
(...)
 The solution M$ have delivered appears to simply be a global registry
 (the Global Assembly Cache), but it is well thought out in respect to
 M$ probelm and is capable of maintaining multiple versions of the
 same Assemblies (think jars) and using the correct one, either the
 newest or a specified version. I haven't investigated it too deeply
 but I have a feeling that where two bits of the same application
 depend on different versions of the same assembly this is taken care
 of properly too. From what I can see it relies heavily on code
 signing to deliver secure name spaces and version identification, and
 prevent unintentional namespace conflicts. Thus anyone can download
 and install multiple versions (or your application installer can do
 it) where necessary, and you only need to install each required
 Assembly-version once per machine.
I think per machine things belong to the configuration management and 
system administration concerns, and should be handled at this level.

IMO, the approach of jpackage.org, making java rpms for linux and 
setting a repository of libraries(jars) under /usr/share/java, with a 
judicious use of symbolic links (much in the same way that .so files are 
managed under linux) offers a clean way to avoid duplication , while 
leaving decision power on what gets installed where, how and when to the 
sysadmin.

Again IMO, any automated solution should not intrude into the ability of 
the sysadmin to control what is in her machine.

Microsoft has always handled this problem in the wrong way ,assuming 
that an automated installer knows better than the system administrator 
and doing things without logging or asking first.

Please, (generic broadcasted plea, not pointing to anyone in particular) 
make sure that any java solution to this problem respects the needs of 
systema administrators WRT configuration management and global auditing 
of changes in their (suposedly) managed systems.



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


RE: so many jars

2003-03-15 Thread Danny Angus


Santiago Gala wrote:

 Again IMO, any automated solution should not intrude into the ability of 
 the sysadmin to control what is in her machine.
 
 Microsoft has always handled this problem in the wrong way ,assuming 
 that an automated installer knows better than the system administrator 
 and doing things without logging or asking first.


Oh I agree, perhaps I hadn't thought it all through, but my point certainly wasn't to 
suggest allowing users or installers free range to install anything.


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



RE: so many jars

2003-03-15 Thread Jason van Zyl
On Fri, 2003-03-14 at 18:17, Dominique Devienne wrote:
 Could you please provide a link where to start looking to try to understand
 how you are doing it? Like maybe a ViewCVS link? Thanks, --DD

Right now we use three approaches we have a WerkzResolver for
short-lived graphs which we use for the CLI and a resolver based on the
graph package in the commons-sandbox which will be used for long-lived
graphs:

http://cvs.apache.org/viewcvs.cgi/jakarta-turbine-maven/src/java/org/apache/maven/jelly/tags/maven/

What's in the Plexus plugin is just brute-force walking through POMs. I
will eventually incorporate the use of the commons-graph package.


 -Original Message-
 From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
 Sent: Friday, March 14, 2003 5:08 PM
 To: Jakarta General List
 Subject: RE: so many jars
 
 On Fri, 2003-03-14 at 18:07, Dominique Devienne wrote:
  Why can't the POM be stored in the artifact itself? 
 
 That certainly can be done and has been suggested, but the POM can be
 uesd for so many other things. It's certainly one of the routes we could
 go.
 
  Assuming most Maven
  projects generate JAR artifacts, couldn't you store the POM in the JAR,
 like
  in META-INF/maven/project.xml, and then use that info at runtime? Seems
 like
  all you would need is some bootstrap class (a modified forehead?) that
 knows
  where to find JAR artifacts (the runtime equivalent to the current
  maven.repository); When requested to start a main class from a given JAR,
 it
  would read the POM from the JAR, and start looking up the necessary
 runtime
  JARs dependencies (declared in the POM) in the repository(ies). If these
 JAR
  dependencies in turn also contain their own POM, you can fully resolve the
  dependencies (transitive closure).
  
  Or am I completely in left field? --DD
 
 Nope, that's what I'm doing to create avalon runtimes.
 
  -Original Message-
  From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
  Sent: Friday, March 14, 2003 4:53 PM
  To: Jakarta General List
  Subject: RE: so many jars
  
  On Fri, 2003-03-14 at 15:24, J Aaron Farr wrote:
   On Fri, 2003-03-14 at 11:14, Henri Yandell wrote:
at compile-time maybe :)

But you still end up with jar duplication, you just get to avoid
 having
  to
think about it too much when compiling.

   
   I agree that maven has an excellent jar dependency solution for
   compile-time, but I don't think there exists any (standard) solution for
   run-time dependencies in java.  
  
  This is technically not a hard problem. For maven it's more an
  admistrative problem. Eventually only the compile time needs will be
  required in the Maven POM but in order to find the runtime dependencies
  you need all the POMs of the compile time dependencies of the target
  project. And there exist most of the POMs to do this it's just creating
  a mechanism where the POMs are stored safely, sync'd properly and a
  mechanism for retrieving them.
  
  There are glimpses of this already in some of the maven plugins where a
  single POM is used as the target and then all dependencies are traced
  and gathered. I'm doing this to produce avalon runtimes with great
  success and the method will eventually make it's way into Maven proper
  after more field testing. 
  
   Using a system level $CLASSPATH variable
   becomes painful (as was mentioned).  The general solution seems to be a
   hierarchal set of /lib directories.  
   
   To have a true run-time jar dependency solution you would need a
   standard installation and launch mechanism.  I suppose something based
   on JNLP (WebStart) plus some sort of ports or emerge system could do
   this, but I don't think it exists yet.  Interesting idea though. 
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


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



so many jars

2003-03-14 Thread dsalib
Hi,
I'm setting up a developpement environment and a documentation system 
for a school. They need their tools to be open source so I'm using much 
of what is in the jakarta project.

Right, now for my question : The dependancies for many projets are 
pretty much the same, projets come with the jars they depend on 
(and some do not) which makes for a lot of duplication. Is there a quick 
way around this, a quick way to avoid duplication? Should a standard be 
set to avoid such duplication? Or is this duplication justified?

Cheers,

David Salib


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



Re: so many jars

2003-03-14 Thread Henri Yandell


On Fri, 14 Mar 2003 [EMAIL PROTECTED] wrote:

 Right, now for my question : The dependancies for many projets are
 pretty much the same, projets come with the jars they depend on
 (and some do not) which makes for a lot of duplication. Is there a quick
 way around this, a quick way to avoid duplication? Should a standard be
 set to avoid such duplication? Or is this duplication justified?

A quick [though ultimately painful] way around it is to stick things into
a shared classpath directory. With Java you can put things in your
JRE/JDK's lib/ext directory, with tomcat there is a common/lib directory
that serves much the same purpose for most things.

The problem here comes with the clash in versions, which is why
duplication is justified. One piece of code might need log4j 1.1.7 and
might not work on 1.2.3 [i'm making up version numbers, but they're
closeish], while the rest might happily upgrade to that version.

Hen


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



RE: so many jars

2003-03-14 Thread Paulo Silveira
You are looking for MAVEN, thats it
Jar duplication is history

http://jakarta.apache.org/turbine/maven/


Paulo Silveira
http://www.paulo.com.br/
http://www.guj.com.br/
 

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
 Sent: sexta-feira, 14 de março de 2003 13:13
 To: [EMAIL PROTECTED]
 Subject: so many jars
 
 
 Hi,
 I'm setting up a developpement environment and a documentation system 
 for a school. They need their tools to be open source so I'm 
 using much 
 of what is in the jakarta project.
 
 Right, now for my question : The dependancies for many projets are 
 pretty much the same, projets come with the jars they depend on 
 (and some do not) which makes for a lot of duplication. Is 
 there a quick 
 way around this, a quick way to avoid duplication? Should a 
 standard be 
 set to avoid such duplication? Or is this duplication justified?
 
 Cheers,
 
 David Salib
 
 
 -
 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: so many jars

2003-03-14 Thread Henri Yandell


at compile-time maybe :)

But you still end up with jar duplication, you just get to avoid having to
think about it too much when compiling.

On Fri, 14 Mar 2003, Paulo Silveira wrote:

 You are looking for MAVEN, thats it
 Jar duplication is history

 http://jakarta.apache.org/turbine/maven/

 
 Paulo Silveira
 http://www.paulo.com.br/
 http://www.guj.com.br/


  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
  Sent: sexta-feira, 14 de março de 2003 13:13
  To: [EMAIL PROTECTED]
  Subject: so many jars
 
 
  Hi,
  I'm setting up a developpement environment and a documentation system
  for a school. They need their tools to be open source so I'm
  using much
  of what is in the jakarta project.
 
  Right, now for my question : The dependancies for many projets are
  pretty much the same, projets come with the jars they depend on
  (and some do not) which makes for a lot of duplication. Is
  there a quick
  way around this, a quick way to avoid duplication? Should a
  standard be
  set to avoid such duplication? Or is this duplication justified?
 
  Cheers,
 
  David Salib
 
 
  -
  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]




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



Re: so many jars

2003-03-14 Thread Nick Chalko
Take a look at centipede.

Using a the Gump module.xml, jars are download and classpaths are 
handled automatically.

--
Nick Chalko Show me the code.
 Centipede
 Ant + autodownloadable build plugins + needed jars autodownload.
 http://krysalis.org/centipede
-


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


Re: so many jars

2003-03-14 Thread Lavandowska
I would say check out Greebo
http://www.discore.com/oz/new/index.htm
a light-weight version of Maven (I'm grossly oversimplifying)

and combine this with some of the other magic Ant gives you (described
in section 8.4 Handling Versioned Dependencies of Erik Hatcher's Ant
book).  Together these should go a long way.

The simpler approach would likely be to just use Maven (as suggested by
others).

Lance

__
Do you Yahoo!?
Yahoo! Web Hosting - establish your business online
http://webhosting.yahoo.com

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



RE: so many jars

2003-03-14 Thread J Aaron Farr
On Fri, 2003-03-14 at 11:14, Henri Yandell wrote:
 at compile-time maybe :)
 
 But you still end up with jar duplication, you just get to avoid having to
 think about it too much when compiling.
 

I agree that maven has an excellent jar dependency solution for
compile-time, but I don't think there exists any (standard) solution for
run-time dependencies in java.  Using a system level $CLASSPATH variable
becomes painful (as was mentioned).  The general solution seems to be a
hierarchal set of /lib directories.  

To have a true run-time jar dependency solution you would need a
standard installation and launch mechanism.  I suppose something based
on JNLP (WebStart) plus some sort of ports or emerge system could do
this, but I don't think it exists yet.  Interesting idea though. 

-- 
  jaaron[EMAIL PROTECTED]


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



Re: so many jars

2003-03-14 Thread Andrew C. Oliver
I'm working on a solution for both, but I'm swamped at the moment. 

Henri Yandell wrote:

at compile-time maybe :)

But you still end up with jar duplication, you just get to avoid having to
think about it too much when compiling.
On Fri, 14 Mar 2003, Paulo Silveira wrote:

 

You are looking for MAVEN, thats it
Jar duplication is history
http://jakarta.apache.org/turbine/maven/


Paulo Silveira
http://www.paulo.com.br/
http://www.guj.com.br/
   

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: sexta-feira, 14 de mar?o de 2003 13:13
To: [EMAIL PROTECTED]
Subject: so many jars
Hi,
I'm setting up a developpement environment and a documentation system
for a school. They need their tools to be open source so I'm
using much
of what is in the jakarta project.
Right, now for my question : The dependancies for many projets are
pretty much the same, projets come with the jars they depend on
(and some do not) which makes for a lot of duplication. Is
there a quick
way around this, a quick way to avoid duplication? Should a
standard be
set to avoid such duplication? Or is this duplication justified?
Cheers,

David Salib

-
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]
   



-
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: so many jars

2003-03-14 Thread Danny Angus
 jaaron  wrote:

 To have a true run-time jar dependency solution you would need a
 standard installation and launch mechanism.  I suppose something based
 on JNLP (WebStart) plus some sort of ports or emerge system could do
 this, but I don't think it exists yet.  Interesting idea though. 

I'll probably be flamed for saying this here :-) but M$.NET common language runtime 
, the .NET equivalent of the JVM, has a solution to this issue.

As I've mentioned elsewhere I expect its because M$ have been plagued much more than 
Java with the versioning problem, manifested as DLL Hell in windows systems where 
new software could upgrade system DLL's and break installed applications which have 
specific dependance on the older versions. Java has less of a nightmare in this 
respect, but we pay the price of the same basic problem by living under an ever 
increasing mountain of duplicated jars.

The solution M$ have delivered appears to simply be a global registry (the Global 
Assembly Cache), but it is well thought out in respect to M$ probelm and is capable of 
maintaining multiple versions of the same Assemblies (think jars) and using the 
correct one, either the newest or a specified version. I haven't investigated it too 
deeply but I have a feeling that where two bits of the same application depend on 
different versions of the same assembly this is taken care of properly too. From what 
I can see it relies heavily on code signing to deliver secure name spaces and version 
identification, and prevent unintentional namespace conflicts. Thus anyone can 
download and install multiple versions (or your application installer can do it) where 
necessary, and you only need to install each required Assembly-version once per 
machine.

I expect anyone suggesting that jakarta, or anyone else java-esque, should mimic M$ 
would be rightly laughed off the pitch but as the problem is the same it would seem 
sensible to at least examine the GAC and consider its pros and cons when formulating 
ideas for a java jar management solution.


d.


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



Re: so many jars

2003-03-14 Thread Glen Stampoultzis
Shame it's LGPL.

At 03:59 AM 15/03/2003, you wrote:
I would say check out Greebo
http://www.discore.com/oz/new/index.htm
a light-weight version of Maven (I'm grossly oversimplifying)
and combine this with some of the other magic Ant gives you (described
in section 8.4 Handling Versioned Dependencies of Erik Hatcher's Ant
book).  Together these should go a long way.
The simpler approach would likely be to just use Maven (as suggested by
others).


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


RE: so many jars

2003-03-14 Thread Jason van Zyl
On Fri, 2003-03-14 at 15:24, J Aaron Farr wrote:
 On Fri, 2003-03-14 at 11:14, Henri Yandell wrote:
  at compile-time maybe :)
  
  But you still end up with jar duplication, you just get to avoid having to
  think about it too much when compiling.
  
 
 I agree that maven has an excellent jar dependency solution for
 compile-time, but I don't think there exists any (standard) solution for
 run-time dependencies in java.  

This is technically not a hard problem. For maven it's more an
admistrative problem. Eventually only the compile time needs will be
required in the Maven POM but in order to find the runtime dependencies
you need all the POMs of the compile time dependencies of the target
project. And there exist most of the POMs to do this it's just creating
a mechanism where the POMs are stored safely, sync'd properly and a
mechanism for retrieving them.

There are glimpses of this already in some of the maven plugins where a
single POM is used as the target and then all dependencies are traced
and gathered. I'm doing this to produce avalon runtimes with great
success and the method will eventually make it's way into Maven proper
after more field testing. 

 Using a system level $CLASSPATH variable
 becomes painful (as was mentioned).  The general solution seems to be a
 hierarchal set of /lib directories.  
 
 To have a true run-time jar dependency solution you would need a
 standard installation and launch mechanism.  I suppose something based
 on JNLP (WebStart) plus some sort of ports or emerge system could do
 this, but I don't think it exists yet.  Interesting idea though. 
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


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



RE: so many jars

2003-03-14 Thread Dominique Devienne
Why can't the POM be stored in the artifact itself? Assuming most Maven
projects generate JAR artifacts, couldn't you store the POM in the JAR, like
in META-INF/maven/project.xml, and then use that info at runtime? Seems like
all you would need is some bootstrap class (a modified forehead?) that knows
where to find JAR artifacts (the runtime equivalent to the current
maven.repository); When requested to start a main class from a given JAR, it
would read the POM from the JAR, and start looking up the necessary runtime
JARs dependencies (declared in the POM) in the repository(ies). If these JAR
dependencies in turn also contain their own POM, you can fully resolve the
dependencies (transitive closure).

Or am I completely in left field? --DD

-Original Message-
From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 14, 2003 4:53 PM
To: Jakarta General List
Subject: RE: so many jars

On Fri, 2003-03-14 at 15:24, J Aaron Farr wrote:
 On Fri, 2003-03-14 at 11:14, Henri Yandell wrote:
  at compile-time maybe :)
  
  But you still end up with jar duplication, you just get to avoid having
to
  think about it too much when compiling.
  
 
 I agree that maven has an excellent jar dependency solution for
 compile-time, but I don't think there exists any (standard) solution for
 run-time dependencies in java.  

This is technically not a hard problem. For maven it's more an
admistrative problem. Eventually only the compile time needs will be
required in the Maven POM but in order to find the runtime dependencies
you need all the POMs of the compile time dependencies of the target
project. And there exist most of the POMs to do this it's just creating
a mechanism where the POMs are stored safely, sync'd properly and a
mechanism for retrieving them.

There are glimpses of this already in some of the maven plugins where a
single POM is used as the target and then all dependencies are traced
and gathered. I'm doing this to produce avalon runtimes with great
success and the method will eventually make it's way into Maven proper
after more field testing. 

 Using a system level $CLASSPATH variable
 becomes painful (as was mentioned).  The general solution seems to be a
 hierarchal set of /lib directories.  
 
 To have a true run-time jar dependency solution you would need a
 standard installation and launch mechanism.  I suppose something based
 on JNLP (WebStart) plus some sort of ports or emerge system could do
 this, but I don't think it exists yet.  Interesting idea though. 
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


-
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: so many jars

2003-03-14 Thread Jason van Zyl
On Fri, 2003-03-14 at 18:07, Dominique Devienne wrote:
 Why can't the POM be stored in the artifact itself? 

That certainly can be done and has been suggested, but the POM can be
uesd for so many other things. It's certainly one of the routes we could
go.

 Assuming most Maven
 projects generate JAR artifacts, couldn't you store the POM in the JAR, like
 in META-INF/maven/project.xml, and then use that info at runtime? Seems like
 all you would need is some bootstrap class (a modified forehead?) that knows
 where to find JAR artifacts (the runtime equivalent to the current
 maven.repository); When requested to start a main class from a given JAR, it
 would read the POM from the JAR, and start looking up the necessary runtime
 JARs dependencies (declared in the POM) in the repository(ies). If these JAR
 dependencies in turn also contain their own POM, you can fully resolve the
 dependencies (transitive closure).
 
 Or am I completely in left field? --DD

Nope, that's what I'm doing to create avalon runtimes.

 -Original Message-
 From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
 Sent: Friday, March 14, 2003 4:53 PM
 To: Jakarta General List
 Subject: RE: so many jars
 
 On Fri, 2003-03-14 at 15:24, J Aaron Farr wrote:
  On Fri, 2003-03-14 at 11:14, Henri Yandell wrote:
   at compile-time maybe :)
   
   But you still end up with jar duplication, you just get to avoid having
 to
   think about it too much when compiling.
   
  
  I agree that maven has an excellent jar dependency solution for
  compile-time, but I don't think there exists any (standard) solution for
  run-time dependencies in java.  
 
 This is technically not a hard problem. For maven it's more an
 admistrative problem. Eventually only the compile time needs will be
 required in the Maven POM but in order to find the runtime dependencies
 you need all the POMs of the compile time dependencies of the target
 project. And there exist most of the POMs to do this it's just creating
 a mechanism where the POMs are stored safely, sync'd properly and a
 mechanism for retrieving them.
 
 There are glimpses of this already in some of the maven plugins where a
 single POM is used as the target and then all dependencies are traced
 and gathered. I'm doing this to produce avalon runtimes with great
 success and the method will eventually make it's way into Maven proper
 after more field testing. 
 
  Using a system level $CLASSPATH variable
  becomes painful (as was mentioned).  The general solution seems to be a
  hierarchal set of /lib directories.  
  
  To have a true run-time jar dependency solution you would need a
  standard installation and launch mechanism.  I suppose something based
  on JNLP (WebStart) plus some sort of ports or emerge system could do
  this, but I don't think it exists yet.  Interesting idea though. 
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


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



RE: so many jars

2003-03-14 Thread Dominique Devienne
Could you please provide a link where to start looking to try to understand
how you are doing it? Like maybe a ViewCVS link? Thanks, --DD

-Original Message-
From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 14, 2003 5:08 PM
To: Jakarta General List
Subject: RE: so many jars

On Fri, 2003-03-14 at 18:07, Dominique Devienne wrote:
 Why can't the POM be stored in the artifact itself? 

That certainly can be done and has been suggested, but the POM can be
uesd for so many other things. It's certainly one of the routes we could
go.

 Assuming most Maven
 projects generate JAR artifacts, couldn't you store the POM in the JAR,
like
 in META-INF/maven/project.xml, and then use that info at runtime? Seems
like
 all you would need is some bootstrap class (a modified forehead?) that
knows
 where to find JAR artifacts (the runtime equivalent to the current
 maven.repository); When requested to start a main class from a given JAR,
it
 would read the POM from the JAR, and start looking up the necessary
runtime
 JARs dependencies (declared in the POM) in the repository(ies). If these
JAR
 dependencies in turn also contain their own POM, you can fully resolve the
 dependencies (transitive closure).
 
 Or am I completely in left field? --DD

Nope, that's what I'm doing to create avalon runtimes.

 -Original Message-
 From: Jason van Zyl [mailto:[EMAIL PROTECTED] 
 Sent: Friday, March 14, 2003 4:53 PM
 To: Jakarta General List
 Subject: RE: so many jars
 
 On Fri, 2003-03-14 at 15:24, J Aaron Farr wrote:
  On Fri, 2003-03-14 at 11:14, Henri Yandell wrote:
   at compile-time maybe :)
   
   But you still end up with jar duplication, you just get to avoid
having
 to
   think about it too much when compiling.
   
  
  I agree that maven has an excellent jar dependency solution for
  compile-time, but I don't think there exists any (standard) solution for
  run-time dependencies in java.  
 
 This is technically not a hard problem. For maven it's more an
 admistrative problem. Eventually only the compile time needs will be
 required in the Maven POM but in order to find the runtime dependencies
 you need all the POMs of the compile time dependencies of the target
 project. And there exist most of the POMs to do this it's just creating
 a mechanism where the POMs are stored safely, sync'd properly and a
 mechanism for retrieving them.
 
 There are glimpses of this already in some of the maven plugins where a
 single POM is used as the target and then all dependencies are traced
 and gathered. I'm doing this to produce avalon runtimes with great
 success and the method will eventually make it's way into Maven proper
 after more field testing. 
 
  Using a system level $CLASSPATH variable
  becomes painful (as was mentioned).  The general solution seems to be a
  hierarchal set of /lib directories.  
  
  To have a true run-time jar dependency solution you would need a
  standard installation and launch mechanism.  I suppose something based
  on JNLP (WebStart) plus some sort of ports or emerge system could do
  this, but I don't think it exists yet.  Interesting idea though. 
-- 
jvz.

Jason van Zyl
[EMAIL PROTECTED]
http://tambora.zenplex.org

In short, man creates for himself a new religion of a rational
and technical order to justify his work and to be justified in it.
  
  -- Jacques Ellul, The Technological Society


-
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: so many jars

2003-03-14 Thread Peter Royal
On Friday, March 14, 2003, at 06:08  PM, Jason van Zyl wrote:
maven.repository); When requested to start a main class from a given 
JAR, it
would read the POM from the JAR, and start looking up the necessary 
runtime
JARs dependencies (declared in the POM) in the repository(ies). If 
these JAR
dependencies in turn also contain their own POM, you can fully 
resolve the
dependencies (transitive closure).

Or am I completely in left field? --DD
Nope, that's what I'm doing to create avalon runtimes.
And component metadata? Please share code :)
-pete
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]