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).
  • No labels