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