hlship      2004/07/11 10:14:43

  Modified:    .        build.xml status.xml
               framework build.xml
               library  build.xml
  Added:       hivebuild/report-artifacts license-report.trailer.xml
                        license-report.header.xml
               hivebuild javadoc-report.xml dist.xml dist.properties
                        forrest.xml hivedoc-report.xml
                        jar-module.properties javacc.properties
                        hivedoc-report.properties hivebuild.xml project.xml
                        jar-module.xml clover-report.xml
                        license-report.properties license-report.xml
                        javacc.xml hivebuild.properties dependency.xml
                        clover.properties
               .        version.properties
  Removed:     common   jar-module.xml clover-report.xml
                        license-report.properties license-report.xml
                        dist.xml hivedoc-report.properties project.xml
                        javacc.xml version.properties hivedoc-report.xml
                        forrest.xml jar-module.properties dependency.xml
                        javadoc-report.xml common.properties common.xml
                        dist.properties clover.properties
               common/report-artifacts license-report.trailer.xml
                        license-report.header.xml
  Log:
  Move the Ant build scripts to a new directory, hivebuild, in preparation for 
making hivebuild reusable on new projects.
  
  Revision  Changes    Path
  1.1                  
jakarta-hivemind/hivebuild/report-artifacts/license-report.trailer.xml
  
  Index: license-report.trailer.xml
  ===================================================================
        
  ]]>
  </source>
  <!-- $Id: license-report.trailer.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ 
-->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->    
    </body>
  </document>
  
  
  1.1                  
jakarta-hivemind/hivebuild/report-artifacts/license-report.header.xml
  
  Index: license-report.header.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: license-report.header.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" 
"./dtd/document-v12.dtd">
  <document>
  
    <header>
      <title>Project License</title>
    </header>
  
    <body>
  <source>
        <!-- The contents of the license file are copies in place after this 
CDATA section.
                   The license-report.trailer.xml contains the rest. -->
  <![CDATA[     
  
  
  
  
  1.1                  jakarta-hivemind/hivebuild/javadoc-report.xml
  
  Index: javadoc-report.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: javadoc-report.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="javadoc-report">
        <fail unless="ant.file.forrest" message="Must import forrest.xml 
first."/>
        <property file="${hivebuild.dir}/license-report.properties"/>
        <macrodef name="javadoc-report">
                <sequential>
                        <announce message="Running JavaDoc Report ..."/>
                        <antcall target="javadoc"/>
                        <add-report-to-menu element="javadoc-report" 
label="JavaDoc"
                                file="apidocs/index.html"/>
                </sequential>
        </macrodef>
  </project>
  
  
  
  1.1                  jakarta-hivemind/hivebuild/dist.xml
  
  Index: dist.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="dist">
        
        <property file="${basedir}/project.properties"/>
        <property file="${hivebuild.dir}/dist.properties"/>
        
        <!-- This will be here until we add some new taskdefs and typedefs to 
simplify this. -->
        
        <target name="dist" description="Build a distribution." 
depends="clean,install,site,dist-build"/>
        
        <target name="dist-build" description="Constructs final distribution 
files.">
                <mkdir dir="${dist.dir}"/>
                
                <fail unless="dist.name"
                                message="You must provide a value for property 
property dist.name."/>
                                
                <announce message="Assembling binary/src distribution (.tar.gz 
format) ..."/>
                
                <tar destfile="${dist.basefile}.tar.gz"
                        compression="gzip">
                                                
                        <tarfileset id="dist.src.set" dir="." 
prefix="${dist.base.name}">
                                <exclude name="**/target/**"/>
                                <exclude name="target/**"/>
                                <exclude name="ext-package/**"/>
                                
                                <!-- These are all related to Eclipse. -->
                                <exclude name="bin/**"/>
                                <exclude name=".*"/>
                                
                                <!-- These are left around by PaintShopPro and 
Windows Explorer -->
                                
                                <exclude name="**/Thumbs.db"/>
                                <exclude name="**/pspbrwse.jbf"/>
                        </tarfileset>
                        
                        <!-- Pick up the packaged libraries. -->
                        
                        <tarfileset id="dist.bin.set" dir="${target.dir}" 
prefix="${dist.base.name}">
                                <include name="*.jar"/>
                        </tarfileset>           
                </tar>
                
                <announce message="Assembling binary/src distribution (.zip 
format) ..."/>
                
                <zip destfile="${dist.basefile}.zip">                           
                
                        <zipfileset refid="dist.src.set"/>
                        <zipfileset refid="dist.bin.set"/>      
                </zip>          
                
                <announce message="Assembling documentation distribution ..."/>
      
                <tar destfile="${dist.dir}/${dist.docs.file}" 
compression="gzip">
                        <tarfileset dir="${project.docs.target.dir}"/>
                </tar>
                
                <checksum fileext=".md5">
                  <fileset dir="${dist.dir}">
                        <include name="*.zip"/>
                        <include name="*.gz"/>
                  </fileset>
                </checksum>
        </target>
  
        
        <target name="-check-password" unless="password">
        
                <input message="Please provide password for installation:" 
addproperty="password"/>
  
        </target>
    
        <target name="install-docs" depends="-check-password"
                        description="Copies the documentation to a directory 
and unpacks it remotely.">
  
                <!-- TODO: Check for missing properties. -->
                
                <announce message="Installing documentation distribution to 
${dist.install.docs.dir} ..."/>
      
                <scp
                                file="${dist.dir}/${dist.docs.file}" 
                                todir="${dist.install.docs.dir}"
                                password="${password}"
                                trust="yes"/>
                
                <sshexec 
                        username="${dist.install.docs.user}"
                        host="${dist.install.docs.host}"
                        command="cd ${dist.install.docs.path} ; tar xzvf 
${dist.docs.file} ; rm ${dist.docs.file}"
                        password="${password}"
                        trust="yes"/>
  
        </target>
        
        <target name="install-dist" depends="-check-password"
                description="Install current distributions.">
                
                <announce message="Installing distributions to 
