"Craig R. McClanahan" wrote:
> 
> On Sun, 29 Apr 2001, Peter Donald wrote:
> 
> > At 04:55  28/4/01 -0700, Craig R. McClanahan wrote:
> > >(1) "ant dist" Output Directory:
> > >
> > >    Suggestion:
> > >      ${commons.home}/${package}/build
> > >
> > >    Reasoning:
> > >    - All current packages (except Cactus) do this already
> >
> > I have said this before but ... a lot of projects outside commons use
> > "build" for an intermediate directory and "dist" for distribution
> > directory. Other projects (turbine et al) use build to contain build
> > related scripts etc. So why not flip to dist???
> >
> 
> I would be happy with "dist" or "foo" or anything ... but trying to get
> this gang to change in unison is like swimming in molasses.  :-)

I like dist too, mostly because it's what I'm used too.  Foo would be
fine too.

+1 dist

> 
> > >(2) Binary Distribution Contents
> > >
> > >    The "ant dist" target for a package should ensure that all of the
> > >    following contents are placed in the output directory:
> > >
> > >    Suggestion:
> > >      LICENSE                       Copy of Apache License
> > >      README                        README with dependencies, etc.
> > >      commons-xxxxx.jar             Package JAR (no version number)
> > >      javadoc/                      Package Javadocs
> >
> > how about docs/api and then any extra documentation required by component
> > sits in docs/. This conforms to what a lot of projects do and also matches
> > jdk.
> >
> 
> Sounds reasonable -- as long as it is common and predictable.

+1  I agree we need to have a place for non-javadoc documentation.
 
> > >    Reasoning for "No Version Number":
> > >    - Allows build.xml files that use these JARs to define properties
> > >      (commons-beanutils.jar=${commons-beanutils.home}/commons-beanutils.jar)
> > >      without worrying about version numbers
> > >    - We're going to maintain API stability, right? :-)
> > >    - Versioning information should be included in the MANIFEST.MF
> > >      file inside the JAR anyway, so it's redundant in the filename

I actually like having the version number on the jar. 

Can't the build scripts assume a pattern :

commons-<component>-<version>.jar

and then deal with them that way, wildcarding the <version> part when
you don't care?

To try to relate a little about why I think this,  I have noticed that
people do some strange things, like putting all jars into one directory
for easy access/replacement/copying.  So when you are dealing with a
problem, and you get told the classpath is :

CLASSPATH=/opt/jars/commons-beanutils.jar:/opt/jars/commons-fubar.jar:/opt/jars/woogie.jar...

you have no clue whats really going on, requreing another round-trip to
dig into the manifest.  It also means when logging in production, and
you dump your classpath to log, you can't tell either. (No, I personally
never depend upon classpaths if I can avoid it...)

Anyway, I don't feel too strongly (have been away from commons for a
bit, so just getting back up to speed on stuff) and agree that the
proposal would make things neater, but  there is some upside to the
version in the filename, and I think if we can arrange for it to be
dealt with via patterns and wildcards, things might be better.

geir

-- 
Geir Magnusson Jr.                           [EMAIL PROTECTED]
Developing for the web?  See http://jakarta.apache.org/velocity/

Reply via email to