leif        2003/07/31 22:38:10

  Modified:    .        depchecker.xml
  Log:
  Fix line feeds, no other changes.
  
  Revision  Changes    Path
  1.57      +667 -667  avalon-excalibur/depchecker.xml
  
  Index: depchecker.xml
  ===================================================================
  RCS file: /home/cvs/avalon-excalibur/depchecker.xml,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -r1.56 -r1.57
  --- depchecker.xml    7 Jul 2003 16:52:43 -0000       1.56
  +++ depchecker.xml    1 Aug 2003 05:38:10 -0000       1.57
  @@ -1,667 +1,667 @@
  -<?xml version="1.0"?>
  -
  -<!--
  -============================================================
  -                Dependency updater
  -                   Version $Revision$
  -           Jeff Turner <[EMAIL PROTECTED]>
  -
  -This Ant script provides "functions" to check if
  -dependencies are present, and take appropriate action if
  -they are not. "Appropriate action" may be:
  -
  -- Print an error message
  -- Build the project, if local
  -- Retrieve the jar dependency via HTTP GET
  -
  -To use it, type 'ant -f depchecker.xml'
  -============================================================-->
  -
  -<!--
  --->
  -
  -<project name="dependencies" default="main" basedir=".">
  -    <!-- The target to call if ${proj.target} isn't specified -->
  -    <property name="default.target" value="dist-jar"/>
  -    <property name="nl" value="${line.separator}"/>
  -
  -    <target name="main" depends="usage"/>
  -    <target name="usage">
  -        <echo><![CDATA[
  -            =======================================================
  -            This is Excalibur's dependency updater script.
  -            Which has been called incorrectly :)
  -
  -            To use it, you can call one of the predefined dependency scripts
  -            from your Ant script. For example:
  -
  -            <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkJUnit"/>
  -
  -
  -            Alternatively, you can call the checkRequiredFile or
  -            checkRequiredClass targets directly from your Ant script.
  -
  -            Example 1:
  -
  -            <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -                <property name="proj.jar.name" value="xalan.jar"/>
  -                <property name="path" value="${xalan.jar}"/>
  -            </ant>
  -
  -            That will check if the file pointed to by $${xalan.jar} is present,
  -            and fail with a warning message if it isn't.
  -
  -            Example 2:
  -
  -            <ant antfile="depchecker.xml" target="checkRequiredFile">
  -                <property name="proj.jar.name" value="excalibur-concurrent.jar"/>
  -                <property name="path" value="$${excalibur-concurrent.jar}"/>
  -                <property name="proj.home" value="../concurrent"/>
  -                <property name="proj.target" value="dist.lite"/>
  -            </ant>
  -
  -            That will check if $${excalibur-concurrent.jar} points to a jar, and
  -            if it doesn't, build the $${proj.home} project in order to generate
  -            the jar
  -
  -            Example 3:
  -
  -            <ant antfile="depchecker.xml" target="checkRequiredFile">
  -                <property name="proj.jar.name" value="commons-io.jar"/>
  -                <property name="path" value="$${lib.repo}/commons-io.jar"/>
  -                <property name="url" 
value="http://jakarta.apache.org/turbine/jars/commons-io.jar"/>
  -            </ant>
  -
  -            That will check if $${lib.repo}/commons-io.jar exists, and if not,
  -            download it from $${url}
  -
  -            Example 4:
  -
  -            <property name="cp" refid="project.class.path"/>
  -            <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -                <property name="proj.jar.name" value="junit.jar"/>
  -                <property name="class" value="junit.framework.Test"/>
  -                <property name="classpath" value="${cp}"/>
  -            </ant>
  -
  -            That will check if $${class} is in the classpath $${cp}.
  -
  -            The properties are as follows:
  -
  -            For checkRequiredFile:
  -            name:
  -                Name of the jar. Eg 'avalon-collections.jar'
  -            path:
  -                Path to named jar. Eg $${avalon-collections.jar}
  -
  -            proj.home (optional):
  -                Path to local project which builds the jar. Only set if the jar
  -                could be local, eg another component.
  -            proj.target (optional) [dist.lite]:
  -                Ant script target to run in local project to build the jar
  -
  -            url (optional):
  -                URL to retrieve jar if not present on the local filesystem
  -
  -            For checkRequiredClass:
  -            name:
  -                Name of jar in which the class usually resides
  -            class:
  -                Name of class to check for
  -            classpath:
  -                String classpath (; or : separated) to search for $${class} in
  -
  -
  -            Algorithm is as follows:
  -
  -            IF the directory ${proj.home} exists THEN:
  -                // The dependency is local; if the jar doesn't exist, we can build 
it
  -                IF file ${path} does not exist THEN:
  -                   call ${proj.home}/build.xml's 'dist.lite' target to build that
  -                   project's jar, which will then build it's own dependencies if 
necessary
  -                ELSE we're fine
  -            ELSE
  -                // The dependency is remote; we can't build it,
  -                IF file ${path} does not exist THEN:
  -                    IF ${url} is present THEN:
  -                        do a HTTP GET to retrieve the jar to ${path}
  -                    ELSE
  -                        print an error saying "Can't find file ${path}"
  -                ELSE we're fine
  -
  -                        =======================================================
  -            ]]></echo>
  -    </target>
  -
  -    <!-- ====================================================== -->
  -    <!-- Dependency checking library                            -->
  -    <!-- ====================================================== -->
  -
  -    <!-- Print a warning if a deprecated property is being used. -->
  -    <target name="checkDeprecatedProp">
  -        <available type="file" file="${path}" property="prop.present"/>
  -        <antcall target="deprecatedProp.warn"/>
  -    </target>
  -    <target name="deprecatedProp.warn" if="prop.present">
  -        <echo>
  -            .---------------------------------------------------------------.
  -            | DEPRECATED PROPERTY WARNING                                   |
  -            |                                                               |
  -            |---------------------------------------------------------------|
  -            | While processing subproject:                                  |
  -            |   ${basedir}
  -            | The following deprecated property was found:                  |
  -            |   ${proj.jar.name}
  -            | Please replace it with:
  -            |   ${newname}
  -            |
  -            | The property may be defined in your project's ant.properties  |
  -            | file, Excalibur's root ant.properties, or the ant.properties  |
  -            | or build.properties in your home directory, ${user.home}
  -            | Please consult the subproject build.xml for a full list of    |
  -            | possible locations.                                           |
  -            '---------------------------------------------------------------'
  -        </echo>
  -
  -    </target>
  -
  -    <target name="checkCommon" description="Checks applying to all components">
  -        <antcall target="checkDeprecatedProp">
  -            <param name="proj.jar.name" value="avalon-logkit.jar"/>
  -            <param name="path" value="${avalon-logkit.jar}"/>
  -            <param name="newname" value="logkit.jar"/>
  -        </antcall>
  -    </target>
  -
  -    <target name="checkJUnit">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -            <property name="proj.jar.name" value="junit.jar"/>
  -            <property name="class" value="junit.framework.Test"/>
  -            <property name="classpath" value="${cp}"/>
  -            <property name="remedy" value="Download JUnit from http://www.junit.org 