${dist.install.dir} ..."/> 
      
                <scp todir="${dist.install.dir}"
                                password="${password}"
                                trust="yes">
                        <fileset dir="${dist.dir}"/>
        <fileset dir="." includes="KEYS"/>
                </scp>
      
      <announce message="Fixing distribution file permissions ..."/>
      
                <sshexec 
                        username="${dist.install.user}"
                        host="${dist.install.host}"
                        command="cd ${dist.install.path} ; chgrp * 
${dist.install.group}; chmod ${dist.install.mode} *"
                        password="${password}"
                        trust="yes"/>  
      
        </target>
        
  </project>
  
  
  
  1.1                  jakarta-hivemind/hivebuild/dist.properties
  
  Index: dist.properties
  ===================================================================
  #
  # Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  dist.dir=${target.dir}/dist
  dist.base.name=${dist.name}-${project.version}
  dist.basefile=${dist.dir}/${dist.base.name}
  dist.docs.file=${dist.base.name}-docs.tar.gz
  
  [EMAIL PROTECTED]:${dist.install.path}
  
  # Distribution files will be changed to this group.
  
  dist.install.group=jakarta
  
  # Unix mode for the uploaded files.  664=-rw-rw-r--
  # which is important for the Apache mirrors.
  
  dist.install.mode=664
  
  dist.install.docs.host=${dist.install.host}
  dist.install.docs.user=${dist.install.user}
  
  [EMAIL PROTECTED]:${dist.install.docs.path}
  
  
  
  1.1                  jakarta-hivemind/hivebuild/forrest.xml
  
  Index: forrest.xml
  ===================================================================
  <?xml version="1.0"?>
  <project name="forrest">
        
                <fail unless="ant.file.hivebuild" message="Must import 
hivebuild.xml first."/>
                <fail unless="ant.file.dependency" message="Must import 
dependency.xml first."/>
  
                <property name="forrest-package-dir" 
value="${external.package.dir}/apache-forrest-0.5.1-bin"/>
  
                <target name="run-forrest" description="Runs Forrest to 
generate final site documentation.">
                        <announce message="Invoking Forrest ..."/>
                                
                        <ant 
antfile="${forrest-package-dir}/forrest.antproxy.xml" target="site">
                                <property name="project.home" 
location="${basedir}"/>
                                <property name="forrest.home" 
location="${forrest-package-dir}"/>
                        </ant>                  
                </target>
                
                <macrodef name="add-report-to-menu">
                        <attribute name="element" default="report" 
description="Element name to use inside site.xml, useful when creating a link 
to the report."/>
                        <attribute name="label" description="The label to use 
in the menus."/>
                        <attribute name="file" description="The relative path 
to the report file (relative to the documentation root)."/>
                        
                        <sequential>
                                <echo file="${forrest.report-menu.file}" 
append="true">
  <![CDATA[ <@{element} label="@{label}" href="@{file}"/> ]]>   
                                </echo> 
                        </sequential>   
                </macrodef>
                
                <target name="-initialize-report-menu-file">
                
                        <mkdir dir="${project.forrest.xdocs.dir}"/>
                        
                        <echo message="" file="${forrest.report-menu.file}"/>
                        
                </target>  
          
                <target name="marshall-documentation"
                        depends="-initialize-report-menu-file"
                        description="Copy static content into the forrest 
composite, and generate dynamic reports.">
        
                        <antcall target="copy-documentation-to-composite"/>
                        <antcall target="run-reports"/>
                        
                </target>
                        
                <target name="run-reports" description="Overridden in project 
or module to run dynamic reports."/>
                
                <available file="${forrest.documentation.dir}" type="dir" 
property="exists-forrest-documentation-dir"/>
                
                <target name="copy-documentation-to-composite" 
if="exists-forrest-documentation-dir">
                        <copy todir="${project.forrest.composite.dir}" 
includeEmptyDirs="no">
                                <fileset dir="${forrest.documentation.dir}"/>   
                        </copy>
                </target>
                
  </project>
  
  
  1.1                  jakarta-hivemind/hivebuild/hivedoc-report.xml
  
  Index: hivedoc-report.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: hivedoc-report.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="hivedoc-report">
        <fail unless="ant.file.forrest" message="Must import forrest.xml 
first."/>
        <property file="${hivebuild.dir}/hivedoc-report.properties"/>
        
        <!-- Fileset used to identify the derived files that will be scanned for
                   module deployment descriptors. -->
                   
        <path id="default.hivedoc.classpath">
                <fileset dir="${target.dir}">
                        <include name="*.jar"/>
                </fileset>
                <fileset dir="${external.lib.dir}">
                        <include name="*.jar"/>
                </fileset>
        </path>
        
        
        <macrodef name="hivedoc-report">
                <attribute name="doc-path-id" 
default="default.hivedoc.classpath"
                                description="Path defining the files to obtain 
deployment descriptors from."/>
                
                <attribute name="taskdef-path-id" 
default="default.hivedoc.classpath"
                                description="Path containing the master 
HiveMind module, which contains the Ant tasks."/>
                                
                <sequential>
                        <announce message="Building Master Registry ..."/>
  
                        <taskdef resource="hivemind-tasks.properties">
                                <classpath refid="@{taskdef-path-id}"/> 
                        </taskdef>
  
                        <constructregistry output="${hivedoc.registry.file}">
                                <descriptors refid="@{doc-path-id}"/>   
                        </constructregistry>
  
                        <mkdir dir="${hivedoc.output.dir}"/>
                        
                        <announce message="Building HiveDoc ..."/>
                        
                        <xslt out="${hivedoc.output.dir}/index.html"
                                in="${hivedoc.registry.file}"
                                style="${hivedoc.xslt.file}">
                                <param name="base.dir" 
