Date: 2004-10-26T00:51:56
Editor: KenTam <[EMAIL PROTECTED]>
Wiki: Apache Beehive Wiki
Page: Distribution Structure
URL: http://wiki.apache.org/beehive/Distribution Structure
no comment
Change Log:
------------------------------------------------------------------------------
@@ -5,7 +5,7 @@
This proposal considers only one type of distribution -- that which includes
docs, samples, template projects, and runtime bits but no servers on which to
run a Beehive application. One can envision having other distribution formats
that include only the runtime JARs or a "heavy" distribution that includes all
of the distribution plus Ant / Axis / Tomcat / etc.
-== Distribution Build ==
+== Distribution Build Details ==
The following top-level ant targets are relevant to building a distribution:
* '''build.dist''': creates an exploded distribution rooted in
{{{$BEEHIVE_HOME/build/dist}}}. Depends on Beehive platform code and samples
builds. Distinct from '''deploy''' so the development cycle of '''clean
deploy''' won't be impacted.
@@ -17,18 +17,14 @@
JAR building targets incorporate the value of the {{{beehive.version}}}
property into the name of the created JARs. Set this when calling ant in order
to produce a distribution w/ the appropriate version #.
-== Distribution Directory Structure ==
+== Distribution Structure ==
-The following structure is built under build/dist:
+A Beehive distribution has the following structure:
{{{
ant/
- buildWebappCore.xml
- tomcat/
- deployWebapp.xml
+ buildWebapp.xml
...
- docs/
- <exploded Beehive doc / Javadoc>
lib/
common/
apache-xbean.jar
@@ -45,27 +41,43 @@
wsm/
wsm.jar
samples/
- <exploded Controls / WSM / NetUI samples>
+ petstoreWeb/
+ PetStoreDashboard/
+ wsm/
+ AddressBook
+ controls/
+ DatabaseControl
templates/
netui-blank.war
wsm-blank.war
controls-blank.jar
beehive.properties
+ beehiveUser.cmd
README.txt
LICENSE.txt
INSTALL.txt
NOTICE.txt
}}}
-=== Descriptions of the sub-directories ===
+=== Distribution Content Description ===
+ * beehiveUser.cmd sets up the user's Beehive environment. Users need to
modify it as part of setting up their Beehive installation to point at e.g.
where they installed tomcat, ant and the jdk.
* the ant/ directory contains the build files for compiling various Beehive
enabled projects. For example, a skeleton webapp build file would be included
that has targets to build / clean a Beehive-enabled web project. There would
also be Ant targets to help (un|re)deploying a webapp on Tomcat and a target to
obtain a copy of the NetUI runtime. In general, the build files would contain
the core tasks needed to build / clean each project type and would be
structured such that they could be called directly or included in
project-specific build files using the Ant 1.6 <import> tag. Global properties
for these build files are defined in the top-level beehive.properties file.
* the lib/ directory contains the runtime bits divided by sub-component. This
breakdown helps developers understand which runtime pieces are used by each of
WSM, Controls, and NetUI.
* the lib/common/ directory contains the runtime bits that are shared between
two or more sub-projects. Currently, this includes XMLBeans and Log4J.
* the lib/controls/ directory contains the controls.jar and related Velocity
JARs; the latter are used at build time
* the lib/netui/ directory contains the NetUI JPF runtime, compiler, tag
libraries, skeleton config files, and the Struts / Commons JARs
* the lib/wsm/ directory contains wsm.jar and any related runtime JARs
- * the templates/ directory contains project templates for the various Beehive
components including a WSM enabled webapp, a controls JAR project, and a NetUI
/ Controls / XMLBeans enabled webapp. These can be unzipped and used as a
starting point for building Beehive projects and should ship compiled such that
they can be dropped into a container and run when possible.
- * the docs/ directory will contain Beehive documentation and API Javadoc
- * the samples/ directory will contain the samples that we decide should be
distributed with the runtime (ie, the petstore).
+ * the templates/ directory contains project templates for the various Beehive
components including a WSM enabled webapp, a controls JAR project, and a NetUI
/ Controls / XMLBeans enabled webapp. These can be unzipped and used as a
starting point for building Beehive projects.
+ * the samples/ directory will contain the samples that we decide should be
distributed with the runtime, both overall samples (like the petstore) and
component specific sammples (like the WSM Address Book and the Database
control).
+
+=== 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 ==
+'''''TBD'''''