and copy junit.jar ${nl}
  -           |   to ${ant.home}/lib"/>
  -
  -        </ant>
  -    </target>
  -    <target name="checkJUnitPerf">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -            <property name="proj.jar.name" value="junitperf.jar"/>
  -            <property name="class" value="com.clarkware.junitperf.Timer"/>
  -            <property name="classpath" value="${cp}"/>
  -            <property name="remedy" value="1) Download and unpack JUnitPerf from 
${nl}
  -           | http://www.clarkware.com/software/JUnitPerf.html ${nl}
  -           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  -           |   3) In ant.properties, redefine the junitperf.jar property ${nl}
  -           |      to point to the path of junitperf.jar in your ${nl}
  -           |      downloaded distribution."/>
  -
  -        </ant>
  -    </target>
  -    <target name="checkCheckstyle">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -            <property name="proj.jar.name" value="checkstyle-all-2.1.jar"/>
  -            <property name="class" 
value="com.puppycrawl.tools.checkstyle.CheckStyleTask"/>
  -
  -            <property name="classpath" value="${cp}"/>
  -            <property name="remedy" value="1) Download and unpack Checkstyle from 
${nl}
  -           | http://checkstyle.sourceforge.net/ ${nl}
  -           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  -           |   3) In ant.properties, redefine the checkstyle-all-2.1.jar property 
${nl}
  -           |      to point to the path of checkstyle-all-2.1.jar in your ${nl}
  -           |      downloaded distribution."/>
  -
  -        </ant>
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -            <property name="proj.jar.name" value="checkstyle-all-2.1.jar or 
jakarta-regexp-1.2.jar"/>
  -            <property name="class" value="org.apache.regexp.RE"/>
  -
  -            <property name="classpath" value="${cp}"/>
  -            <property name="remedy" value="1) Download and unpack Checkstyle from 
${nl}
  -           | http://checkstyle.sourceforge.net/ ${nl}
  -           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  -           |   3) In ant.properties, redefine the checkstyle-all-2.1.jar property 
${nl}
  -           |      to point to the path of checkstyle-all-2.1.jar in your ${nl}
  -           |      downloaded distribution."/>
  -
  -        </ant>
  -    </target>
  -    <target name="checkFramework">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="avalon-framework.jar"/>
  -            <property name="path" value="${avalon-framework.jar}"/>
  -            <property name="remedy" value="1) Download and unpack Avalon Framework 
from ${nl}
  -           | http://jakarta.apache.org/builds/avalon/release/framework ${nl}
  -           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  -           |   3) In ant.properties, redefine the avalon-framework.jar property 
${nl}
  -           |      to point to the path of avalon-framework.jar in your ${nl}
  -           |      downloaded Avalon."/>
  -
  -        </ant>
  -    </target>
  -    <target name="checkBSF">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -            <property name="proj.jar.name" value="bsf.jar"/>
  -            <property name="class" value="com.ibm.bsf.util.BSFEngineImpl"/>
  -            <property name="classpath" value="${cp}"/>
  -            <property name="remedy" value="Download the BSF from ${nl}
  -           | http://oss.software.ibm.com/developerworks/projects/bsf ${nl}
  -           |   and copy bsf.jar to ${ant.home}/lib"/>
  -        </ant>
  -    </target>
  -
  -    <!-- All -->
  -    <target name="checkCore">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-core.jar"/>
  -            <property name="path" value="${excalibur-core.jar}"/>
  -            <property name="proj.home" value="${basedir}/../all"/>
  -            <property name="proj.target" value="all"/>
  -        </ant>
  -    </target>
  -    <target name="checkScratchpad">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-scratchpad.jar"/>
  -            <property name="path" value="${excalibur-scratchpad.jar}"/>
  -        </ant>
  -    </target>
  -
  -    <!-- Fortress Tools -->
  -    <target name="checkFortressTools">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" 
value="excalibur-fortress-tools-1.0.jar"/>
  -            <property name="path" value="${excalibur-fortress-tools.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  -            <property name="proj.jar.name" value="qdox.jar"/>
  -            <property name="class" 
value="com.thoughtworks.qdox.ant.AbstractQdoxTask"/>
  -            <property name="classpath" value="${cp}"/>
  -            <property name="remedy" value="1) Download and unpack qdox from ${nl}
  -           | http://qdox.codehaus.org/ ${nl}
  -           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  -           |   3) In ant.properties, redefine the qdox.jar property ${nl}
  -           |      to point to the path of qdox.jar in your ${nl}
  -           |      downloaded distribution."/>
  -        </ant>
  -
  -    </target>
  -
  -    <!-- Altrmi -->
  -    <target name="checkAltrmiCommon">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-common.jar"/>
  -            <property name="path" value="${altrmi-common.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -    </target>
  -    <target name="checkAltrmiClient" depends="checkAltrmiCommon">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-client-impl.jar"/>
  -            <property name="path" value="${altrmi-client-impl.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-client-interfaces.jar"/>
  -            <property name="path" value="${altrmi-client-interfaces.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -    </target>
  -    <target name="checkAltrmiServer" depends="checkAltrmiCommon">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-server-impl.jar"/>
  -            <property name="path" value="${altrmi-server-impl.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-server-interfaces.jar"/>
  -            <property name="path" value="${altrmi-server-interfaces.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -    </target>
  -    <target name="checkAltrmiGenerator" depends="checkAltrmiCommon">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-generator.jar"/>
  -            <property name="path" value="${altrmi-generator.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -    </target>
  -    <target name="checkAltrmi" depends="checkAltrmiClient, checkAltrmiServer, 