expression="${hivedoc.output.dir}"/>
                        </xslt>
                                
                        <copy todir="${hivedoc.output.dir}">
                                <fileset dir="${hivedoc.assets.dir}">
                                        <exclude name="*.xsl"/> 
                                </fileset>      
                        </copy>
                                
  
                        <add-report-to-menu element="hivedoc-report" 
label="HiveDoc"
                                file="hivedocs/index.html"/>
                </sequential>
        </macrodef>
  </project>
  
  
  
  1.1                  jakarta-hivemind/hivebuild/jar-module.properties
  
  Index: jar-module.properties
  ===================================================================
  #
  # Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  # Contains properties specific to jar-modules.  Many properties in 
hivebuild.properties
  # should move here.
  
  # The following several properties define arguments passed to the javac task 
when compiling
  # target code.
  
  module.javac.debug=on
  module.javac.debuglevel=lines,vars,source
  module.javac.optimize=off
  module.javac.deprecation=on
  module.javac.target=1.1
  module.javac.verbose=off
  module.javac.source=1.3
  module.javac.listfiles=off
  
  # Each of the above has a corresponding javac-test that defaults to the same 
value.
  
  module.javac-test.debug=${module.javac.test}
  module.javac-test.debug=${module.javac.debug}
  module.javac-test.debuglevel=${module.javac.debuglevel}
  module.javac-test.optimize=${module.javac.optimize}
  module.javac-test.deprecation=${module.javac.deprecation}
  module.javac-test.target=${module.javac.target}
  module.javac-test.verbose=${module.javac.verbose}
  module.javac-test.source=${module.javac.source}
  module.javac-test.listfiles=${module.javac.listfiles}
  
  
  
  
  
  1.1                  jakarta-hivemind/hivebuild/javacc.properties
  
  Index: javacc.properties
  ===================================================================
  #  Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http:#www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  # Directory containing JavaCC input files.
  
  javacc.src.dir=${src.dir}/javacc
  
  # The file to which the JavaCC distribution is downloaded.
  
  javacc.dist.zip=${external.package.dir}/JavaCC.zip
  
  
  1.1                  jakarta-hivemind/hivebuild/hivedoc-report.properties
  
  Index: hivedoc-report.properties
  ===================================================================
  #
  # Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  # File containing the master registry (used as input to the XSLT transform). 
Generated
  # by the constructregistry task.
  
  hivedoc.registry.file=${target.dir}/registry.xml
  
  hivedoc.xslt.file=${src.dir}/xsl/hivemind.xsl
  
  # Directory containing additional assets needed by the generated HTML files; 
this
  # consists of images and stylesheets.
  
  hivedoc.assets.dir=${src.dir}/xsl
  
  # Directory to which HiveDoc should be generated
  
  hivedoc.output.dir=${project.docs.target.dir}/hivedocs
  
  
  
  1.1                  jakarta-hivemind/hivebuild/hivebuild.xml
  
  Index: hivebuild.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="hivebuild">
  
        <!-- Ant magically sets ant.file.common to the location of this exact 
file.
                   So we can compute hivebuild.dir from that. -->
        
        <dirname property="hivebuild.dir" file="${ant.file.hivebuild}"/>
        
        <property file="${hivebuild.dir}/hivebuild.properties"/>
    
    <!-- Note: this should move out of the hivebuild.dir -->
    
        <property file="${root.dir}/version.properties"/>
  
        <target name="clean" description="Deletes all derived files.">
        
                <delete dir="${target.dir}" quiet="true"/>
                
        </target>
  
        <target name="clean-ext-packages" description="Delete all downloaded 
external packages.">
                <delete dir="${external.package.dir}" quiet="true"/>    
        </target>
  
        <presetdef name="invoke-ant">
                <ant inheritAll="false"/>
        </presetdef>
  
        <macrodef name="announce">
                <attribute name="message" description="Message to display."/>
                
                <sequential>
                        <echo>
  
  *** @{message}                                
                                
  </echo>                       
                </sequential>   
        </macrodef>
  
  </project>
  
  
  1.1                  jakarta-hivemind/hivebuild/project.xml
  
  Index: project.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: project.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="project">
    
    <!-- Top level module used to combine other types of modules. -->
  
        <import file="hivebuild.xml"/>
        <import file="dependency.xml"/>
        <import file="forrest.xml"/>
        
        <property name="forrest.report-menu.file" 
value="${project.forrest.xdocs.dir}/project-report-menu.ent"/>
        
        <!-- Typically, project.name is all lower case and the title is mixed 
case, but
                the project name is still a good default. -->
                
        <property name="project.title" value="${project.name}"/>
        
        <macrodef name="reinvoke-ant">
                <attribute name="target" description="Target to achieve in each 
module."/>
                <attribute name="files" default="project.modules" 
description="List of build.xml's, in build order."/>
                <element name="parameters" optional="true" 
description="Parameters passed to the subant task."/>
                
                <sequential>
                        <subant target="@{target}" inheritall="false">
                                <filelist refid="@{files}"/>
                                <parameters/>
                        </subant>       
                </sequential>
                        
        </macrodef>
  
        <target name="install" description="Reinvokes install in each module.">
                <reinvoke-ant target="install"/>
        </target>
        
        <target name="clean" description="Deletes all derived files in the 
project and in each module.">
                
                <reinvoke-ant target="clean"/>
                <antcall target="hivebuild.clean"/>     
                
        </target>
        
        <target name="marshall-documentation" description="Marshall 
documentation in the project and in each module.">
                <antcall target="forrest.marshall-documentation"/>
                <reinvoke-ant target="marshall-documentation"/>
        </target>
        
                <target name="site" description="Build site documentation using 
Forrest.">
                
                        <unpacked-zip-dependency
                                        
