Hi,
I wanted to point out a couple of points without delving into deep
discussion on their merits ;)

Tools of the pruner type exist, as Henri mentioned.  I've used GenJar
(http://genjar.sourceforge.net/) in the past with some success, for
example.  It's a nice option to have with regards to commons, though I
personally don't have a need for it because I like the current units of
function.  I much prefer having commons-foo-1.x.jar and
commons-bar-2.x.jar in my source control repository and build files, and
I wouldn't combine the two any more than I would combine Sun's rt.jar
with its mail.jar for example ;)

The tomcat distribution uses several commons components: daemon,
launcher, logging, collections, dbcp, el, pool, beanutils, digester,
fileupload, and modeler.  Yet we haven't found it necessary to combine
these into one jar, and a desire to do so hasn't been raised on the
tomcat-dev list.  It's important for us to allow users to override our
libraries with later/other versions, so a mishmash jar of the above
libraries probably wouldn't be used.

Finally, I wanted to echo earlier sentiments that the build and release
process is complicated enough as it is.  We didn't make it any better
with the recent common maven build stuff.  Let's be careful to ensure
whatever we add to handle this combo build (and like Henri, I'm -0 on
doing this at all) doesn't impede individual component releases.

Yoav Shapira
Millennium Research Informatics


>-----Original Message-----
>From: Henri Yandell [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, May 04, 2004 7:56 AM
>To: Jakarta Commons Developers List
>Subject: Re: [general] library management
>
>
>[not really a direct answer of your email as I'm -0 to Commons creating
>systems to create jar slices]
>
>Tools to do such things to jars exist already I think from the Applet
>days. I know I've written something that seemed to work for binaries
but
>had trouble with source [due to final variable inlining].
>
>Personally I think that if project A needs Collection 2.0 and project B
>needs Collection 3.0, then project A needs to get a release out.
>
>This would be an advantage of some larger, managed by Commons, jar. It
>would lag behind the releases of the minor components, much as SuSE ES
and
>Red Hat AS lag behind their desktop versions.
>
>I'd expect:  Commons-J2SE.jar and Commons-J2EE.jar, the latter of which
>allows things like commons-email and commons-modeler which [assuming]
have
>only dependencies on Commons and J2EE.
>
>Hen
>
>On Tue, 4 May 2004, Mario Ivankovits wrote:
>
>> *) It should be possible to strip out only the needed classfiles out
of
>> the commons-project to create a new custom all-in-one.jar - right?
>> *) If not - at least it should be possible to pack all needet jar
files
>> together.
>> *) If a commons project has as dependency e.g. collections-2.0 in the
>> project.xml while collections-3.0 is already out - there is (should
be)
>> no chance to bundle collections-3.0. Maybe the user could overrule
this
>> (and run into erros).
>>
>> But here i see a problem - what if one project (A) states
>> collections-2.0 and another one (B) states collections-3.0 as their
>> dependency. The user might have no chance to use both together.
>> So beside something like pruner - a custom classloader might also be
>needet.
>> Based on an configuration - it should know, if a class must be loaded
>> from e.g collections-2.0.jar or collections-3.0.jar. So if project-A
>> requested a collection it should load it from collections-2.0.jar
else
>> for project-B it uses collections-3.0.jar.
>>
>> I came to this if i think to upgrade to the new net-1.2 in vfs - what
if
>> one would like to use vfs and net-1.1 together. For sure - it might
be
>> no great action to upgrade to net-1.2 but for some reason it is not
>> possible.
>> It would be nice to be able to use net-1.2 with vfs ONLY! (there are
>> some other dependencies which could conflict on the users machine -
>> webdav??)
>>
>> For sure - this might only work as long as there is no reference
about
>> such a "sealed" class exported to the userspace. I am not sure, but
this
>> might often be the case.
>>
>> So i see two problems:
>> 1) to create the smallest possible jar
>> 2) to use multiple versions of the same class in one project
>>
>> -- Mario
>>
>>
>> ---------------------------------------------------------------------
>> 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]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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

Reply via email to