checkAltrmiGenerator">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="altrmi-generator.jar"/>
  -            <property name="path" value="${altrmi-generator.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -    </target>
  -
  -    <target name="checkCommonsCollections">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="commons-collections-2.1.jar"/>
  -            <property name="path" value="${commons-collections.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lib"/>
  -        </ant>
  -    </target>
  -
  -    <target name="checkEvent">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-event.jar"/>
  -            <property name="path" value="${excalibur-event.jar}"/>
  -            <property name="proj.home" value="${basedir}/../event"/>
  -        </ant>
  -    </target>
  -    <target name="checkThread">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-thread.jar"/>
  -            <property name="path" value="${excalibur-thread.jar}"/>
  -            <property name="proj.home" value="${basedir}/../thread"/>
  -        </ant>
  -    </target>
  -    <target name="checkInfo">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-info.jar"/>
  -            <property name="path" value="${excalibur-info.jar}"/>
  -            <property name="proj.home" value="${basedir}/../info"/>
  -        </ant>
  -    </target>
  -    <target name="checkI18n">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-i18n.jar"/>
  -            <property name="path" value="${excalibur-i18n.jar}"/>
  -            <property name="proj.home" value="${basedir}/../i18n"/>
  -        </ant>
  -    </target>
  -
  -    <target name="checkCli" depends="checkCompatibility"/>
  -
  -    <target name="checkCompatibility">
  -      <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkRequiredFile">
  -        <property name="proj.jar.name" value="excalibur-compatibility-1.0.jar"/>
  -        <property name="path" value="${excalibur-compatibility.jar}"/>
  -        <property name="proj.home" value="${basedir}/../compatibility"/>
  -      </ant>
  -    </target>
  -    <target name="checkInstrument">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-instrument-1.0.jar"/>
  -            <property name="path" value="${excalibur-instrument.jar}"/>
  -            <property name="proj.home" value="${basedir}/../instrument"/>
  -        </ant>
  -    </target>
  -    <target name="checkInstrumentManagerInterfaces">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" 
value="excalibur-instrument-manager-interfaces-0.3.jar"/>
  -            <property name="path" 
value="${excalibur-instrument-manager-interfaces.jar}"/>
  -            <property name="proj.home" value="${basedir}/../instrument-manager"/>
  -        </ant>
  -    </target>
  -    <target name="checkInstrumentManager" 
depends="checkInstrumentManagerInterfaces">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" 
value="excalibur-instrument-manager-0.3.jar"/>
  -            <property name="path" value="${excalibur-instrument-manager.jar}"/>
  -            <property name="proj.home" value="${basedir}/../instrument-manager"/>
  -        </ant>
  -    </target>
  -    <target name="checkCollections" depends="checkCompatibility"/>
  -    <target name="checkComponent">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-component.jar"/>
  -            <property name="path" value="${excalibur-component.jar}"/>
  -            <property name="proj.home" value="${basedir}/../component"/>
  -        </ant>
  -    </target>
  -    <target name="checkConcurrent" depends="checkCompatibility"/>
  -    <target name="checkConfiguration">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-configuration.jar"/>
  -            <property name="path" value="${excalibur-configuration.jar}"/>
  -            <property name="proj.home" value="${basedir}/../configuration"/>
  -        </ant>
  -    </target>
  -    <target name="checkContainer" depends="checkLifecycle"/>
  -    <target name="checkLifecycle">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-lifecycle.jar"/>
  -        <property name="path" value="${excalibur-lifecycle.jar}"/>
  -            <property name="proj.home" value="${basedir}/../lifecycle"/>
  -        </ant>
  -    </target>
  -    <target name="checkMeta">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-meta.jar"/>
  -            <property name="path" value="${excalibur-meta.jar}"/>
  -            <property name="proj.home" value="${basedir}/../meta"/>
  -        </ant>
  -    </target>
  -    <target name="checkPool">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-pool.jar"/>
  -            <property name="path" value="${excalibur-pool.jar}"/>
  -            <property name="proj.home" value="${basedir}/../pool"/>
  -        </ant>
  -    </target>
  -    <target name="checkIO" depends="checkCompatibility"/>
  -    <target name="checkStore">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-store.jar"/>
  -            <property name="path" value="${excalibur-store.jar}"/>
  -            <property name="proj.home" value="${basedir}/../store"/>
  -        </ant>
  -    </target>
  -    <target name="checkLogkit">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="logkit.jar"/>
  -            <property name="path" value="${logkit.jar}"/>
  -        </ant>
  -    </target>
  -    <target name="checkLogger">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-logger.jar"/>
  -            <property name="path" value="${excalibur-logger.jar}"/>
  -            <property name="proj.home" value="${basedir}/../logger"/>
  -        </ant>
  -    </target>
  -    <target name="checkDatasource">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-datasource.jar"/>
  -            <property name="path" value="${excalibur-datasource.jar}"/>
  -            <property name="proj.home" value="${basedir}/../datasource"/>
  -        </ant>
  -    </target>
  -    <target name="checkExtension">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="name.jar.name" value="excalibur-extension.jar"/>
  -            <property name="path" value="${excalibur-extension.jar}"/>
  -            <property name="proj.home" value="${basedir}/../extension"/>
  -        </ant>
  -    </target>
  -    <target name="checkMonitor">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-monitor.jar"/>
  -            <property name="path" value="${excalibur-monitor.jar}"/>
  -            <property name="proj.home" value="${basedir}/../monitor"/>
  -        </ant>
  -    </target>
  -    <target name="checkI18N">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-i18n.jar"/>
  -            <property name="path" value="${excalibur-i18n.jar}"/>
  -            <property name="proj.home" value="${basedir}/../i18n"/>
  -        </ant>
  -    </target>
  -    <target name="checkSourceResolve">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-sourceresolve.jar"/>
  -            <property name="path" value="${excalibur-sourceresolve.jar}"/>
  -            <property name="proj.home" value="${basedir}/../sourceresolve"/>
  -        </ant>
  -    </target>
  -    <target name="checkTestcase">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkComponent">
  -        </ant>
  -    </target>
  -    <target name="checkThreadcontext">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-threadcontext.jar"/>
  -            <property name="path" value="${excalibur-threadcontext.jar}"/>
  -            <property name="proj.home" value="${basedir}/../threadcontext"/>
  -        </ant>
  -    </target>
  -
  -    <target name="checkXMLUtil">
  -        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  -            <property name="proj.jar.name" value="excalibur-xmlutil.jar"/>
  -            <property name="path" value="${excalibur-xmlutil.jar}"/>
  -            <property name="proj.home" value="${basedir}/../xmlutil"/>
  -        </ant>
  -    </target>
  -
  -    <!-- ====================================================== -->
  -    <!-- Call to ensure a class is present in the classpath     -->
  -    <!-- ====================================================== -->
  -    <target name="checkRequiredClass">
  -        <available classname="${class}" classpath="${classpath}" 