url="http://www.apache.org/dist/xml/forrest/binaries";
                                        zip="apache-forrest-0.5.1-bin.zip"
                                        dir="${forrest-package-dir}"/>
                        
                        <antcall target="marshall-documentation"/>
                        <antcall target="run-forrest"/>
                </target>
                
  </project>
  
  
  1.1                  jakarta-hivemind/hivebuild/jar-module.xml
  
  Index: jar-module.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: jar-module.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="jar-module">
  
        <!-- 
                Imports are computed relative the this file (to the build.xml
                that imported this file). -->
        
        <import file="hivebuild.xml"/>
        <import file="dependency.xml"/>
        <import file="forrest.xml"/>
    <property file="${hivebuild.dir}/jar-module.properties"/>
                
        <property name="forrest.report-menu.file" 
value="${project.forrest.xdocs.dir}/${module.name}-report-menu.ent"/>
                
        <!-- The default classpath for compilation is all external package 
JARs. -->
        
        <path id="default.compile.classpath">
                        <fileset dir="${module.lib.dir}/compile">
                                <include name="*.jar"/> 
                        </fileset>
        </path>
        
        <path id="default.test-compile.classpath">
                <path refid="default.compile.classpath"/>
                <path location="${java.classes.dir}"/>
                <fileset dir="${module.lib.dir}/test">
                        <include name="*.jar"/> 
                </fileset>
        </path>
        
        <path id="default.test.classpath">
                <path refid="default.test-compile.classpath"/>
                <pathelement location="${test.classes.dir}"/>
                
                <!-- To pick up any classpath resources. -->
                
                <path location="${test.src.dir}"/>
                
                <!-- To pick up log4j.properties or other runtime resources. -->
                <pathelement location="${conf.src.dir}"/>       
                
                <!-- This is pretty specific to HiveMind, but eventually
                                 everything will be a HiveMind module. Pick up
                                 the module deployment descriptor. -->
                                 
                <pathelement location="${descriptor.src.dir}"/> 
        </path>
        
        <path id="default.source.path">
                <pathelement location="${java.src.dir}"/>
                <pathelement location="${generated-java.src.dir}"/>     
        </path>
        
        <macrodef name="copy-source-resources">
                <attribute name="classes-dir" default="${java.classes.dir}" 
description="Directory to copy resources to."/>
                
                <sequential>
                
                        <announce message="Copying resources to @{classes-dir} 
..."/>
                        
                        <copy todir="@{classes-dir}" includeEmptyDirs="false">
                                <fileset dir="${java.src.dir}">
                                        <exclude name="**/*.java"/>     
                                        <exclude name="**/package.html"/>
                                </fileset>
                        </copy>
                        
                </sequential>
                
        </macrodef>
        
        <macrodef name="default-compile">
                <attribute name="compile-classpath-id" 
                                default="default.compile.classpath"
                                description="Reference to a path defining 
compile-time libraries."/>
                <attribute name="sourcepath-id"
                        default="default.source.path"
                        description="Referencce to a path of source directories 
to compile."/>
                <attribute name="classes-dir"
                                default="${java.classes.dir}"
                                description="Directory to compile classes 
into."/>
                
                <sequential>
                        
                        <antcall target="-compile-init"/>
                        <mkdir dir="@{classes-dir}"/>
                        
                        <!-- Make the directory, before it is referenced via 
default.compile.classpath.
                                   The javacc.xml module actually puts files 
into generated Java.  Perhaps
                                   in the future, an XDoclet extension will 
make use of this as well. -->
                        
                        <announce message="Compiling Java sources to 
@{classes-dir} ..."/>
                        
                        <javac
                                destdir="@{classes-dir}"
                                classpathref="@{compile-classpath-id}"
          debug="${module.javac.debug}"
          debuglevel="${module.javac.debuglevel}"
          optimize="${module.javac.optimize}"
          deprecation="${module.javac.deprecation}"
          target="${module.javac.target}"
          verbose="${module.javac.verbose}"
          source="${module.javac.source}"
          listfiles="${module.javac.listfiles}"
          >
                                <src>
                                        <path refid="@{sourcepath-id}"/>
                                </src>  
                        </javac>
                                
                        <copy-source-resources classes-dir="@{classes-dir}"/>   
                        
                </sequential>   
        </macrodef>
        
        <macrodef name="default-compile-tests">
                <attribute name="compile-classpath-id"
                        default="default.test-compile.classpath"
                        description="Reference to a path used to compile unit 
tests."/>
      <sequential>
        <mkdir dir="${test.classes.dir}"/>
        
        <announce message="Compiling tests to ${test.classes.dir} ..."/>
        
        <javac destdir="${test.classes.dir}" 
          classpathref="@{compile-classpath-id}"
          srcdir="${test.src.dir}" 
          debug="${module.javac-test.debug}" 
          debuglevel="${module.javac-test.debuglevel}" 
          optimize="${module.javac-test.optimize}" 
          deprecation="${module.javac-test.deprecation}" 
          target="${module.javac-test.target}" 
          verbose="${module.javac-test.verbose}" 
          source="${module.javac-test.source}" 
          listfiles="${module.javac-test.listfiles}" />
      </sequential>
        </macrodef>
        
        <macrodef name="default-run-tests">
                <attribute name="classpath-id" default="default.test.classpath"
                        description="Reference to path used for tests."/>
                <attribute name="fork" default="off" description="Run the tests 
in a seperate JVM if on."/>
                <element name="junit-elements" optional="true" 
description="Additional elements placed within the junit task."/>
                
                <sequential>
                        <mkdir dir="${junit.temp.dir}"/>
                        <mkdir dir="${junit.report.dir}"/>
  
                        <announce message="Running unit tests ..."/>
  
                        <junit 
                                fork="@{fork}"
                                haltonfailure="off"
                                failureproperty="junit-failure"
                                tempdir="${junit.temp.dir}">
                                        
                                        <classpath refid="@{classpath-id}"/>
                                        
                                        <formatter type="xml"/>
            <formatter type="brief" usefile="false"/>
            <formatter type="plain"/>
                                                
                                        <batchtest todir="${junit.report.dir}">
                                                <fileset 
