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. :-)
> >(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.
> > 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 agree that no version number is nice while building from CVS but for
> "real" releases it is very useful to be able to see versions of different
> components at a glance. Perhaps when creating a dist for public you can set
> a flag or some such to modify this. Usually this is done anyway (see ant's
> own build file for example).
>
> For instance in normal building circumstances ant builds a distribution to
> "dist/". Then when it hits "real" distribution mode it will build to
> "jakarta-ant-1.4/". This is so that the correct directory is included in
> zip etc.
>
I agree with the version number being included in the name of the release
distribution files (i.e. "jakarta-commons-beanutils-1.0.zip"), and the top
level directory included in the distribution file (which would be
"jakarta-commons-beanutils-1.0" in this case). What I want to avoid is
including the version number in the name of the JAR file itself -- that is
what introduces fragility in build scripts that would depend on this
package. So, the name of the JAR file itself would be
"commons-beanutils.jar", independent of which version you grabbed.
> Cheers,
>
> Pete
>
Craig