property="requirement.satisfied"/>
  -        <antcall target="checkRequiredClass.fail"/>
  -    </target>
  -
  -
  -    <!-- ====================================================== -->
  -    <!-- Call to ensure a file (usu. jar) is present. If not,   -->
  -    <!-- either build it (if local), or print an error (remote) -->
  -    <!-- ====================================================== -->
  -    <target name="checkRequiredFile" depends="checkIfLocal, checkRequiredFileLocal, 
checkRequiredFileRemote, listRequiredFile, copyRequiredFile"/>
  -
  -    <target name="checkIfLocal" if="proj.home">
  -        <available type="dir" file="${proj.home}" property="local"/>
  -    </target>
  -
  -    <!--
  -    Check for a local requirement (another component). If not found,
  -    update_dependency will build it
  -    -->
  -    <target name="checkRequiredFileLocal" if="local">
  -        <available type="file" file="${path}" property="requirement.satisfied"/>
  -        <antcall target="update_dependency"/>
  -        <available type="file" file="${path}" property="build.succeeded"/>
  -        <antcall target="build.fail"/>
  -    </target>
  -
  -    <!--
  -    Check for a remote requirement. If not found, checkRequiredFile.fail will
  -    print an error. Alternatively, we could do a HTTP get to retrieve the file
  -    -->
  -    <target name="checkRequiredFileRemote" unless="local">
  -        <available type="file" file="${path}" property="requirement.satisfied"/>
  -        <antcall target="get_dependency"/>
  -        <available type="file" file="${path}" property="get.succeeded"/>
  -        <antcall target="checkRequiredFile.fail"/>
  -    </target>
  -
  -    <!-- Record the required jar file's path in a file, ${jarlist} -->
  -    <target name="listRequiredFile" if="jarlist">
  -        <echo file="${jarlist}" append="true">${path}${nl}</echo>
  -    </target>
  -
  -    <!-- Copy the required file to a directory, ${jardir} -->
  -    <target name="copyRequiredFile" if="jardir">
  -        <mkdir dir="${jardir}"/>
  -        <copy file="${path}" todir="${jardir}"/>
  -    </target>
  -
  -    <!-- =================================================================== -->
  -    <!-- Script called to recursively call another depencency.xml file in    -->
  -    <!-- another project, and then run the 'dist.lite' target.               -->
  -    <!-- =================================================================== -->
  -    <target name="update_dependency" description="Update files for one dependency" 
unless="requirement.satisfied">
  -        <echo>
  -            Couldn't find ${path} ${nl}
  -            Updating files from dependency ${proj.home}
  -        </echo>
  -        <!-- Set target if it wasn't previously set -->
  -        <property name="proj.target" value="${default.target}"/>
  -        <ant dir="${proj.home}" target="${proj.target}" inheritAll="false">
  -            <property name="skip.tests" value="true"/>
  -            <property name="skip.javadocs" value="true"/>
  -        </ant>
  -    </target>
  -
  -    <target name="get_dependency" description="Retrieve a jar via HTTP" if="url" 