dir="${test.classes.dir}">
                                                        <!-- Inner classes 
cause problems! -->
                                                        <exclude 
name="**/*$*.class"/>
                                                        <include 
name="**/Test*.class"/>        
                                                </fileset>      
                                        </batchtest>    
                                        
                                        <junit-elements/>                       
                
                        </junit>
                        
                        <fail if="junit-failure" message="Some tests failed."/>
                        
                </sequential>   
        </macrodef>
        
        <target name="compile-dependencies" description="Overriden to download 
dependencies as external package.">
                <!-- Does nothing. This is often overriden, and becomes a 
series of
                           calls to macros defines in download.xml. -->
        </target>
         
        <target name="-compile-init">
                <mkdir dir="${module.lib.dir}/compile"/>
                <mkdir dir="${module.lib.dir}/test"/>
                <mkdir dir="${module.lib.dir}/run"/>    
                
                <mkdir dir="${generated-java.src.dir}"/>                        
        
        </target>
        
        <!-- Usually overriden so that the options used when compiling, 
especially compile-classpath-id, can be overriden. -->
        
        <target name="compile" description="Compile Java source code." 
depends="compile-dependencies">
                <default-compile/>
        </target>
        
        <target name="compile-tests" description="Compiles JUnit tests." 
depends="compile">
                <default-compile-tests/>
        </target>
        
        <target name="run-tests" description="Runs JUnit tests." 
depends="compile-tests">
                <default-run-tests/>    
        </target>
        
        <target name="jar" depends="run-tests" description="Compile classes and 
package into a JAR.">
                
                <fail unless="module.name" message="Property module.name must 
be set."/>
                
                <property name="complete-jar-path" 
value="${jar.target.dir}/${module.name}-${project.version}.jar"/>
                
                <mkdir dir="${jar.target.dir}"/>
                
                <announce message="Packaging as ${complete-jar-path} ..."/>
  
                <jar
                                destfile="${complete-jar-path}"
                                index="yes">
                                <fileset dir="${descriptor.src.dir}"/>
                                <fileset dir="${java.classes.dir}"/>
                </jar>
                
        </target>
        
        <macrodef name="default-javadoc">
                <attribute name="sourcepath-id" default="default.source.path" 
description="Reference to source path."/>
                <attribute name="classpath-id" 
default="default.compile.classpath"/>
                
                <sequential>
                        <fail unless="javadoc.package" message="You must 
specify property javadoc.packages."/>
                        
                        <mkdir dir="${javadoc.target.dir}"/>
                        
                        <announce message="Generating Javadoc ..."/>
        
                        <javadoc
                                destdir="${javadoc.target.dir}"
                                classpathref="@{classpath-id}"
                                version="yes"
                                use="yes"
                                splitindex="yes"
                                windowtitle="${module.name} - 
${project.version} API">
                                <package name="${javadoc.package}"/>
                                <sourcepath>
                                        <pathelement 
location="${java.src.dir}"/>
                                        <pathelement 
location="${generated-java.src.dir}"/>     
                                </sourcepath>
                        </javadoc>
                </sequential>   
        </macrodef>
        
        <target name="javadoc" depends="-compile-init" description="Create 
JavaDoc from Java source files.">
                <default-javadoc/>      
        </target>
        
        <target name="install" depends="jar" 
                description="Synonym for 'jar' invoked by the containing 
project."/>
                        
  </project>
  
  
  1.1                  jakarta-hivemind/hivebuild/clover-report.xml
  
  Index: clover-report.xml
  ===================================================================
  <?xml version="1.0"?>
  <project name="clover-report">
        <fail unless="ant.file.hivebuild" message="Must import hivebuild.xml 
first."/>
        <fail unless="ant.file.dependency" message="Must import dependency.xml 
first."
                />
        <property file="${hivebuild.dir}/clover.properties"/>
        <path id="default.clover.classpath">
                <pathelement location="${clover.classes.dir}"/>
                <pathelement location="${ant.home}/lib/${clover.jar}"/>
                <path refid="default.test.classpath"/>
        </path>
        <available property="clover.available"
                
classname="org.apache.tools.ant.taskdefs.CloverCompilerAdapter"/>
        <target name="-check-for-clover" unless="clover.available">
                <antcall target="-display-download-warning"/>
                <grabber dest="${ant.home}/lib/${clover.jar}"
                        src="${maven.ibiblio.url}/clover/jars/${clover.jar}"
                        
md5="${maven.ibiblio.url}/clover/jars/${clover.jar}.md5" />
                <echo><![CDATA[
                
  *** Clover has been installed into ${ant.home}/lib. 
  *** 
  *** You must restart the build.
        
  ]]></echo>
                <fail message="Clover has been installed. Restart the build."/>
        </target>
        <macrodef name="default-clover">
                <attribute name="sourcepath-id" default="default.source.path"
                        description="Path reference to source files to 
compile."/>
                <attribute name="compile-classpath-id" 
default="default.compile.classpath"
                        description="Compile-time classpath."/>
                <attribute name="test-classpath-id" 
default="default.clover.classpath"
                        description="Runtime classpath for unit tests running 
under clover."/>
                <element name="clover-junit-elements" optional="true"
                        description="Additional elements passed to the JUnit 
task."/>
                <sequential>
                        <antcall target="-check-for-clover"/>
                        <antcall target="-compile-init"/>
                        <antcall target="compile-dependencies"/>
                        <mkdir dir="${clover.classes.dir}"/>
                        <taskdef resource="clovertasks"/>
                        <typedef resource="clovertypes"/>
                        <announce message="Recompiling Java sources for Clover 
..."/>
                        <clover-setup initString="${clover.db.dir}" 
preserve="true"
                                tmpdir="${target.dir}"/>
                        <default-compile classes-dir="${clover.classes.dir}"/>
                        <default-run-tests fork="on" 
