You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by be...@incubator.apache.org on 2004/10/20 09:37:14 UTC
[Apache Beehive Wiki] New: Distribution Structure
Date: 2004-10-20T00:37:13
Editor: KenTam <ke...@apache.org>
Wiki: Apache Beehive Wiki
Page: Distribution Structure
URL: http://wiki.apache.org/beehive/Distribution Structure
no comment
New Page:
##language:en
#pragma section-numbers off
= Beehive Distribution Specification =
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 ==
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, docs and samples builds. Distinct from '''deploy''' so the development cycle of '''clean deploy''' won't be impacted.
* '''build.dist.jar''': creates a distribution archive in {{{$BEEHIVE_HOME/build/jars}}} from the exploded distribution in {{{$BEEHIVE_HOME/build/dist}}}.
* '''clean''': deletes the build/ directory, including distributions (exploded and archived).
== Distribution Directory Structure ==
The following structure is built under build/dist:
{{{
ant/
buildWebappCore.xml
tomcat/
deployWebapp.xml
...
docs/
<exploded Beehive doc / Javadoc>
lib/
common/
apache-xbean.jar
log4j-1.2.8.jar
...
controls/
runtime/
controls.jar
...
netui/
struts.jar
beehive-netui-pageflow.jar
...
wsm/
wsm.jar
samples/
<exploded Controls / WSM / NetUI samples>
templates/
netui-blank.war
wsm-blank.war
controls-blank.jar
README.txt
LICENSE.txt
INSTALL.txt
NOTICE.txt
}}}
=== Descriptions of the sub-directories ===
* 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.
* 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