unless="requirement.satisfied">
  -        <get
  -            src="${url}"
  -            dest="${path}"
  -            verbose="true"
  -            usetimestamp="true"/>
  -        <echo>Retrieved ${path}</echo>
  -    </target>
  -
  -    <target name="checkRequiredFile.fail" unless="get.succeeded">
  -        <property name="message" value="Can't find file: ${path}"/>
  -        <echo>
  -            .---------------------------------------------------------------.
  -            | FILE NOT FOUND                                                 |
  -            |                                                                |
  -            | ${message}
  -            |----------------------------------------------------------------|
  -            | Error when building module:                                    |
  -            | ${basedir}
  -            |                                                                |
  -            | You must define the following property in order                |
  -            | to build:                                                      |
  -            |                                                                |
  -            | ${proj.jar.name} (currently "${path}")
  -            |                                                                |
  -            | Usually this is done by copying ant.properties.sample to       |
  -            | ant.properties and defining the property there. This may also  |
  -            | be done in ${user.home}/.ant.properties.                       |
  -            '----------------------------------------------------------------'
  -        </echo>
  -        <fail message="Failed requirement: file not found"/>
  -    </target>
  -
  -    <target name="checkRequiredClass.fail" unless="requirement.satisfied">
  -        <property name="message" value="Can't find class: ${class}"/>
  -        <property name="remedy" value=""/>
  -        <echo>
  -            .----------------------------------------------------------------.
  -            | CLASS NOT FOUND                                                |
  -            |                                                                |
  -            | ${message}
  -            |----------------------------------------------------------------|
  -            | Error when building module:                                    |
  -            | ${basedir}
  -            |                                                                |
  -            | A jar containing class:                                        |
  -            |   ${class}
  -            | must be in your classpath or Ant lib directory                 |
  -            |                                                                |
  -            | Typically it is in a jar called:                               |
  -            |   ${proj.jar.name}
  -            | Suggested Remedy:                                              |
  -            |   ${remedy}
  -            '----------------------------------------------------------------'
  -        </echo>
  -        <fail message="Failed requirement: class not found"/>
  -    </target>
  -
  -    <target name="build.fail" unless="build.succeeded">
  -        <echo>
  -            .-----------------------------------------------------------------.
  -            | BUILD FAILURE                                                   |
  -            |-----------------------------------------------------------------+
  -            | Error when building module:                                     |
  -            | ${basedir}
  -            |                                                                 |
  -            |                                                                 |
  -            | The dependency-checking system tried to build the project:      |
  -            |   ${proj.home}
  -            | which should have provided the property:                        |
  -            |   ${proj.jar.name} = ${path}
  -            | However, after the build, no such file exists.                  |
  -            |                                                                 |
  -            | Typically this is because the required project changed the name |
  -            | of the jar it produces. If so, please correct this in           |
  -            | default.properties, ant.properties.sample or ant.properties     |
  -            '-----------------------------------------------------------------'
  -        </echo>
  -        <fail message="Failed Requirement"/>
  -    </target>
  -
  -</project>
  +<?xml version="1.0"?>
  +
  +<!--
  +============================================================
  +                Dependency updater
  +                   Version $Revision$
  +           Jeff Turner <[EMAIL PROTECTED]>
  +
  +This Ant script provides "functions" to check if
  +dependencies are present, and take appropriate action if
  +they are not. "Appropriate action" may be:
  +
  +- Print an error message
  +- Build the project, if local
  +- Retrieve the jar dependency via HTTP GET
  +
  +To use it, type 'ant -f depchecker.xml'
  +============================================================-->
  +
  +<!--
  +-->
  +
  +<project name="dependencies" default="main" basedir=".">
  +    <!-- The target to call if ${proj.target} isn't specified -->
  +    <property name="default.target" value="dist-jar"/>
  +    <property name="nl" value="${line.separator}"/>
  +
  +    <target name="main" depends="usage"/>
  +    <target name="usage">
  +        <echo><![CDATA[
  +            =======================================================
  +            This is Excalibur's dependency updater script.
  +            Which has been called incorrectly :)
  +
  +            To use it, you can call one of the predefined dependency scripts
  +            from your Ant script. For example:
  +
  +            <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkJUnit"/>
  +
  +
  +            Alternatively, you can call the checkRequiredFile or
  +            checkRequiredClass targets directly from your Ant script.
  +
  +            Example 1:
  +
  +            <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +                <property name="proj.jar.name" value="xalan.jar"/>
  +                <property name="path" value="${xalan.jar}"/>
  +            </ant>
  +
  +            That will check if the file pointed to by $${xalan.jar} is present,
  +            and fail with a warning message if it isn't.
  +
  +            Example 2:
  +
  +            <ant antfile="depchecker.xml" target="checkRequiredFile">
  +                <property name="proj.jar.name" value="excalibur-concurrent.jar"/>
  +                <property name="path" value="$${excalibur-concurrent.jar}"/>
  +                <property name="proj.home" value="../concurrent"/>
  +                <property name="proj.target" value="dist.lite"/>
  +            </ant>
  +
  +            That will check if $${excalibur-concurrent.jar} points to a jar, and
  +            if it doesn't, build the $${proj.home} project in order to generate
  +            the jar
  +
  +            Example 3:
  +
  +            <ant antfile="depchecker.xml" target="checkRequiredFile">
  +                <property name="proj.jar.name" value="commons-io.jar"/>
  +                <property name="path" value="$${lib.repo}/commons-io.jar"/>
  +                <property name="url" 
value="http://jakarta.apache.org/turbine/jars/commons-io.jar"/>
  +            </ant>
  +
  +            That will check if $${lib.repo}/commons-io.jar exists, and if not,
  +            download it from $${url}
  +
  +            Example 4:
  +
  +            <property name="cp" refid="project.class.path"/>
  +            <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +                <property name="proj.jar.name" value="junit.jar"/>
  +                <property name="class" value="junit.framework.Test"/>
  +                <property name="classpath" value="${cp}"/>
  +            </ant>
  +
  +            That will check if $${class} is in the classpath $${cp}.
  +
  +            The properties are as follows:
  +
  +            For checkRequiredFile:
  +            name:
  +                Name of the jar. Eg 'avalon-collections.jar'
  +            path:
  +                Path to named jar. Eg $${avalon-collections.jar}
  +
  +            proj.home (optional):
  +                Path to local project which builds the jar. Only set if the jar
  +                could be local, eg another component.
  +            proj.target (optional) [dist.lite]:
  +                Ant script target to run in local project to build the jar
  +
  +            url (optional):
  +                URL to retrieve jar if not present on the local filesystem
  +
  +            For checkRequiredClass:
  +            name:
  +                Name of jar in which the class usually resides
  +            class:
  +                Name of class to check for
  +            classpath:
  +                String classpath (; or : separated) to search for $${class} in
  +
  +
  +            Algorithm is as follows:
  +
  +            IF the directory ${proj.home} exists THEN:
  +                // The dependency is local; if the jar doesn't exist, we can build 
it
  +                IF file ${path} does not exist THEN:
  +                   call ${proj.home}/build.xml's 'dist.lite' target to build that
  +                   project's jar, which will then build it's own dependencies if 
necessary
  +                ELSE we're fine
  +            ELSE
  +                // The dependency is remote; we can't build it,
  +                IF file ${path} does not exist THEN:
  +                    IF ${url} is present THEN:
  +                        do a HTTP GET to retrieve the jar to ${path}
  +                    ELSE
  +                        print an error saying "Can't find file ${path}"
  +                ELSE we're fine
  +
  +                        =======================================================
  +            ]]></echo>
  +    </target>
  +
  +    <!-- ====================================================== -->
  +    <!-- Dependency checking library                            -->
  +    <!-- ====================================================== -->
  +
  +    <!-- Print a warning if a deprecated property is being used. -->
  +    <target name="checkDeprecatedProp">
  +        <available type="file" file="${path}" property="prop.present"/>
  +        <antcall target="deprecatedProp.warn"/>
  +    </target>
  +    <target name="deprecatedProp.warn" if="prop.present">
  +        <echo>
  +            .---------------------------------------------------------------.
  +            | DEPRECATED PROPERTY WARNING                                   |
  +            |                                                               |
  +            |---------------------------------------------------------------|
  +            | While processing subproject:                                  |
  +            |   ${basedir}
  +            | The following deprecated property was found:                  |
  +            |   ${proj.jar.name}
  +            | Please replace it with:
  +            |   ${newname}
  +            |
  +            | The property may be defined in your project's ant.properties  |
  +            | file, Excalibur's root ant.properties, or the ant.properties  |
  +            | or build.properties in your home directory, ${user.home}
  +            | Please consult the subproject build.xml for a full list of    |
  +            | possible locations.                                           |
  +            '---------------------------------------------------------------'
  +        </echo>
  +
  +    </target>
  +
  +    <target name="checkCommon" description="Checks applying to all components">
  +        <antcall target="checkDeprecatedProp">
  +            <param name="proj.jar.name" value="avalon-logkit.jar"/>
  +            <param name="path" value="${avalon-logkit.jar}"/>
  +            <param name="newname" value="logkit.jar"/>
  +        </antcall>
  +    </target>
  +
  +    <target name="checkJUnit">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +            <property name="proj.jar.name" value="junit.jar"/>
  +            <property name="class" value="junit.framework.Test"/>
  +            <property name="classpath" value="${cp}"/>
  +            <property name="remedy" value="Download JUnit from http://www.junit.org 