classpath-id="default.clover.classpath">
                                <junit-elements>
                                        <clover-junit-elements/>
                                </junit-elements>
                        </default-run-tests>
                </sequential>
        </macrodef>
        <macrodef name="generate-clover-html">
                <sequential>
                        <announce message="Generating HTML code coverage report 
..."/>
                        <clover-report>
                                <current
                                        title="Code Coverage for ${module.name} 
release ${project.version}"
                                        
outfile="${module.docs.target.dir}/clover">
                                        <format type="html">
                                        </format>
                                </current>
                        </clover-report>
                        <add-report-to-menu element="clover-${module.name}"
                                label="Clover Code Coverage" 
file="clover/index.html"/>
                </sequential>
        </macrodef>
        <macrodef name="clover-report">
                <sequential>
                        <default-clover/>
                        <generate-clover-html/>
                </sequential>
        </macrodef>
  </project>
  
  
  
  1.1                  jakarta-hivemind/hivebuild/license-report.properties
  
  Index: license-report.properties
  ===================================================================
  #
  # Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  # The name of the license file, as stored in the project root folder.
  
  license-report.license-file=LICENSE-2.0.txt
  
  
  
  
  1.1                  jakarta-hivemind/hivebuild/license-report.xml
  
  Index: license-report.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: license-report.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="license-report">
        <fail unless="ant.file.forrest" message="Must import forrest.xml 
first."/>
        <property file="${hivebuild.dir}/license-report.properties"/>
        <macrodef name="license-report">
                <sequential>
                        <announce message="Generating License Report ..."/>
                        <concat 
destfile="${project.forrest.xdocs.dir}/license-report.xml">
                                <filelist dir="${forrest.report-artifacts.dir}"
                                        files="license-report.header.xml"/>
                                <filelist dir="." 
files="${license-report.license-file}"/>
                                <filelist dir="${forrest.report-artifacts.dir}"
                                        files="license-report.trailer.xml"/>
                        </concat>
                        <add-report-to-menu element="license-report" 
label="License"
                                file="license-report.html"/>
                </sequential>
        </macrodef>
  </project>
  
  
  
  1.1                  jakarta-hivemind/hivebuild/javacc.xml
  
  Index: javacc.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- $Id: javacc.xml,v 1.1 2004/07/11 17:14:43 hlship Exp $ -->
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="javacc">
                <fail unless="ant.file.hivebuild" message="Must import 
hivebuild.xml first."/>
                <fail unless="ant.file.dependency" message="Must import 
dependency.xml first."/>
                
      <property file="${hivebuild.dir}/javacc.properties"/>
                
                <macrodef name="run-javacc">
                        <attribute name="input" description="The path to the 
input (.jj) file to compile."/>
                        <attribute name="package-path" description="The package 
path to which files should be created."/>
                        
                        <sequential>
                                <grabber
                                        
src="${maven.ibiblio.url}/javacc/jars/JavaCC.zip"
                                        dest="${javacc.dist.zip}"/>
                                        
                                <mkdir 
dir="${generated-java.src.dir}/@{package-path}"/>
                                
                                <announce message="Building JavaCC parser from 
@{input} ..."/>
                        
                                <!-- JavaCC is stupid; we have to tell it about 
package directories, which is stupid. -->
                        
                                <javacc
                                        javacchome="${external.package.dir}"
                                        target="@{input}"
                                        
outputdirectory="${generated-java.src.dir}/@{package-path}"/>
                                                                        
                        </sequential>                                           
                </macrodef>
                
  </project>
  
  
  
  1.1                  jakarta-hivemind/hivebuild/hivebuild.properties
  
  Index: hivebuild.properties
  ===================================================================
  #  Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http:#www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  # Common properties related to the build.
  
  # Default root (project) directory; override inside modules
  
  root.dir=.
  
  # Directory containing build files and such. This is normally computed
  # on the fly, inside hivebuild.xml.
  
  hivebuild.dir=${root.dir}/hivebuild
  
  # target directory ... where all derived files are placed (usually in 
subdirs).
  
  target.dir=target
  
  # Top-level target directory, used when generating a distribution
  
  project.target.dir=${root.dir}/${target.dir}
  
  # Directory containing various forms of source code, used when packaging
  # a source distribution.
  
  src.dir=src
  
  # Directory for main Java classes and resources (those that will be packaged 
up in the
  # derived JAR or WAR).
  
  java.src.dir=${src.dir}/java
  
  # Output directory for compilation of java.src.dir
  
  java.classes.dir=${target.dir}/classes
  
  # Directory for test code, i.e., where unit tests live
  
  test.src.dir=${src.dir}/test
  
  # Output directory for test code
  
  test.classes.dir=${target.dir}/test-classes
  
  # Output directory for XML test reports
  
  test.reports.dir=${target.dir}/test-reports
  
  # Directory used to store external packages used within the project
  # (by the project, project build scripts, modules, or module build scripts)
  
  external.package.dir=${root.dir}/ext-package
  
  # Directory to which external package JARs are extracted
  
  external.lib.dir=${external.package.dir}/lib
  
  # Directory containing dependencies of the module.
  
  module.lib.dir=${target.dir}/module-lib
  
  # URL root for downloads from the Maven IBiblio repository
  
  maven.ibiblio.url=http://www.ibiblio.org/maven
  
  # Directory to which all generated Java source code is stored.
  
  generated-java.src.dir=${target.dir}/generated-java
  
  # Directory used for temporary files by the JUnit tests
  
  junit.temp.dir=${target.dir}/junit-temp
  
  # Directory where JUnit test reports are written.
  
  junit.report.dir=${target.dir}/junit-reports
  
  # Directory containing run-time configuration information (often only
  # needed during testing, such as a log4.properties file).
  
  conf.src.dir=${src.dir}/conf
  
  # Directory containing descriptors (specifically, the HiveMind module 
