Beehive Distribution Specification
This description assumes only one type of distribution -- one that contains NetUI + Controls + WSM and includes documentation, samples, and sample projects for all three. This distribution does not contain an application container on which to run Beehive. It is certainly possible that Beehive could bundle or be bundled in a distribution format that contains an application container, Ant, etc.
Building a Distribution
These targets are used to build various formats of the Beehive distribution and can be run using ant -f distribution.xml <target-name>. All targets that either build a distribution or build distribution archives use the base name apache-beeinve-incubating and incorporate the value of beehive.version. For distributions from SVN, the resulting name will be apache-beehive-incubating-svn-snapshot nightlies include the date and SVN change number.
Note, Apache Forrest must be installed in order to run the distribution related targets. See BUILDING.txt for more details.
build.dist: creates an exploded distribution rooted in $BEEHIVE_HOME/build/dist. Depends on Beehive code and samples builds.
build.dist.zip: creates a .zip distribution archive in $BEEHIVE_HOME/build/dist/archives from the exploded distribution in $BEEHIVE_HOME/build/dist.
build.dist.tgz: creates a .tar.gz distribution archive in $BEEHIVE_HOME/build/dist/archives from the exploded distribution in $BEEHIVE_HOME/build/dist.
build.dist.archives: creates all distribution archives (.zip, .tar.gz, etc).
build.dist.docs: creates an exploded documentation distribution rooted in $BEEHIVE_HOME/build/dist/apache-beehive-incubating-[version]/docs. Depends on Beehive docs build.
build.dist.docs.jar: creates a documentation distribution archive in $BEEHIVE_HOME/build/dist/archives from the exploded distribution in $BEEHIVE_HOME/build/dist/apache-beehive-incubating-[version]/docs
test.dist: runs simple validation tests on the distribution in $BEEHIVE_HOME/build/dist. These tests are written and executed from the perspective of a user of the distribution (ie, they spawn a clean shell w/ no Beehive developer related settings).
clean: deletes the build/ directory, including any distribution archives.
Distribution Structure
A Beehive distribution has the following structure:
ant/
beehive-tools.xml
beehive-runtime.xml
docs/
...
lib/
common/
*.jar
controls/
*.jar
netui/
resources/
*.jar
wsm/
*.jar
samples/
...
beehive-imports.xml
README.txt
LICENSE.txt
INSTALL.txt
NOTICE.txt
Distribution Content Description
the ant/ directory contains the Ant support for obtaining various configurations of the Beehive runtime and for building Beehive-enabled projects / applications.
- the lib/ directory contains the runtime bits divided by Beehive sub-project.
- the lib/common/ directory contains the runtime bits that are shared between two or more sub-projects.
- the lib/controls/ directory contains the controls runtime, Velocity JARs, and Beehive provided system controls
- the lib/netui/ directory contains the NetUI runtime, compiler, tag libraries, Struts runtime, and webapp files
- the lib/wsm/ directory contains the WSM runtime and compiler JARs
- the samples/ directory contains Beehive samples for Controls, NetUI, and WSM. In addition, "blank" projects are included for these three.
What's NOT in a Distribution?
Beehive users need to install following software packages (not included in distributions):
- JDK 5.0
- Tomcat
- Ant
Distribution Documentation Directory Structure
The documentation is organized as an HTML web site.
docs/
apidocs/
classref_controls/
classref_pageflows/
classref_wsm/
taglib/
controls/
images/
pageflow/
wsm/
index.html
index.pdf
...The apidocs directory contains Javadoc API references for each sub-project.
The controls, pageflows, and wsm directories contain user guides for each sub-project.
index.html is the home page for the documentation web site.
- Each HTML file has a corresponding PDF file (e.g., index.html/index.pdf).