and copy junit.jar ${nl}
  +           |   to ${ant.home}/lib"/>
  +
  +        </ant>
  +    </target>
  +    <target name="checkJUnitPerf">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +            <property name="proj.jar.name" value="junitperf.jar"/>
  +            <property name="class" value="com.clarkware.junitperf.Timer"/>
  +            <property name="classpath" value="${cp}"/>
  +            <property name="remedy" value="1) Download and unpack JUnitPerf from 
${nl}
  +           | http://www.clarkware.com/software/JUnitPerf.html ${nl}
  +           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  +           |   3) In ant.properties, redefine the junitperf.jar property ${nl}
  +           |      to point to the path of junitperf.jar in your ${nl}
  +           |      downloaded distribution."/>
  +
  +        </ant>
  +    </target>
  +    <target name="checkCheckstyle">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +            <property name="proj.jar.name" value="checkstyle-all-2.1.jar"/>
  +            <property name="class" 
value="com.puppycrawl.tools.checkstyle.CheckStyleTask"/>
  +
  +            <property name="classpath" value="${cp}"/>
  +            <property name="remedy" value="1) Download and unpack Checkstyle from 
${nl}
  +           | http://checkstyle.sourceforge.net/ ${nl}
  +           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  +           |   3) In ant.properties, redefine the checkstyle-all-2.1.jar property 
${nl}
  +           |      to point to the path of checkstyle-all-2.1.jar in your ${nl}
  +           |      downloaded distribution."/>
  +
  +        </ant>
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +            <property name="proj.jar.name" value="checkstyle-all-2.1.jar or 
jakarta-regexp-1.2.jar"/>
  +            <property name="class" value="org.apache.regexp.RE"/>
  +
  +            <property name="classpath" value="${cp}"/>
  +            <property name="remedy" value="1) Download and unpack Checkstyle from 
${nl}
  +           | http://checkstyle.sourceforge.net/ ${nl}
  +           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  +           |   3) In ant.properties, redefine the checkstyle-all-2.1.jar property 
${nl}
  +           |      to point to the path of checkstyle-all-2.1.jar in your ${nl}
  +           |      downloaded distribution."/>
  +
  +        </ant>
  +    </target>
  +    <target name="checkFramework">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="avalon-framework.jar"/>
  +            <property name="path" value="${avalon-framework.jar}"/>
  +            <property name="remedy" value="1) Download and unpack Avalon Framework 
from ${nl}
  +           | http://jakarta.apache.org/builds/avalon/release/framework ${nl}
  +           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  +           |   3) In ant.properties, redefine the avalon-framework.jar property 
${nl}
  +           |      to point to the path of avalon-framework.jar in your ${nl}
  +           |      downloaded Avalon."/>
  +
  +        </ant>
  +    </target>
  +    <target name="checkBSF">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +            <property name="proj.jar.name" value="bsf.jar"/>
  +            <property name="class" value="com.ibm.bsf.util.BSFEngineImpl"/>
  +            <property name="classpath" value="${cp}"/>
  +            <property name="remedy" value="Download the BSF from ${nl}
  +           | http://oss.software.ibm.com/developerworks/projects/bsf ${nl}
  +           |   and copy bsf.jar to ${ant.home}/lib"/>
  +        </ant>
  +    </target>
  +
  +    <!-- All -->
  +    <target name="checkCore">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-core.jar"/>
  +            <property name="path" value="${excalibur-core.jar}"/>
  +            <property name="proj.home" value="${basedir}/../all"/>
  +            <property name="proj.target" value="all"/>
  +        </ant>
  +    </target>
  +    <target name="checkScratchpad">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-scratchpad.jar"/>
  +            <property name="path" value="${excalibur-scratchpad.jar}"/>
  +        </ant>
  +    </target>
  +
  +    <!-- Fortress Tools -->
  +    <target name="checkFortressTools">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" 
value="excalibur-fortress-tools-1.0.jar"/>
  +            <property name="path" value="${excalibur-fortress-tools.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredClass">
  +            <property name="proj.jar.name" value="qdox.jar"/>
  +            <property name="class" 
value="com.thoughtworks.qdox.ant.AbstractQdoxTask"/>
  +            <property name="classpath" value="${cp}"/>
  +            <property name="remedy" value="1) Download and unpack qdox from ${nl}
  +           | http://qdox.codehaus.org/ ${nl}
  +           |   2) Copy the project's ant.properties.sample to ant.properties ${nl}
  +           |   3) In ant.properties, redefine the qdox.jar property ${nl}
  +           |      to point to the path of qdox.jar in your ${nl}
  +           |      downloaded distribution."/>
  +        </ant>
  +
  +    </target>
  +
  +    <!-- Altrmi -->
  +    <target name="checkAltrmiCommon">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-common.jar"/>
  +            <property name="path" value="${altrmi-common.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +    </target>
  +    <target name="checkAltrmiClient" depends="checkAltrmiCommon">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-client-impl.jar"/>
  +            <property name="path" value="${altrmi-client-impl.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-client-interfaces.jar"/>
  +            <property name="path" value="${altrmi-client-interfaces.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +    </target>
  +    <target name="checkAltrmiServer" depends="checkAltrmiCommon">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-server-impl.jar"/>
  +            <property name="path" value="${altrmi-server-impl.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-server-interfaces.jar"/>
  +            <property name="path" value="${altrmi-server-interfaces.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +    </target>
  +    <target name="checkAltrmiGenerator" depends="checkAltrmiCommon">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-generator.jar"/>
  +            <property name="path" value="${altrmi-generator.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +    </target>
  +    <target name="checkAltrmi" depends="checkAltrmiClient, checkAltrmiServer, 