deployment descriptor).
  
  descriptor.src.dir=${src.dir}/descriptor
  
  # Directory into which packaged JARs (or other archives) should be copied.
  # This may be overriden when creating a distribution.
  
  jar.target.dir=${project.target.dir}
  
  # Note: project.version is defined in ${root.dir}/version.properties
  
  # Project-level directory for documentation. Modules copy into this directory,
  # so they need to know about it.
  
  project.docs.target.dir=${project.target.dir}/docs
  
  # Directory to which documentation is generated.
  module.docs.target.dir=${project.docs.target.dir}/${module.name}
  
  # Directory to which javadoc is generated
  javadoc.target.dir=${module.docs.target.dir}/apidocs
  
  # Directory to which project and module documentation files are ultimately 
copied (or generated)
  project.forrest.composite.dir=${project.target.dir}/forrest-composite
  
  # Directory to which Forrest XDoc files should be copied or generated.
  project.forrest.xdocs.dir=${project.forrest.composite.dir}/content/xdocs
  
  # File into which reports can record menu items.
  
  # Directory containing documentation to be copied into the composite.
  forrest.documentation.dir=${src.dir}/documentation
  
  # Directory containing report artifacts (templates used by
  # some of the reports).
  
  forrest.report-artifacts.dir=${hivebuild.dir}/report-artifacts
  
  
  
  
  1.1                  jakarta-hivemind/hivebuild/dependency.xml
  
  Index: dependency.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- 
     Copyright 2004 The Apache Software Foundation
  
     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
         http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
  <project name="dependency">
        <fail unless="ant.file.hivebuild" message="Must import hivebuild.xml 
first."/>
        
        <available classname="org.apache.ant.grabber.Grabber" 
property="grabber-task-available"/>
        <fail unless="grabber-task-available" message="Grab task (from 
ant-grabber.jar) not on Ant classpath."/>
        
        <taskdef classname="org.apache.ant.grabber.Grabber" name="grabber"/>
  
        <property name="download-warning-marker.file" 
value="${external.package.dir}/download-warning-marker"/>
        
        <available property="download-warning-marker-displayed"
                        type="file"
                        file="${download-warning-marker.file}"/>
                        
        <target name="-display-download-warning" 
unless="download-warning-marker-displayed">
                <echo>
  
**************************************************************************************************
  *                                                                             
                   *
  *                             D O W N L O A D   W A R N I N G                 
                   *
  *                                                                             
                   *
  * Dependent libraries will be downloaded.  These are NOT necessarily 
downloaded from apache.org, *  
  * and may use other licences besides the Apache Software License. 
Dependencies will use an       *
  * open-source license compatible with the ASL, such as Berkeley Software 
Distribution (BSD) or   *
  * Mozilla Public License (MPL).                                               
                   *
  *                                                                             
                   *
  
**************************************************************************************************
  </echo>
        
                <input 
                        validargs="continue" 
                        message="Enter 'continue' to continue with the build:"/>
        
                <mkdir dir="${external.package.dir}"/>
                <echo file="${download-warning-marker.file}">Download warning 
accepted.</echo>
                
        </target>
  
        <macrodef name="safe-copy">
                <attribute name="file" description="File to copy."/>
                <attribute name="dir" description="Directory to copy to."/>
                
                <sequential>
                        <mkdir dir="@{dir}"/>
                        <copy file="@{file}" todir="@{dir}"/>   
                </sequential>   
        </macrodef>
  
        <!-- macro for downloading a JAR from maven's repository on ibiblio. -->
        
        <macrodef name="ibiblio-dependency">
                <attribute name="jar" description="The name of the JAR to 
download."/>
                <attribute name="group-id" description="The Maven group-id 
containing the JAR."/>
                <attribute name="use" default="compile" description="Useage of 
the dependency: compile, test or run."/>
                
                <sequential>
                        <mkdir dir="${external.lib.dir}"/>
                        
                        <antcall target="-display-download-warning"/>
  
                        <grabber
                                dest="${external.lib.dir}/@{jar}"
                                
src="${maven.ibiblio.url}/@{group-id}/jars/@{jar}" 
                                
md5="${maven.ibiblio.url}/@{group-id}/jars/@{jar}.md5"
                                />
  
                        <safe-copy
                                        file="${external.lib.dir}/@{jar}"
                                        dir="${module.lib.dir}/@{use}"/>
                        
                </sequential>
        </macrodef>
        
        <available file="${unpack-zip-dir}" type="dir" 
property="unpacked-zip-dir-exists"/>
        
        <target name="-unpack-zip-dependency" unless="unpacked-zip-dir-exists" 
depends="-display-download-warning">
                <property name="local-copy-path" 
value="${external.package.dir}/${unpack-zip-name}"/>
                <grabber
                                src="${unpack-zip-url}"
                                dest="${local-copy-path}"/>
                <unzip src="${local-copy-path}" dest="${external.package.dir}"/>
        </target>
        
        <macrodef name="unpacked-zip-dependency">
                <attribute name="url" description="The URL of the folder 
containing the zip file."/>
                <attribute name="zip" description="The name of the zip file 
itself."/>
                <attribute name="dir" description="The name of the directory 
that will be created."/>
                
                <sequential>
                        <antcall target="-unpack-zip-dependency" 
inheritAll="false">
                                <param name="unpack-zip-dir" value="@{dir}"/>
                                <param name="unpack-zip-url" 
value="@{url}/@{zip}"/>
                                <param name="unpack-zip-name" value="@{zip}"/>
                        </antcall>
                </sequential>
                
        </macrodef>
  
        
        <!-- An internal dependency to another library previously created
                   by a sibiling module.  Assumes that the module is infixed
                   with the project's version. -->
                   
        <macrodef name="project-dependency">
                <attribute name="name" description="The name of the dependency 
(the part before the version number)."/>
                <attribute name="version" default="${project.version}" 
description="The version number."/>
                <attribute name="extension" default="jar" description="The 
extension to use; default is 'jar'."/>
                <attribute name="use" default="compile" description="Useage of 
