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
, andwsm
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).