checkAltrmiGenerator">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="altrmi-generator.jar"/>
  +            <property name="path" value="${altrmi-generator.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +    </target>
  +
  +    <target name="checkCommonsCollections">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="commons-collections-2.1.jar"/>
  +            <property name="path" value="${commons-collections.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lib"/>
  +        </ant>
  +    </target>
  +
  +    <target name="checkEvent">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-event.jar"/>
  +            <property name="path" value="${excalibur-event.jar}"/>
  +            <property name="proj.home" value="${basedir}/../event"/>
  +        </ant>
  +    </target>
  +    <target name="checkThread">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-thread.jar"/>
  +            <property name="path" value="${excalibur-thread.jar}"/>
  +            <property name="proj.home" value="${basedir}/../thread"/>
  +        </ant>
  +    </target>
  +    <target name="checkInfo">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-info.jar"/>
  +            <property name="path" value="${excalibur-info.jar}"/>
  +            <property name="proj.home" value="${basedir}/../info"/>
  +        </ant>
  +    </target>
  +    <target name="checkI18n">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-i18n.jar"/>
  +            <property name="path" value="${excalibur-i18n.jar}"/>
  +            <property name="proj.home" value="${basedir}/../i18n"/>
  +        </ant>
  +    </target>
  +
  +    <target name="checkCli" depends="checkCompatibility"/>
  +
  +    <target name="checkCompatibility">
  +      <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkRequiredFile">
  +        <property name="proj.jar.name" value="excalibur-compatibility-1.0.jar"/>
  +        <property name="path" value="${excalibur-compatibility.jar}"/>
  +        <property name="proj.home" value="${basedir}/../compatibility"/>
  +      </ant>
  +    </target>
  +    <target name="checkInstrument">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-instrument-1.0.jar"/>
  +            <property name="path" value="${excalibur-instrument.jar}"/>
  +            <property name="proj.home" value="${basedir}/../instrument"/>
  +        </ant>
  +    </target>
  +    <target name="checkInstrumentManagerInterfaces">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" 
value="excalibur-instrument-manager-interfaces-0.3.jar"/>
  +            <property name="path" 
value="${excalibur-instrument-manager-interfaces.jar}"/>
  +            <property name="proj.home" value="${basedir}/../instrument-manager"/>
  +        </ant>
  +    </target>
  +    <target name="checkInstrumentManager" 
depends="checkInstrumentManagerInterfaces">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" 
value="excalibur-instrument-manager-0.3.jar"/>
  +            <property name="path" value="${excalibur-instrument-manager.jar}"/>
  +            <property name="proj.home" value="${basedir}/../instrument-manager"/>
  +        </ant>
  +    </target>
  +    <target name="checkCollections" depends="checkCompatibility"/>
  +    <target name="checkComponent">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-component.jar"/>
  +            <property name="path" value="${excalibur-component.jar}"/>
  +            <property name="proj.home" value="${basedir}/../component"/>
  +        </ant>
  +    </target>
  +    <target name="checkConcurrent" depends="checkCompatibility"/>
  +    <target name="checkConfiguration">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-configuration.jar"/>
  +            <property name="path" value="${excalibur-configuration.jar}"/>
  +            <property name="proj.home" value="${basedir}/../configuration"/>
  +        </ant>
  +    </target>
  +    <target name="checkContainer" depends="checkLifecycle"/>
  +    <target name="checkLifecycle">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-lifecycle.jar"/>
  +        <property name="path" value="${excalibur-lifecycle.jar}"/>
  +            <property name="proj.home" value="${basedir}/../lifecycle"/>
  +        </ant>
  +    </target>
  +    <target name="checkMeta">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-meta.jar"/>
  +            <property name="path" value="${excalibur-meta.jar}"/>
  +            <property name="proj.home" value="${basedir}/../meta"/>
  +        </ant>
  +    </target>
  +    <target name="checkPool">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-pool.jar"/>
  +            <property name="path" value="${excalibur-pool.jar}"/>
  +            <property name="proj.home" value="${basedir}/../pool"/>
  +        </ant>
  +    </target>
  +    <target name="checkIO" depends="checkCompatibility"/>
  +    <target name="checkStore">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-store.jar"/>
  +            <property name="path" value="${excalibur-store.jar}"/>
  +            <property name="proj.home" value="${basedir}/../store"/>
  +        </ant>
  +    </target>
  +    <target name="checkLogkit">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="logkit.jar"/>
  +            <property name="path" value="${logkit.jar}"/>
  +        </ant>
  +    </target>
  +    <target name="checkLogger">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-logger.jar"/>
  +            <property name="path" value="${excalibur-logger.jar}"/>
  +            <property name="proj.home" value="${basedir}/../logger"/>
  +        </ant>
  +    </target>
  +    <target name="checkDatasource">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-datasource.jar"/>
  +            <property name="path" value="${excalibur-datasource.jar}"/>
  +            <property name="proj.home" value="${basedir}/../datasource"/>
  +        </ant>
  +    </target>
  +    <target name="checkExtension">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="name.jar.name" value="excalibur-extension.jar"/>
  +            <property name="path" value="${excalibur-extension.jar}"/>
  +            <property name="proj.home" value="${basedir}/../extension"/>
  +        </ant>
  +    </target>
  +    <target name="checkMonitor">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-monitor.jar"/>
  +            <property name="path" value="${excalibur-monitor.jar}"/>
  +            <property name="proj.home" value="${basedir}/../monitor"/>
  +        </ant>
  +    </target>
  +    <target name="checkI18N">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-i18n.jar"/>
  +            <property name="path" value="${excalibur-i18n.jar}"/>
  +            <property name="proj.home" value="${basedir}/../i18n"/>
  +        </ant>
  +    </target>
  +    <target name="checkSourceResolve">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-sourceresolve.jar"/>
  +            <property name="path" value="${excalibur-sourceresolve.jar}"/>
  +            <property name="proj.home" value="${basedir}/../sourceresolve"/>
  +        </ant>
  +    </target>
  +    <target name="checkTestcase">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" target="checkComponent">
  +        </ant>
  +    </target>
  +    <target name="checkThreadcontext">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-threadcontext.jar"/>
  +            <property name="path" value="${excalibur-threadcontext.jar}"/>
  +            <property name="proj.home" value="${basedir}/../threadcontext"/>
  +        </ant>
  +    </target>
  +
  +    <target name="checkXMLUtil">
  +        <ant antfile="${depchecker.prefix}/depchecker.xml" 
