Hi,

I'd like to propose the following definitions for the "dist" and
"release" target. If this is accepted, I'll then modify the build files
accordingly.

Definitions
------------

"artifact":
* What a project produces. For ex: source files, jars, javadoc, config
files, war, etc.

"dist target":

* Artifacts should be generated by the "dist" target
* No subproject is allowed to get artifacts other from the "dist"
directory of a related project. 
* "dist" does not package the artifacts, nor does it version them. It
simply puts them in a correct directory structure.
* The normalized directory structure for the dist/ directory is as
follows:
  - dist/lib for libraries (jars/wars/ears/etc)
  - dist/doc for documentation (any kind)
  - dist/doc/api for javadoc
  - dist/web/ for web resources
  - dist/bin for other types of distributables

"release target":

* It packages the artifacts located in dist/ and version them
* It represents what end users will see
* Not all artifacts need to be packaged (some may only be needed by
other subprojects but are not needed by end users)

Example
--------

Let's take the example of the Ant Petal:

petals/ant
  |_ dist
    |_ bin
      |_ cactus-petal-ant
        |_ [...]
    |_ doc
      |_ api
         |_ [...]
  |_ release
    |_ jakarta-cactus-petal-ant-1.5dev.zip

for example jakarta-cactus-petal-ant-1.5dev.zip only contains the zipped
petals/dist/bin/cactus-petal-ant directory (but not the javadoc for ex).

What do you think?

Thanks
-Vincent


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

Reply via email to