the dependency: compile, test or run."/>
                
                <sequential>
                        <safe-copy
                                        file="${jar.target.dir}/@[EMAIL 
PROTECTED]@{extension}"
                                        dir="${module.lib.dir}/@{use}"/>        
                                
                </sequential>   
        </macrodef>
  
  </project>
  
  
  1.1                  jakarta-hivemind/hivebuild/clover.properties
  
  Index: clover.properties
  ===================================================================
  #
  # Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http://www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  clover.classes.dir=${target.dir}/clover-classes
  clover.db.dir=${target.dir}/clover-db
  clover.report.dir=${project.forrest.content.dir}/${module.name}/clover
  clover.jar=clover-1.2.3.jar
  
  
  
  
  
  1.8       +5 -4      jakarta-hivemind/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/build.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- build.xml 17 Jun 2004 15:16:14 -0000      1.7
  +++ build.xml 11 Jul 2004 17:14:43 -0000      1.8
  @@ -23,10 +23,11 @@
                dir="."
                files="framework/build.xml library/build.xml"/>
   
  -     <import file="common/project.xml"/>
  -     <import file="common/license-report.xml"/>
  -     <import file="common/hivedoc-report.xml"/>
  -     <import file="common/dist.xml"/>
  +     <import file="hivebuild/project.xml"/>
  +  
  +     <import file="${hivebuild.dir}/license-report.xml"/>
  +     <import file="${hivebuild.dir}/hivedoc-report.xml"/>
  +     <import file="${hivebuild.dir}/dist.xml"/>
   
        <target name="run-reports">
                <license-report/>
  
  
  
  1.20      +19 -1     jakarta-hivemind/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/status.xml,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- status.xml        27 Jun 2004 00:17:49 -0000      1.19
  +++ status.xml        11 Jul 2004 17:14:43 -0000      1.20
  @@ -21,10 +21,28 @@
     <todo>
       <actions priority="Release 1.0">
         <action context="lib" dev="HLS">JMX Integration</action>
  +      <action context="project" dev="HLS">Make build scripts more 
portable.</action>
       </actions>
     </todo>
  +  
  +  
  +  
     <changes>
  -    <release version="1.0-beta-1" date="unreleased">
  +  
  +    <release version="1.0.beta-2" date="unreleased">
  +      <action type="update" dev="HLS">
  +        Add link to the Jakarta mailing lists page.
  +      </action>
  +      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-21" due-to="Achim 
Hügen">
  +        Modify build scripts to properly include variable info when 
compiling.
  +      </action>
  +      <action type="update" dev="HLS">
  +        Move the Ant build scripts to a new directory, hivebuild, in 
preparation
  +        for making hivebuild reusable on new projects.
  +      </action>
  +    </release>
  +  
  +    <release version="1.0-beta-1" date="Jun 26 2004">
         <action type="update" dev="HLS">Added change log. </action>
         <action type="update" dev="HLS">Refactored ClassFab and related 
classes 
           for easier reuse outside of HiveMind. Added a new suite of tests 
  
  
  
  1.1                  jakarta-hivemind/version.properties
  
  Index: version.properties
  ===================================================================
  #  Copyright 2004 The Apache Software Foundation
  #
  # Licensed under the Apache License, Version 2.0 (the "License");
  # you may not use this file except in compliance with the License.
  # You may obtain a copy of the License at
  #
  #     http:#www.apache.org/licenses/LICENSE-2.0
  #
  # Unless required by applicable law or agreed to in writing, software
  # distributed under the License is distributed on an "AS IS" BASIS,
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  # See the License for the specific language governing permissions and
  # limitations under the License.
  
  # Version of project; incorporated into the names of
  # archives and distributions.
  
  # Version of project; incorporated into the names of
  # archives and distributions.
  
  project.version=1.0-beta-2-snapshot
  
  
  
  1.8       +4 -4      jakarta-hivemind/framework/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/build.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- build.xml 21 Jun 2004 14:25:44 -0000      1.7
  +++ build.xml 11 Jul 2004 17:14:43 -0000      1.8
  @@ -18,10 +18,10 @@
        <property name="module.name" value="hivemind"/>
        <property name="javadoc.package" value="org.apache.hivemind.*"/>
        <property name="root.dir" value=".."/>
  -     <import file="${root.dir}/common/jar-module.xml"/>
  -     <import file="${common.dir}/javacc.xml"/>
  -     <import file="${common.dir}/javadoc-report.xml"/>
  -     <import file="${common.dir}/clover-report.xml"/>
  +     <import file="${root.dir}/hivebuild/jar-module.xml"/>
  +     <import file="${hivebuild.dir}/javacc.xml"/>
  +     <import file="${hivebuild.dir}/javadoc-report.xml"/>
  +     <import file="${hivebuild.dir}/clover-report.xml"/>
        <target name="compile">
                <ibiblio-dependency jar="commons-logging-1.0.3.jar"
                        group-id="commons-logging"/>
  
  
  
  1.8       +3 -3      jakarta-hivemind/library/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/library/build.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- build.xml 17 Jun 2004 15:16:15 -0000      1.7
  +++ build.xml 11 Jul 2004 17:14:43 -0000      1.8
  @@ -20,9 +20,9 @@
        <property name="javadoc.package" value="org.apache.hivemind.lib.*"/>
        
        <property name="root.dir" value=".."/>
  -     <import file="${root.dir}/common/jar-module.xml"/>
  -     <import file="${common.dir}/javadoc-report.xml"/>       
  -     <import file="${common.dir}/clover-report.xml"/>
  +     <import file="${root.dir}/hivebuild/jar-module.xml"/>
  +     <import file="${hivebuild.dir}/javadoc-report.xml"/>    
  +     <import file="${hivebuild.dir}/clover-report.xml"/>
                
        <target name="compile">
                <ibiblio-dependency jar="geronimo-spec-ejb-1.0-M1.jar" 
group-id="geronimo-spec"/>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to