target="checkRequiredFile">
  +            <property name="proj.jar.name" value="excalibur-xmlutil.jar"/>
  +            <property name="path" value="${excalibur-xmlutil.jar}"/>
  +            <property name="proj.home" value="${basedir}/../xmlutil"/>
  +        </ant>
  +    </target>
  +
  +    <!-- ====================================================== -->
  +    <!-- Call to ensure a class is present in the classpath     -->
  +    <!-- ====================================================== -->
  +    <target name="checkRequiredClass">
  +        <available classname="${class}" classpath="${classpath}" 
property="requirement.satisfied"/>
  +        <antcall target="checkRequiredClass.fail"/>
  +    </target>
  +
  +
  +    <!-- ====================================================== -->
  +    <!-- Call to ensure a file (usu. jar) is present. If not,   -->
  +    <!-- either build it (if local), or print an error (remote) -->
  +    <!-- ====================================================== -->
  +    <target name="checkRequiredFile" depends="checkIfLocal, checkRequiredFileLocal, 
checkRequiredFileRemote, listRequiredFile, copyRequiredFile"/>
  +
  +    <target name="checkIfLocal" if="proj.home">
  +        <available type="dir" file="${proj.home}" property="local"/>
  +    </target>
  +
  +    <!--
  +    Check for a local requirement (another component). If not found,
  +    update_dependency will build it
  +    -->
  +    <target name="checkRequiredFileLocal" if="local">
  +        <available type="file" file="${path}" property="requirement.satisfied"/>
  +        <antcall target="update_dependency"/>
  +        <available type="file" file="${path}" property="build.succeeded"/>
  +        <antcall target="build.fail"/>
  +    </target>
  +
  +    <!--
  +    Check for a remote requirement. If not found, checkRequiredFile.fail will
  +    print an error. Alternatively, we could do a HTTP get to retrieve the file
  +    -->
  +    <target name="checkRequiredFileRemote" unless="local">
  +        <available type="file" file="${path}" property="requirement.satisfied"/>
  +        <antcall target="get_dependency"/>
  +        <available type="file" file="${path}" property="get.succeeded"/>
  +        <antcall target="checkRequiredFile.fail"/>
  +    </target>
  +
  +    <!-- Record the required jar file's path in a file, ${jarlist} -->
  +    <target name="listRequiredFile" if="jarlist">
  +        <echo file="${jarlist}" append="true">${path}${nl}</echo>
  +    </target>
  +
  +    <!-- Copy the required file to a directory, ${jardir} -->
  +    <target name="copyRequiredFile" if="jardir">
  +        <mkdir dir="${jardir}"/>
  +        <copy file="${path}" todir="${jardir}"/>
  +    </target>
  +
  +    <!-- =================================================================== -->
  +    <!-- Script called to recursively call another depencency.xml file in    -->
  +    <!-- another project, and then run the 'dist.lite' target.               -->
  +    <!-- =================================================================== -->
  +    <target name="update_dependency" description="Update files for one dependency" 
unless="requirement.satisfied">
  +        <echo>
  +            Couldn't find ${path} ${nl}
  +            Updating files from dependency ${proj.home}
  +        </echo>
  +        <!-- Set target if it wasn't previously set -->
  +        <property name="proj.target" value="${default.target}"/>
  +        <ant dir="${proj.home}" target="${proj.target}" inheritAll="false">
  +            <property name="skip.tests" value="true"/>
  +            <property name="skip.javadocs" value="true"/>
  +        </ant>
  +    </target>
  +
  +    <target name="get_dependency" description="Retrieve a jar via HTTP" if="url" 
unless="requirement.satisfied">
  +        <get
  +            src="${url}"
  +            dest="${path}"
  +            verbose="true"
  +            usetimestamp="true"/>
  +        <echo>Retrieved ${path}</echo>
  +    </target>
  +
  +    <target name="checkRequiredFile.fail" unless="get.succeeded">
  +        <property name="message" value="Can't find file: ${path}"/>
  +        <echo>
  +            .---------------------------------------------------------------.
  +            | FILE NOT FOUND                                                 |
  +            |                                                                |
  +            | ${message}
  +            |----------------------------------------------------------------|
  +            | Error when building module:                                    |
  +            | ${basedir}
  +            |                                                                |
  +            | You must define the following property in order                |
  +            | to build:                                                      |
  +            |                                                                |
  +            | ${proj.jar.name} (currently "${path}")
  +            |                                                                |
  +            | Usually this is done by copying ant.properties.sample to       |
  +            | ant.properties and defining the property there. This may also  |
  +            | be done in ${user.home}/.ant.properties.                       |
  +            '----------------------------------------------------------------'
  +        </echo>
  +        <fail message="Failed requirement: file not found"/>
  +    </target>
  +
  +    <target name="checkRequiredClass.fail" unless="requirement.satisfied">
  +        <property name="message" value="Can't find class: ${class}"/>
  +        <property name="remedy" value=""/>
  +        <echo>
  +            .----------------------------------------------------------------.
  +            | CLASS NOT FOUND                                                |
  +            |                                                                |
  +            | ${message}
  +            |----------------------------------------------------------------|
  +            | Error when building module:                                    |
  +            | ${basedir}
  +            |                                                                |
  +            | A jar containing class:                                        |
  +            |   ${class}
  +            | must be in your classpath or Ant lib directory                 |
  +            |                                                                |
  +            | Typically it is in a jar called:                               |
  +            |   ${proj.jar.name}
  +            | Suggested Remedy:                                              |
  +            |   ${remedy}
  +            '----------------------------------------------------------------'
  +        </echo>
  +        <fail message="Failed requirement: class not found"/>
  +    </target>
  +
  +    <target name="build.fail" unless="build.succeeded">
  +        <echo>
  +            .-----------------------------------------------------------------.
  +            | BUILD FAILURE                                                   |
  +            |-----------------------------------------------------------------+
  +            | Error when building module:                                     |
  +            | ${basedir}
  +            |                                                                 |
  +            |                                                                 |
  +            | The dependency-checking system tried to build the project:      |
  +            |   ${proj.home}
  +            | which should have provided the property:                        |
  +            |   ${proj.jar.name} = ${path}
  +            | However, after the build, no such file exists.                  |
  +            |                                                                 |
  +            | Typically this is because the required project changed the name |
  +            | of the jar it produces. If so, please correct this in           |
  +            | default.properties, ant.properties.sample or ant.properties     |
  +            '-----------------------------------------------------------------'
  +        </echo>
  +        <fail message="Failed Requirement"/>
  +    </target>
  +
  +</project>
  
  
  

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

Reply via email to