<?xml version="1.0" encoding="UTF-8"?>
<!--
 ! Licensed to the Apache Software Foundation (ASF) under one
 ! or more contributor license agreements.  See the NOTICE file
 ! distributed with this work for additional information
 ! regarding copyright ownership. The ASF licenses this file
 ! to you 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="qa" basedir="." default="build" >

    <description>This Ant scripts provides numerous tasks to build and run the
        the River QA test harness and tests</description>

    <!-- Root of the River source distribution -->
    <property name="root" location=".." />

    <!-- Override this to build/run QA tests against an external River installation -->
    <property name="river.home" location="${root}"/>    

    <!-- Import common settings and macros -->
    <import file="${root}/common.xml"/>

    <!-- directory settings -->
    <property name="trust.dir" location="harness/trust"/>

    <!-- javadoc setings -->
    <property name="javadoc.doc-title" value="Apache River v${version} QA Harness and Test API Documentation"/>
    <property name="javadoc.win-title" value="${javadoc.doc-title}"/>

    <!-- jtreg environment setup -->
    <property environment="env"/>
    <!-- location of the River jtreg tests -->
    <property name="jtreg.dir" location="jtreg" />
    <!-- location of the jtreg distribution, override in <river root>/build.properties -->
    <!-- or override in <river root>/qa/build.properties -->
    <property name="jtreg.home" location="${env.JT_HOME}" />
    <!-- probably should rename the environment variable, to enable using the correct -->
    <!-- jdk version for the jtreg tests which depend on jdk1.5 -->
    <property name="jdk1.5.home" location="/usr/jdk/jdk1.5.0_15"/>
    <property name="jtlib.tmp" location="${jtreg.dir}/JTlib-tmp"/>

    <!-- classpath for use by ClassDep in this build -->
    <path id="classdep.cp">
        <path refid="river.jars"/>
        <pathelement location="${build.classes.dir}"/>
    </path>

    <path id="javadoc.classpath">
        <path refid="river.jars"/>
        <path location="${build.classes.dir}"/>
    </path>

    <path id="ext.dirs.path">
        <pathelement path="${java.ext.dirs}" />
        <pathelement path="${lib-ext.dir}" />
        <pathelement path="${river.lib-ext.dir}" />
    </path>

    <property name="ext.dirs" refid="ext.dirs.path" />
    <property name="log.config" location="${src.dir}/com/sun/jini/test/resources/qa1.logging" />
    <property name="security.policy" location="harness/policy/qa.policy" />
    <!--possible values: jrmp,jeri,jsse,http,https,kerberos,none -->
    <!--<property name="harness.configs" value="http,jrmp,jeri"/>-->
    <property name="harness.configs" value="none"/>
    <!-- possible values: activatable,transient -->
    <property name="harness.servicemode" value="transient"/>

    <!-- resources to copy to classes dir -->
    <property name="resources" value="**/resources*/**, **/*.td, **/*.properties,
        **/*.policy, **/*.config, **/*.logging, **/*.prop" />

    <target name="clean" depends="clean-build, clean-lib, clean-trust, clean-doc"
            description="Clean up build">
        <delete dir="${jtreg.dir}/JTwork"/>
        <delete dir="${jtreg.dir}/JTreport"/>
    </target>

    <target name="clean-build">
        <delete dir="${build.dir}" />
    </target>

    <target name="clean-lib">
        <delete dir="${lib.dir}" />
        <delete dir="${lib-ext.dir}" />
    </target>

    <target name="clean-doc">
        <delete dir="${doc.api.dir}" />
    </target>

    <target name="clean-trust">
        <delete>
            <fileset dir="${trust.dir}">
                <include name="*.cert" />
                <include name="*.password" />
                <include name="*.keystore" />
                <include name="truststore" />
            </fileset>
        </delete>
    </target>

    <target name="prep" description="Prepare the build">
        <mkdir dir="${build.dir}" />
        <mkdir dir="${build.classes.dir}" />
        <mkdir dir="${build.deps.dir}" />
        <mkdir dir="${lib.dir}" />
        <mkdir dir="${lib-ext.dir}" />
    </target>

    <target name="copy-resources" depends="prep">
        <copy todir="${build.classes.dir}">
            <fileset dir="${src.dir}" includes="${resources}" />
        </copy>
    </target>

    <target name="compile" depends="copy-resources" description="Build classes">
        <javac-cmd source.dir="${src.dir}" dest.dir="${build.classes.dir}">
            <classpath refid="river.jars"/>
        </javac-cmd>
    </target>

    <target name="build" depends="jars,doc" />

    <target name="jtreg" depends="" description="Run jtreg tests">
        <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
                classpath="${jtreg.home}/lib/jtreg.jar" />
        <echo file="${jtreg.dir}/test.props" message="jsk.home=${river.home}"/>
        <!--Change the httpd port number here-->
        <!--<echo file="${jtreg.dir}/test.props" message="jsk.port=8081" append="true"/>-->
        <!--Code Coverage Options-->
        <!--<echo file="${jtreg.dir}/test.props" message="jcov.options=" append="true"/>-->
        <mkdir dir="${jtreg.dir}/JTlib-tmp" />
        <move todir="${jtreg.dir}/JTlib-tmp">
            <filelist dir="${river.lib.dir}">
                <file name="jsk-lib.jar"/>
                <file name="jsk-platform.jar"/>
                <file name="jsk-resources.jar"/>
                <file name="phoenix-init.jar"/>
            </filelist>
        </move>
        <move file="${river.lib-ext.dir}/jsk-policy.jar" todir="${jtreg.dir}/JTlib-tmp"/>
        <move file="${river.lib-ext.dir}/concurrent-policy-util.jar" todir="${jtreg.dir}/JTlib-tmp"/>
        <jtreg  dir="${jtreg.dir}" verbose="all,nopass" failonerror="false"
                errorproperty="jtreg.fail" failureproperty="jtreg.fail"
                reportdir="${jtreg.dir}/JTreport" workdir="${jtreg.dir}/JTwork"
                jdk="${jdk1.5.home}">
            <arg value="-cpa:${jtlib.tmp}/jsk-policy.jar:${jtlib.tmp}/jsk-lib.jar:${jtlib.tmp}/jsk-platform.jar:${jtlib.tmp}/jsk-resources.jar:${jtlib.tmp}/phoenix-init.jar"/>
            <arg value="-timeout:2"/>
            <!--<arg value="-Djsk.home=${river.home}"/>-->
            <arg value="-Djtlib.tmp=${jtlib.tmp}"/>
            <!--<arg value="-status:fail"/>-->
            <!--<arg value="-Djava.security.debug=access,failure"/>-->
            <arg value="-Djavatest.maxOutputSize=500000"/>
            <!--<arg value="-Bug:6307813"/>-->
            <!--<arg value="net/jini/security/policy/DynamicPolicyProvider/dynamicBasePolicy/Test.java"/>-->
            <!--<arg value="net/jini/security/GrantPermission/implies/Test.java" />-->
        </jtreg>
        <move todir="${river.lib.dir}">
            <filelist dir="${jtreg.dir}/JTlib-tmp">
                <file name="jsk-lib.jar"/>
                <file name="jsk-platform.jar"/>
                <file name="jsk-resources.jar"/>
                <file name="phoenix-init.jar"/>
            </filelist>
        </move>
        <move file="${jtreg.dir}/JTlib-tmp/jsk-policy.jar" todir="${river.lib-ext.dir}"/>
        <move file="${jtreg.dir}/JTlib-tmp/concurrent-policy-util.jar" todir="${river.lib-ext.dir}"/>
        <delete dir="${jtreg.dir}/JTlib-tmp"/>
        <delete file="${jtreg.dir}/test.props"/>
        <fail if="jtreg.fail"/>
    </target>

    <!-- Run this in case the jtreg target got cancelled somehow before moving the JARs back -->
    <target name="jtreg-teardown" depends="" description="Move back JARs">
        <move todir="${river.lib.dir}">
            <filelist dir="${jtreg.dir}/JTlib-tmp">
                <file name="jsk-lib.jar"/>
                <file name="jsk-platform.jar"/>
                <file name="jsk-resources.jar"/>
                <file name="phoenix-init.jar"/>
            </filelist>
        </move>
        <move file="${jtreg.dir}/JTlib-tmp/jsk-policy.jar" todir="${river.lib-ext.dir}"/>
        <move file="${jtreg.dir}/JTlib-tmp/concurrent-policy-util.jar" todir="${river.lib-ext.dir}"/>
        <delete dir="${jtreg.dir}/JTlib-tmp"/>
        <delete file="${jtreg.dir}/test.props"/>
    </target>

    <macrodef name="testrun">
        <element name="tr-elements" optional="true" implicit="true"/>
        <sequential>
            <java classname="com.sun.jini.qa.harness.QARunner" fork="yes" failOnError="true">
                <!--Note these arguments only apply to the qa harness, they aren't
                propagated to client test jvm's to do that you must set the
                global or client vm args in the file:
                src/com/sun/jini/resources/qaDefaults.properties-->
                <!-- JDK extension directories (include our lib-ext dirs, for the custom policy providers) -->
                <!--<jvmarg value="-Xbootclasspath/a:${river-ext.lib-dir}"/>-->
                <jvmarg value="-Djava.ext.dirs=${ext.dirs}" />
                <!--Use the following security manager if you need to discover which jar
                file requires a particular permission, note this only works for the harness here -->
                <!--<jvmarg value="-Djava.security.manager=com.sun.jini.tool.ProfilingSecurityManager"/>-->
                <!--<jvmarg value="-Dpolicy.provider=net.jini.security.policy.DynamicPolicyProvider"/>-->
                <!--Enable the following if you don't want to use any other policy's note == -->
                <!--<jvmarg value="-Djava.security.policy==${security.policy}" />-->
                <jvmarg value="-Djava.security.policy=${security.policy}" />
                <!--<jvmarg value="-Djava.security.debug=access" />-->
                <jvmarg value="-Djava.util.logging.config.file=${log.config}" />
                <jvmarg value="-Dcom.sun.jini.jsk.home=${river.home}" />
                <jvmarg value="-Dcom.sun.jini.qa.home=${basedir}" />
                <!--We have a problem with path to properties and the src directory
                it appears that the src directory was added later, however links
                to property files aren't reflective of this and conflict with 
                the path to those property files in jar archives needs looking into
                this is now solved by setting the -->
                <jvmarg value="-Dcom.sun.jini.test.home=${basedir}" />
                <!--<jvmarg value="-DsearchPath=${basedir}/src,${basedir},${searchPath}"/>-->
                <jvmarg value="-Dcom.sun.jini.qa.harness.harnessJar=${basedir}/lib/jiniharness.jar"/>
                <jvmarg value="-Dcom.sun.jini.qa.harness.configs=${harness.configs}" />
                <!-- VM args for each test run: include our JDK extension directories
                $${com.sun.jini.qa.harness.globalvmargs},-Dcom.sun.jini.test.home=$${com.sun.jini.test.home},-Dcom.sun.jini.test.port=$${com.sun.jini.test.port},-Dcom.sun.jini.qa.harness.policies=&lt;url: com/sun/jini/test/resources/jinitest.policy&gt;-Djava.security.debug=access-->
                <!--<jvmarg value="-Dcom.sun.jini.qa.harness.globalvmargs=$${com.sun.jini.qa.harness.globalvmargs},-Djava.ext.dirs=${ext.dirs},-Djava.security.debug=access"/>-->
                <jvmarg value="-Dcom.sun.jini.qa.harness.globalvmargs=$${com.sun.jini.qa.harness.globalvmargs},-Djava.ext.dirs=${ext.dirs}"/>
                <arg path="${src.dir}/com/sun/jini/test/resources/qaHarness.prop" />
                <arg value="-testJar"/>
                <arg path="${lib.dir}/jinitests.jar" />
                <!-- Run harness in transient or activatable mode -->
                <arg value="-com.sun.jini.qa.harness.serviceMode"/>
                <arg value="${harness.servicemode}" />
                <tr-elements/>
                <classpath>
                    <fileset dir="${lib.dir}">
                        <include name="jiniharness.jar"/>
                    </fileset>
                    <fileset dir="${river.lib.dir}">
                        <include name="jsk-platform.jar"/>
                        <include name="jsk-lib.jar"/>
                    </fileset>
                </classpath>
            </java>
        </sequential>
    </macrodef>

    <target name="run-tests" depends="" description="Execute specific QA test(s)">
        <!--<property name="run.tests" value="com/sun/jini/test/impl/discoverymanager/RemoveGroupsLocsDiscard.td"/>-->
        <!--<property name="run.tests" value="com/sun/jini/test/impl/locatordiscovery/DelayDiscoveryAfterDiscard.td,com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/SecurityExceptionConstructorNoGetProperty.td,com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/SecurityExceptionConstructorNoAccessClass.td,com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/SecurityExceptionConstructorNoAccessClass.td,com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/SecurityExceptionConstructorNoGetProperty.td"/>-->
        <!--<property name="run.tests" value="com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.td"/>-->
        <!--<property name="run.tests" value="com/sun/jini/test/spec/policyprovider/policyFileProvider/NullPolicy.td"/>*pass*-->
        <!--<property name="run.tests" value="com/sun/jini/test/spec/joinmanager/GetDiscoveryManager.td"/>-->
        <!--<property name="run.tests" value="com/sun/jini/test/spec/joinmanager/TerminateDiscovery.td"/>-->
        <!--<property name="run.tests" value="com/sun/jini/test/impl/joinmanager/ZRegisterStorm.td"/>*pass*-->
        <!--<property name="run.tests" value="com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE.td"/>-->
        <!--<property name="run.tests" value="com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/GrantPrincipalSame.td"/>-->
        <property name="run.tests" value="com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/GrantPrincipal.td"/>
        <!--<property name="run.tests" value="com/sun/jini/test/spec/policyprovider/dynamicPolicyProvider/GrantNoPrincipalCase02.td"/>*fails*-->
        <!--<property name="run.tests" value=""/>-->
        <!--<property name="run.tests" value=""/>-->
        <!--<property name="run.tests" value=""/>-->
        <!--<property name="run.tests" value=""/>-->
        <!--<property name="run.tests" value=""/>-->
        <!--<property name="run.tests" value=""/>-->
        <!--<property name="run.tests" value=""/>-->
        <testrun>
            <!-- Run specific test(s) -->
            <arg value="-tests"/>
            <arg value="${run.tests}" />
        </testrun>
    </target>

    <target name="run-categories" depends="" description="Execute QA test categories">
        <!-- categories can be found under packages com.sun.jini.test.impl and com.sun.jini.test.spec, some of them: -->
        <!--<property name="test.categories" value="id,loader,policyprovider,locatordiscovery,activation,
        config,constraint,discoverymanager,discoveryservice,joinmanager,url,
        eventmailbox,jeri,iiop,jrmp,reliability,scalability,thread,renewalservice"/>-->
        <property name="run.categories" value="policyprovider"/>
        <testrun>
             <!-- Run one or more test categories -->
            <arg value="-categories"/>
            <arg value="${run.categories}" />
        </testrun>
    </target>

    <target name="doc" depends="compile"
		description="Generate javadoc documentation">
        <delete dir="${doc.api.dir}" quiet="true"/>
        <mkdir  dir="${doc.api.dir}"/>

        <!-- TODO: find out why this takes so much memory on Windows -->
        <javadoc author="true"
			 breakiterator="yes"
			 destdir="${doc.api.dir}"
			 doctitle="${javadoc.doc-title}"
			 serialwarn="false"
			 source="5"
             linkoffline="${jdk.doc.url} ${jdk.packages}"
			 use="true"
			 version="true"
			 windowtitle="${javadoc.win-title}"
             maxmemory="96M">
            <bottom><![CDATA[${api.copyright}]]></bottom>
            <classpath refid="javadoc.classpath"/>
            <sourcepath>
                <pathelement path="${src.dir}"/>
            </sourcepath>
            <package name="com.sun.jini.qa.*"/>
            <package name="com.sun.jini.test.*"/>
            <package name="com.sun.jini.tool.*"/>
        </javadoc>

        <mkdir dir="${doc.api.dir}/doc-files"/>
        <copy file="${root}/NOTICE" tofile="${doc.api.dir}/doc-files/NOTICE"/>
    </target>

    <target name="jars" depends="stubs, trust,
        harness-killer.jar,
        harness-killer-dl.jar,
        nonactivatablegroup.jar,
        nonactivatablegroup-dl.jar,
        mergedpolicyprovider.jar,
        qa1-end2end.jar,
        qa1-fiddler-dl.jar,
        qa1-joinmanager-dl.jar,
        qa1-mahalo-dl.jar,
        qa1-mercury.jar,
        qa1-mercury-dl.jar,
        qa1-mercury-bogusimpl.jar,
        qa1-wrapper.jar,
        qa1-norm-dl.jar,
        qa1-outrigger-dl.jar,
        qa1-multihomedmetainf.jar,
        jinitests.jar,
        qa1-mainwrapper.jar,
        jiniharness.jar,
        qaman.jar,
        qa1-start-cb1.jar,
        qa1-start-cb2.jar,
        qa1-start-cb3.jar,
        qa1-start-probe.jar,
        qa1-start-probe-dl.jar,
        qa1-start-tests.jar,
        qa1-start-testservice1.jar,
        qa1-start-testservice1-dl.jar,
        qa1-start-testservice2.jar,
        qa1-start-testservice2-dl.jar,
        qa1-start-testservice-common.jar,
        qa1-start-testservice-common-dl.jar,
        qa1-start-testservicenocons.jar,
        qa1-start-testservicenocons-dl.jar,
        qa1-lookup-simulator.jar,
        qa1-lookup-simulator-dl.jar,
        qa1-share-dl.jar,
        qa1-reggie-race.jar,
        qa1-reggie-race-dl.jar,
        fullloggingfilter.jar,
        qa1-discoveryservice-dl.jar,
        qa1-export-servercontext-tests-non-null.jar,
        qa1-export-servercontext-tests-null.jar,
        qa1-export-servercontext-tests-providers-parsing.jar,
        qa1-io-util-dl.jar,
        qa1-io-marshalinputstream-test.jar,
        qa1-io-marshalledinstance-test.jar,
        qa1-javaspace-dl.jar,
        qa1-lookupservice-dl.jar,
        qa1-renewalservice-dl.jar,
        qa1-securityDoPrivileged.jar,
        qa1-securityUtil.jar,
        qa1-servicediscovery-dl.jar,
        qa1-httpmd.jar,
        qa1-httpmd-same.jar,
        qa1-httpmd-another.jar,
        ld.jar,
        qa1-loader-pref.jar,
        qa1-policy-provider.jar"
        description="Generate all JAR files"/>

    <target name="stubs" depends="compile,
        harness-killer.stubs,
        nonactivatablegroup.stubs,
        qa1-fiddler.stubs,
        qa1-joinmanager.stubs,
        qa1-mercury.stubs,
        qa1-norm.stubs,
        qa1-outrigger.stubs,
        qa1-start.stubs,
        qa1-lookup-simulator.stubs,
        qa1-share.stubs,
        qa1-discoveryservice.stubs,
        qa1-javaspace.stubs,
        qa1-lookupservice.stubs,
        qa1-renewalservice.stubs,
        jrmp.stubs,
        iiop.stubs"
        description="Compile stubs"/>

    <target name="harness-killer.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/qa/harness/KillerImpl.class" />
        </rmic>
    </target>

    <target name="harness-killer.jar" depends="harness-killer.stubs">
        <property name="harness-killer.deps" location="${build.deps.dir}/harness-killer.deps" />
        <delete file="${lib.dir}/harness-killer.jar" quiet="true"/>
        <classdep output="${harness-killer.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg value="com.sun.jini.qa.harness.KillerImpl"/>
            <arg value="com.sun.jini.qa.harness.KillerImpl_Stub"/>
        </classdep>
        <jar destfile="${lib.dir}/harness-killer.jar" index="false">
            <fileset dir="${river.classes.dir}" includesfile="${harness-killer.deps}" />
            <fileset dir="${build.classes.dir}" includesfile="${harness-killer.deps}" />
        </jar>
    </target>

    <target name="harness-killer-dl.jar" depends="harness-killer.stubs">
        <property name="harness-killer-dl.deps" location="${build.deps.dir}/harness-killer-dl.deps" />
        <delete file="${lib.dir}/harness-killer-dl.jar" quiet="true"/>
        <classdep output="${harness-killer-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
             <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg value="com.sun.jini.qa.harness.VMKiller"/>
            <arg value="com.sun.jini.qa.harness.KillerImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/harness-killer-dl.jar" index="false">
            <fileset dir="${river.classes.dir}"  includesfile="${harness-killer-dl.deps}" />
            <fileset dir="${build.classes.dir}"  includesfile="${harness-killer-dl.deps}" />
        </jar>
    </target>

    <target name="nonactivatablegroup.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/qa/harness/NonActivatableGroupImpl$$GroupImpl.class" />
        </rmic>
    </target>

    <target name="nonactivatablegroup.jar" depends="nonactivatablegroup.stubs">
        <property name="nonactivatablegroup.deps" location="${build.deps.dir}/nonactivatablegroup.deps" />
        <delete file="${lib.dir}/nonactivatablegroup.jar" quiet="true"/>
        <classdep output="${nonactivatablegroup.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="-out com.sun.jini.start"	/>
            <arg value="com.sun.jini.qa.harness.NonActivatableGroupImpl"/>
            <arg value="com.sun.jini.qa.harness.NonActivatableGroupImpl$$GroupImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/nonactivatablegroup.jar" index="false">
            <fileset dir="${river.classes.dir}"  includesfile="${nonactivatablegroup.deps}" />
            <fileset dir="${build.classes.dir}"  includesfile="${nonactivatablegroup.deps}" />
        </jar>
    </target>

    <target name="nonactivatablegroup-dl.jar" depends="nonactivatablegroup.stubs">
        <property name="nonactivatablegroup-dl.deps" location="${build.deps.dir}/nonactivatablegroup-dl.deps" />
        <delete file="${lib.dir}/nonactivatablegroup-dl.jar" quiet="true"/>
        <classdep output="${nonactivatablegroup-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg value="com.sun.jini.qa.harness.NonActivatableGroupImpl$$GroupImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/nonactivatablegroup-dl.jar" index="false">
            <fileset dir="${river.classes.dir}"  includesfile="${nonactivatablegroup-dl.deps}" />
            <fileset dir="${build.classes.dir}"  includesfile="${nonactivatablegroup-dl.deps}" />
        </jar>
    </target>

    <target name="mergedpolicyprovider.jar" depends="compile">
        <property name="mergedpolicyprovider.deps" location="${build.deps.dir}/mergedpolicyprovider.deps" />
        <delete file="${lib.dir}/mergedpolicyprovider-dl.jar" quiet="true"/>
        <classdep output="${mergedpolicyprovider.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.qa"/>
            <arg value="com.sun.jini.qa.harness.MergedPolicyProvider"/>

        </classdep>
        <jar destfile="${lib-ext.dir}/mergedpolicyprovider.jar" index="false" >
            <fileset dir="${river.classes.dir}" includesfile="${mergedpolicyprovider.deps}"/>
            <fileset dir="${build.classes.dir}" includesfile="${mergedpolicyprovider.deps}"/>
        </jar>
    </target>

    <target name="qa1-end2end.jar" depends="compile">
        <delete file="${lib.dir}/qa1-end2end.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-end2end.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/end2end/e2etest/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-wrapper.jar" depends="compile">
        <delete file="${lib.dir}/qa1-wrapper.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-wrapper.jar" index="false">
            <metainf dir="${src.dir}/com/sun/jini/test/impl/end2end/META-INF/">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/end2end/jssewrapper/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-fiddler.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/share/DiscoveryServiceUtil$$BasicEventListener.class" />
            <include name="com/sun/jini/test/spec/discoveryservice/AbstractBaseTest$$LDSEventListener.class" />
        </rmic>
    </target>

    <target name="qa1-fiddler-dl.jar" depends="qa1-fiddler.stubs">
        <property name="qa1-fiddler-dl.deps" location="${build.deps.dir}/qa1-fiddler-dl.deps" />
        <delete file="${lib.dir}/qa1-fiddler-dl.jar" quiet="true"/>
        <classdep output="${qa1-fiddler-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.share.AttributesUtil$$TestAttr00"/>
            <arg value="com.sun.jini.test.share.AttributesUtil$$TestAttrSC00"/>
            <arg value="com.sun.jini.test.share.DiscoveryServiceUtil$$BasicEventListener_Stub"/>
            <arg value="com.sun.jini.test.spec.discoveryservice.AbstractBaseTest$$LDSEventListener_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-fiddler-dl.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-fiddler-dl.deps}" />
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-joinmanager.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/impl/joinmanager/LeaseRenewDurRFE$$RemoteTestServiceImpl.class" />
        </rmic>
    </target>

    <target name="qa1-joinmanager-dl.jar" depends="qa1-joinmanager.stubs">
        <property name="qa1-joinmanager-dl.deps" location="${build.deps.dir}/qa1-joinmanager-dl.deps" />
        <delete file="${lib.dir}/qa1-joinmanager-dl.jar" quiet="true"/>
        <classdep output="${qa1-joinmanager-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.spec.joinmanager.AbstractBaseTest$$TestService"/>
            <arg value="com.sun.jini.test.impl.joinmanager.LeaseRenewDurRFE$$TestServiceProxy$$ConstrainableTestServiceProxy"/>
            <arg value="com.sun.jini.test.share.AttributesUtil$$TestAttr00"/>
            <arg value="com.sun.jini.test.share.AttributesUtil$$TestAttrSC00"/>
            <arg value="com.sun.jini.test.impl.joinmanager.LeaseRenewDurRFE$$RemoteTestServiceImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-joinmanager-dl.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-joinmanager-dl.deps}" />
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-mahalo-dl.jar" depends="compile">
        <delete file="${lib.dir}/qa1-mahalo-dl.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-mahalo-dl.jar" index="false" >
            <fileset dir="${river.classes.dir}">
                <include name="net/jini/lookup/entry/Name.class"/>
            </fileset>
        </jar>
    </target>

    <target name="qa1-mercury.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/impl/mercury/TestListenerImpl.class" />
            <include name="com/sun/jini/test/impl/mercury/TestPullListenerImpl.class" />
            <include name="com/sun/jini/test/impl/mercury/TestGeneratorImpl.class" />
            <include name="com/sun/jini/test/impl/mercury/DisableListenerImpl.class" />
            <include name="com/sun/jini/test/impl/mercury/DisableNSOListenerImpl.class" />
        </rmic>
    </target>

    <target name="qa1-mercury.jar" depends="qa1-mercury.stubs">
        <property name="qa1-mercury.deps" location="${build.deps.dir}/qa1-mercury.deps" />
        <delete file="${lib.dir}/qa1-mercury.jar" quiet="true"/>
        <classdep output="${qa1-mercury.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.impl.mercury.NSOListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.REListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.UEListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableNSOListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableNSOListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.TestListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestPullListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.TestPullListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestGeneratorImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.TestGeneratorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-mercury.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-mercury.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${qa1-mercury.deps}" />
        </jar>
        <classdep output="${qa1-mercury.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg value="com.sun.jini.test.impl.mercury.NSOListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.REListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.UEListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableNSOListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableNSOListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.TestListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestPullListenerImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.TestPullListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestGeneratorImpl"/>
            <arg value="com.sun.jini.test.impl.mercury.TestGeneratorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-mercury.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-mercury.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${qa1-mercury.deps}" />
        </jar>
    </target>

    <target name="qa1-mercury-dl.jar" depends="qa1-mercury.stubs">
        <property name="qa1-mercury-dl.deps" location="${build.deps.dir}/qa1-mercury-dl.deps" />
        <delete file="${lib.dir}/qa1-mercury-dl.jar" quiet="true"/>
        <classdep output="${qa1-mercury-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableNSOListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestPullListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestGeneratorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-mercury-dl.jar" index="false">
            <metainf dir="${src.dir}/manifest/mercury-dl/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}" includesfile="${qa1-mercury-dl.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${qa1-mercury-dl.deps}" />
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/mercury/MyUnknownEventException.class"/>
            </fileset>
            <fileset dir="${river.classes.dir}">
                <include name="net/jini/lookup/entry/Name.class"/>
            </fileset>
        </jar>
        <classdep output="${qa1-mercury-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg value="com.sun.jini.landlord.LandlordProxyVerifier"/>
            <arg value="com.sun.jini.proxy.BasicProxyTrustVerifier"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.DisableNSOListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestPullListenerImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.mercury.TestGeneratorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-mercury-dl.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-mercury-dl.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${qa1-mercury-dl.deps}" />
        </jar>
    </target>

    <target name="qa1-mercury-bogusimpl.jar" depends="compile">
        <property name="qa1-mercury-bogusimpl.deps" location="${build.deps.dir}/qa1-mercury-bogusimpl.deps" />
        <delete file="${lib.dir}/qa1-mercury-bogusimpl.jar" quiet="true"/>
        <classdep output="${qa1-mercury-bogusimpl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.impl.mercury.DelayedBasicJeriExporter"/>
            <arg value="com.sun.jini.test.impl.mercury.MyLocalRemoteEvent"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-mercury-bogusimpl.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-mercury-bogusimpl.deps}" />
        </jar>
    </target>

    <target name="qa1-norm.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/impl/norm/LeaseBackEndImpl.class" />
            <include name="com/sun/jini/test/impl/norm/RemoteListener.class" />
        </rmic>
    </target>

    <target name="qa1-norm-dl.jar" depends="qa1-norm.stubs">
        <property name="qa1-norm-dl.deps" location="${build.deps.dir}/qa1-norm-dl.deps" />
        <delete file="${lib.dir}/qa1-norm-dl.jar" quiet="true"/>
        <classdep output="${qa1-norm-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.impl.norm.LocalLease"/>
            <arg value="com.sun.jini.test.impl.norm.ConstrainableLocalLease"/>
            <arg value="com.sun.jini.test.impl.norm.DestructingLocalLease"/>
            <arg value="com.sun.jini.test.impl.norm.ConstrainableDestructingLocalLease"/>
            <arg value="com.sun.jini.test.impl.norm.FailingLocalLease"/>
            <arg value="com.sun.jini.test.impl.norm.ConstrainableFailingLocalLease"/>
            <arg value="com.sun.jini.test.impl.norm.TestLease"/>
            <arg value="com.sun.jini.test.impl.norm.ConstrainableTestLease"/>
            <arg value="com.sun.jini.test.share.AttrOne"/>
            <arg value="com.sun.jini.test.share.SunOfAttrOne"/>
            <arg value="com.sun.jini.test.share.AttrTwo"/>
            <arg value="com.sun.jini.test.impl.norm.LeaseBackEndImpl$$VerifierImpl"/>
            <arg value="com.sun.jini.test.impl.norm.LocalLease$$VerifierImpl"/>
            <arg value="com.sun.jini.test.impl.norm.LeaseBackEndImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.norm.RemoteListener_Stub"/>
            <arg value="com.sun.jini.test.impl.norm.TestLease"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-norm-dl.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-norm-dl.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${qa1-norm-dl.deps}" />
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-outrigger.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/impl/outrigger/transaction/SimpleEventListener.class" />
            <include name="com/sun/jini/test/impl/outrigger/matching/ARemoteInterfaceImpl.class" />
            <include name="com/sun/jini/test/impl/outrigger/matching/MonitoredSpaceListener.class" />
            <include name="com/sun/jini/test/impl/outrigger/matching/TestSpaceListener.class" />
            <include name="com/sun/jini/test/impl/outrigger/notify/ThrowRuntimeException$$Listener.class" />
            <include name="com/sun/jini/test/impl/outrigger/leasing/LeasedSpaceListener.class" />
        </rmic>
    </target>

    <target name="qa1-outrigger-dl.jar" depends="qa1-outrigger.stubs">
        <property name="qa1-outrigger-dl.deps" location="${build.deps.dir}/qa1-outrigger-dl.deps" />
        <delete file="${lib.dir}/qa1-outrigger-dl.jar" quiet="true"/>
        <classdep output="${qa1-outrigger-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg value="com.sun.jini.test.impl.outrigger.transaction.SimpleEventListener"/>
            <arg value="com.sun.jini.test.impl.outrigger.matching.ARemoteInterfaceImpl"/>
            <arg value="com.sun.jini.test.impl.outrigger.matching.MonitoredSpaceListener"/>
            <arg value="com.sun.jini.test.impl.outrigger.matching.TestSpaceListener"/>
            <arg value="com.sun.jini.test.impl.outrigger.notify.ThrowRuntimeException$$Listener"/>
            <arg value="com.sun.jini.test.impl.outrigger.leasing.LeasedSpaceListener"/>
            <arg value="com.sun.jini.test.impl.outrigger.transaction.SimpleEventListener_Stub"/>
            <arg value="com.sun.jini.test.impl.outrigger.matching.ARemoteInterfaceImpl_Stub"/>
            <arg value="com.sun.jini.test.impl.outrigger.matching.MonitoredSpaceListener_Stub"/>
            <arg value="com.sun.jini.test.impl.outrigger.matching.TestSpaceListener_Stub"/>
            <arg value="com.sun.jini.test.impl.outrigger.notify.ThrowRuntimeException$$Listener_Stub"/>
            <arg value="com.sun.jini.test.impl.outrigger.leasing.LeasedSpaceListener_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-outrigger-dl.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-outrigger-dl.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${qa1-outrigger-dl.deps}" />
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-multihomedmetainf.jar" depends="compile">
        <delete file="${lib.dir}/qa1-multihomedmetainf.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-multihomedmetainf.jar" index="false" >
            <metainf dir="${src.dir}/com/sun/jini/test/impl/reggie/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/reggie/**/*"/>
            </fileset>
        </jar>
    </target>

    <target name="jinitests.jar" depends="stubs">
        <property name="jinitests.deps" location="${build.deps.dir}/jinitests.deps" />
        <delete file="${lib.dir}/jinitests.jar" quiet="true"/>
        <classdep output="${jinitests.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="-in com.sun.jini.fiddler"/>
            <arg line="${jskprivate.include}" />
            <arg path="${build.classes.dir}/com/sun/jini/test/impl"/>

        </classdep>
        <jar destfile="${lib.dir}/jinitests.jar" index="false" >
            <metainf dir="${src.dir}/manifest/qa1/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}" includesfile="${jinitests.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${jinitests.deps}" />
            <fileset dir="${build.classes.dir}" includes="${resources}"
                excludes="com/sun/jini/qa*, com/sun/jini/tool*" />
        </jar>
        <classdep output="${jinitests.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="-in com.sun.jini.fiddler"/>
            <arg line="${jskprivate.include}" />
            <arg path="${build.classes.dir}/com/sun/jini/test/spec"/>

        </classdep>
        <jar destfile="${lib.dir}/jinitests.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${jinitests.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${jinitests.deps}" />
        </jar>
        <classdep output="${jinitests.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="-in com.sun.jini.fiddler"/>
            <arg line="${jskprivate.include}" />
            <arg path="${build.classes.dir}/com/sun/jini/test/share"/>
            <arg path="${build.classes.dir}/com/sun/jini/test/support"/>
            <arg path="${build.classes.dir}/com/sun/jini/test/services/lookupsimulator/LookupSimulatorProxyInterface.class"/>
            <arg path="${build.classes.dir}/com/sun/jini/fiddler/FiddlerAdmin.class"/>
            <arg path="${build.classes.dir}/com/sun/jini/fiddler/JavaSpaceAdmin.class"/>

        </classdep>
        <jar destfile="${lib.dir}/jinitests.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${jinitests.deps}" />
            <fileset dir="${river.classes.dir}" includesfile="${jinitests.deps}" />
            <fileset dir="${river.src.dir}">
                <include name="com/sun/jini/start/resources/**/*" />
                <exclude name="com/sun/jini/start/resources/**/*.svn" />
            </fileset>
            <fileset dir="${src.dir}">
                <include name="interopExclusionList.txt" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-mainwrapper.jar" depends="compile">
        <property name="qa1-mainwrapper.deps" location="${build.deps.dir}/qa1-mainwrapper.deps" />
        <delete file="${lib.dir}/qa1-mainwrapper.jar" quiet="true"/>
        <classdep output="${qa1-mainwrapper.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="com.sun.jini.qa.harness.MainWrapper"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-mainwrapper.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${qa1-mainwrapper.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-mainwrapper.deps}"/>
        </jar>
    </target>

    <target name="jiniharness.jar" depends="compile">
        <property name="jiniharness.deps" location="${build.deps.dir}/jiniharness.deps" />
        <delete file="${lib.dir}/jiniharness.jar" quiet="true"/>
        <classdep output="${jiniharness.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg path="${build.classes.dir}/com/sun/jini/qa/harness"/>
            <arg line="${jskprivate.include}" />
            <arg line="-in com.sun.jini.start"/>
            <arg line="-in com.sun.jini.qa"/>
            <arg line="-in com.sun.jini.tool"/>
            <arg line="com.sun.jini.start.DestroySharedGroup"/>

        </classdep>
        <jar destfile="${lib.dir}/jiniharness.jar" index="false" >
            <fileset dir="${build.classes.dir}" includesfile="${jiniharness.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${jiniharness.deps}"/>
            <fileset dir="${basedir}">
                <include name="harness/**" />
            </fileset>
            <fileset dir="${src.dir}">
                <include name="com/sun/jini/qa/resources/**/*" />
            </fileset>
        </jar>
    </target>

    <!-- TODO: find out where this is used for -->
    <target name="qaman.jar" depends="compile">
        <property name="qaman.deps" location="${build.deps.dir}/qaman.deps" />
        <delete file="${lib.dir}/qaman.jar" quiet="true"/>
        <classdep output="${qaman.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-show com.sun.jini.test"/>
            <arg line="-show com.sun.jini.qa"/>
            <arg line="-show com.sun.jini.qaman"/>
            <arg line="com.sun.jini.qa.harness.QARunner"/>

        </classdep>
        <jar destfile="${lib.dir}/qaman.jar" index="false" manifest="${src.dir}/manifest/qa1.mf">
            <fileset dir="${build.classes.dir}" includesfile="${qaman.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qaman.deps}"/>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/qaman/**/*" />
            </fileset>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/start/resources/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/impl/start/ProbeImpl.class" />
            <include name="com/sun/jini/test/impl/start/BadServiceProxyAccessorImpl.class" />
            <include name="com/sun/jini/test/impl/start/TestServiceImpl.class" />
        </rmic>
    </target>

    <target name="qa1-start-probe-dl.jar" depends="qa1-start.stubs">
        <property name="qa1-start-probe-dl.deps" location="${build.deps.dir}/qa1-start-probe-dl.deps" />
        <delete file="${lib.dir}/qa1-start-probe-dl.jar" quiet="true"/>
        <classdep output="${qa1-start-probe-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="com.sun.jini.test.impl.start.ProbeImpl"/>
            <arg line="com.sun.jini.test.impl.start.BadServiceProxyAccessorImpl"/>
            <arg line="com.sun.jini.test.impl.start.ProbeImpl_Stub"/>
            <arg line="com.sun.jini.test.impl.start.BadServiceProxyAccessorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-probe-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-probe-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-probe-dl.deps}"/>
        </jar>
    </target>

    <target name="qa1-start-probe.jar" depends="qa1-start.stubs">
        <property name="qa1-start-probe.deps" location="${build.deps.dir}/qa1-start-probe.deps" />
        <delete file="${lib.dir}/qa1-start-probe.jar" quiet="true"/>
        <classdep output="${qa1-start-probe.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="com.sun.jini.test.impl.start.ProbeImpl"/>
            <arg line="com.sun.jini.test.impl.start.BadServiceProxyAccessorImpl"/>
            <arg line="com.sun.jini.test.impl.start.ProbeImpl_Stub"/>
            <arg line="com.sun.jini.test.impl.start.BadServiceProxyAccessorImpl_Stub"/>
            <arg line="com.sun.jini.test.impl.start.UnsharedProbeImpl"/>
            <arg line="com.sun.jini.test.impl.start.NoStubProbeImpl"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-probe.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-probe.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-probe.deps}"/>
        </jar>
        <classdep output="${qa1-start-probe.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}" />
            <arg line="-hide com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.ProbeImpl"/>
            <arg line="com.sun.jini.test.impl.start.BadServiceProxyAccessorImpl"/>
            <arg line="com.sun.jini.test.impl.start.ProbeImpl_Stub"/>
            <arg line="com.sun.jini.test.impl.start.BadServiceProxyAccessorImpl_Stub"/>
            <arg line="com.sun.jini.test.impl.start.UnsharedProbeImpl"/>
            <arg line="com.sun.jini.test.impl.start.NoStubProbeImpl"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-probe.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-probe.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-probe.deps}"/>
        </jar>
    </target>

    <target name="qa1-start-tests.jar" depends="qa1-start.stubs">
        <property name="qa1-start-tests.deps" location="${build.deps.dir}/qa1-start-tests.deps" />
        <delete file="${lib.dir}/qa1-start-tests.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-tests.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/ClassLoaderTest.class" />
                <include name="com/sun/jini/test/impl/start/ClasspathTest.class" />
                <include name="com/sun/jini/test/impl/start/CodebaseTest.class" />
                <include name="com/sun/jini/test/impl/start/SecurityTest.class" />
                <include name="com/sun/jini/test/impl/start/SecurityTestNonActivatable.class" />
                <include name="com/sun/jini/test/impl/start/loadersplitpolicyprovider/LoaderSplitPolicyProviderTest.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/GetContextTest.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/MainPolicyNotFoundTest.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/NullCasesTest.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/SubPoliciesTest.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/UntrustedGetContextClassLoader.class" />
            </fileset>
        </jar>
        <classdep output="${qa1-start-tests.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-out com.sun.jini.harness"/>
            <arg line="-out com.sun.jini.qa.harness"/>
            <arg line="com.sun.jini.test.impl.start.ClassLoaderTest"/>
            <arg line="com.sun.jini.test.impl.start.ClasspathTest"/>
            <arg line="com.sun.jini.test.impl.start.CodebaseTest"/>
            <arg line="com.sun.jini.test.impl.start.SecurityTest"/>
            <arg line="com.sun.jini.test.impl.start.SecurityTestNonActivatable"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-tests.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-tests.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-tests.deps}"/>
        </jar>
    </target>

    <target name="qa1-start-testservice1.jar" depends="qa1-start.stubs">
        <property name="qa1-start-testservice1.deps" location="${build.deps.dir}/qa1-start-testservice1.deps" />
        <delete file="${lib.dir}/qa1-start-testservice1.jar" quiet="true"/>
        <classdep output="${qa1-start-testservice1.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceImpl"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-testservice1.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-testservice1.deps}"/>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/TestServiceImpl_Stub.class" />
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass0.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass1.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass2.class"/>
            </fileset>
        </jar>
        <classdep output="${qa1-start-testservice1.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceImpl"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-testservice1.jar" index="false" update="true">
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-testservice1.deps}"/>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/start/resources/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-testservice1-dl.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-testservice1-dl.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-testservice1-dl.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/TestService.class" />
                <include name="com/sun/jini/test/impl/start/TestServiceImpl_Stub.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass0.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass1.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass2.class"/>
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-testservice2.jar" depends="qa1-start.stubs">
        <property name="qa1-start-testservice2.deps" location="${build.deps.dir}/qa1-start-testservice2.deps" />
        <delete file="${lib.dir}/qa1-start-testservice2.jar" quiet="true"/>
        <classdep output="${qa1-start-testservice2.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceImpl"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-testservice2.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-testservice2.deps}"/>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/TestServiceImpl_Stub.class" />
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass0.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass1.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass3.class"/>
            </fileset>
        </jar>
        <classdep output="${qa1-start-testservice2.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceImpl"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-testservice2.jar" index="false" update="true">
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-testservice2.deps}"/>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/start/resources/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-testservice2-dl.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-testservice2-dl.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-testservice2-dl.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/TestService.class" />
                <include name="com/sun/jini/test/impl/start/TestServiceImpl_Stub.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass0.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass1.class"/>
                <include name="com/sun/jini/test/impl/start/TestServiceDummyClass3.class"/>
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-testservice-common.jar" depends="qa1-start.stubs">
        <property name="qa1-start-testservice-common.deps" location="${build.deps.dir}/qa1-start-testservice-common.deps" />
        <delete file="${lib.dir}/qa1-start-testservice-common.jar" quiet="true"/>
        <classdep output="${qa1-start-testservice-common.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceDummyClass0"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceSharedMap"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-testservice-common.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-testservice-common.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-testservice-common.deps}"/>
        </jar>
    </target>

    <target name="qa1-start-testservice-common-dl.jar" depends="qa1-start.stubs">
        <property name="qa1-start-testservice-common-dl.deps" location="${build.deps.dir}/qa1-start-testservice-common-dl.deps" />
        <delete file="${lib.dir}/qa1-start-testservice-common-dl.jar" quiet="true"/>
        <classdep output="${qa1-start-testservice-common-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.impl.start.TestServiceDummyClass0"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-start-testservice-common-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-start-testservice-common-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-start-testservice-common-dl.deps}"/>
        </jar>
    </target>

    <target name="qa1-start-testservicenocons.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-testservicenocons.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-testservicenocons.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/TestServiceNoConsImpl.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-testservicenocons-dl.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-testservicenocons-dl.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-testservicenocons-dl.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/TestService.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-cb1.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-cb1.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-cb1.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/loadersplitpolicyprovider/Foo.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/GetContext*.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-cb2.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-cb2.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-cb2.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/loadersplitpolicyprovider/Bar.class" />
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/RestoreContext*.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-start-cb3.jar" depends="qa1-start.stubs">
        <delete file="${lib.dir}/qa1-start-cb3.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-start-cb3.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/start/aggregatepolicyprovider/CheckContextAction.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-lookup-simulator.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/services/lookupsimulator/LookupSimulatorImpl.class" />
        </rmic>
    </target>

    <target name="qa1-lookup-simulator.jar" depends="qa1-lookup-simulator.stubs">
        <property name="qa1-lookup-simulator.deps" location="${build.deps.dir}/qa1-lookup-simulator.deps" />
        <delete file="${lib.dir}/qa1-lookup-simulator.jar" quiet="true"/>
        <classdep output="${qa1-lookup-simulator.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-lookup-simulator.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-lookup-simulator.deps}"/>
        </jar>
        <classdep output="${qa1-lookup-simulator.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-lookup-simulator.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-lookup-simulator.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-lookup-simulator.deps}"/>
        </jar>
    </target>

    <target name="qa1-lookup-simulator-dl.jar" depends="qa1-lookup-simulator.stubs">
        <property name="qa1-lookup-simulator-dl.deps" location="${build.deps.dir}/qa1-lookup-simulator-dl.deps" />
        <delete file="${lib.dir}/qa1-lookup-simulator-dl.jar" quiet="true"/>
        <classdep output="${qa1-lookup-simulator-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorProxy"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorConstrainableProxy"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorProxyVerifier"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-lookup-simulator-dl.jar" index="false">
            <metainf dir="${src.dir}/manifest/simulator-dl/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}" includesfile="${qa1-lookup-simulator-dl.deps}"/>
        </jar>
        <classdep output="${qa1-lookup-simulator-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl"/>
            <arg line="com.sun.jini.test.services.lookupsimulator.LookupSimulatorImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-lookup-simulator-dl.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-lookup-simulator-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-lookup-simulator-dl.deps}"/>
        </jar>
    </target>

    <target name="qa1-share.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/share/KillVMUtil$$KillVMObjectImpl.class" />
            <include name="com/sun/jini/test/share/reggie/RegistrarImpl.class" />
            <include name="com/sun/jini/test/share/TesterTransactionManager.class" />
            <include name="com/sun/jini/test/share/LeaseBackEndImpl.class" />
            <include name="com/sun/jini/test/share/TestParticipantImpl.class" />
        </rmic>
    </target>

    <target name="qa1-share-dl.jar" depends="qa1-share.stubs">
        <property name="qa1-share-dl.deps" location="${build.deps.dir}/qa1-share-dl.deps" />
        <delete file="${lib.dir}/qa1-share-dl.jar" quiet="true"/>
        <classdep output="${qa1-share-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarProxy"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarAdminProxy"/>
            <arg line="com.sun.jini.test.share.reggie.EventLease"/>
            <arg line="com.sun.jini.test.share.reggie.Registration"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarEvent"/>
            <arg line="com.sun.jini.test.share.AttrOne"/>
            <arg line="com.sun.jini.test.share.AttrTwo"/>
            <arg line="com.sun.jini.test.share.SunOfAttrOne"/>
            <arg line="com.sun.jini.test.share.TestLease"/>
            <arg line="com.sun.jini.test.share.ConstrainableTestLease"/>
            <arg line="com.sun.jini.test.share.ConstrainableUnreadableTestLease"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManagerProxy"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManagerConstrainableProxy"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManagerProxyVerifier"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl$$VerifierImpl"/>
            <arg line="com.sun.jini.test.share.KillVMUtil$$KillVMObjectImpl_Stub"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManager_Stub"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TestParticipantImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-share-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-share-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-share-dl.deps}"/>
        </jar>
        <classdep output="${qa1-share-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="-hide com.sun.jini.test"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarProxy"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarAdminProxy"/>
            <arg line="com.sun.jini.test.share.reggie.EventLease"/>
            <arg line="com.sun.jini.test.share.reggie.Registration"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarEvent"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManagerProxy"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManagerConstrainableProxy"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManagerProxyVerifier"/>
            <arg line="com.sun.jini.proxy.BasicProxyTrustVerifier"/>
            <arg line="com.sun.jini.test.share.KillVMUtil$$KillVMObjectImpl_Stub"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManager_Stub"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TestParticipantImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-share-dl.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-share-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-share-dl.deps}"/>
        </jar>
    </target>

    <target name="qa1-reggie-race.jar" depends="qa1-share.stubs">
        <property name="qa1-reggie-race.deps" location="${build.deps.dir}/qa1-reggie-race.deps" />
        <delete file="${lib.dir}/qa1-reggie-race.jar" quiet="true"/>
        <classdep output="${qa1-reggie-race.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in net.jini"/>
            <arg line="-in com.sun.jini"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarImpl"/>
            <arg line="com.sun.jini.test.share.reggie.CreateLookup"/>
            <arg line="com.sun.jini.test.share.KillVMUtil$$KillVMObjectImpl_Stub"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManager_Stub"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TestParticipantImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-reggie-race.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-reggie-race.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-reggie-race.deps}"/>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/start/resources/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-reggie-race-dl.jar" depends="qa1-share.stubs">
        <property name="qa1-reggie-race-dl.deps" location="${build.deps.dir}/qa1-reggie-race-dl.deps" />
        <delete file="${lib.dir}/qa1-reggie-race-dl.jar" quiet="true"/>
        <classdep output="${qa1-reggie-race-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in net.jini"/>
            <arg line="-in com.sun.jini"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarProxy"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarAdminProxy"/>
            <arg line="com.sun.jini.test.share.reggie.EventLease"/>
            <arg line="com.sun.jini.test.share.reggie.Registration"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarEvent"/>
            <arg line="net.jini.lookup.entry.Name"/>
            <arg line="net.jini.lookup.entry.ServiceInfo"/>
            <arg line="com.sun.jini.lookup.entry.BasicServiceType"/>
            <arg line="com.sun.jini.reliableLog.LogException"/>
            <arg line="com.sun.jini.test.share.KillVMUtil$$KillVMObjectImpl_Stub"/>
            <arg line="com.sun.jini.test.share.reggie.RegistrarImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TesterTransactionManager_Stub"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl_Stub"/>
            <arg line="com.sun.jini.test.share.TestParticipantImpl_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-reggie-race-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-reggie-race-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-reggie-race-dl.deps}"/>
        </jar>
    </target>

    <target name="fullloggingfilter.jar" depends="compile">
        <property name="fullloggingfilter.deps" location="${build.deps.dir}/fullloggingfilter.deps" />
        <delete file="${lib.dir}/fullloggingfilter.jar" quiet="true"/>
        <classdep output="${fullloggingfilter.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.support.FullLoggingFilter"/>

        </classdep>
        <jar destfile="${lib.dir}/fullloggingfilter.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${fullloggingfilter.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${fullloggingfilter.deps}"/>
        </jar>
    </target>

    <target name="qa1-discoveryservice.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/share/DiscoveryServiceUtil$$BasicEventListener.class" />
            <include name="com/sun/jini/test/spec/discoveryservice/lease/LeaseExpiration$$ServiceEventListener.class" />
            <include name="com/sun/jini/test/spec/discoveryservice/AbstractBaseTest$$LDSEventListener.class"/>
        </rmic>
    </target>

    <target name="qa1-discoveryservice-dl.jar" depends="qa1-discoveryservice.stubs">
        <property name="qa1-discoveryservice-dl.deps" location="${build.deps.dir}/qa1-discoveryservice-dl.deps" />
        <delete file="${lib.dir}/qa1-discoveryservice-dl.jar" quiet="true"/>
        <classdep output="${qa1-discoveryservice-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.share.DiscoveryServiceUtil$$BasicEventListener_Stub"/>
            <arg line="com.sun.jini.test.spec.discoveryservice.lease.LeaseExpiration$$ServiceEventListener_Stub"/>
            <arg line="com.sun.jini.test.spec.discoveryservice.AbstractBaseTest$$LDSEventListener_Stub"/>
            <arg line="com.sun.jini.test.share.AttributesUtil$$TestAttr00"/>
            <arg line="com.sun.jini.test.share.AttributesUtil$$TestAttrSC00"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-discoveryservice-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-discoveryservice-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-discoveryservice-dl.deps}"/>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class"/>
            </fileset>
        </jar>
    </target>

    <target name="qa1-export-servercontext-tests-non-null.jar" depends="compile">
        <delete file="${lib.dir}/qa1-export-servercontext-tests-non-null.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-export-servercontext-tests-non-null.jar" index="false">
            <metainf dir="${src.dir}/manifest/qa1-export-servercontext-tests/non-null-context/META-INF">
                <include name="**/*" />
            </metainf>
        </jar>
    </target>

    <target name="qa1-export-servercontext-tests-null.jar" depends="compile">
        <delete file="${lib.dir}/qa1-export-servercontext-tests-null.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-export-servercontext-tests-null.jar" index="false">
            <metainf dir="${src.dir}/manifest/qa1-export-servercontext-tests/null-context/META-INF">
                <include name="**/*" />
            </metainf>
        </jar>
    </target>

    <target name="qa1-export-servercontext-tests-providers-parsing.jar" depends="compile">
        <delete file="${lib.dir}/qa1-export-servercontext-tests-providers-parsing.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-export-servercontext-tests-providers-parsing.jar" index="false">
            <metainf dir="${src.dir}/manifest/qa1-export-servercontext-tests/providers-parsing/META-INF">
                <include name="**/*" />
            </metainf>
        </jar>
    </target>

    <target name="iiop.stubs" depends="compile">
        <rmic base="${build.classes.dir}" iiop="true" classpathref="river.jars">
            <include name="com/sun/jini/test/spec/iiop/util/TestRemoteObject.class" />
        </rmic>
    </target>

    <target name="qa1-io-util-dl.jar" depends="compile">
        <delete file="${lib.dir}/qa1-io-util-dl.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-io-util-dl.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/io/util/FakeArgument.class" />
                <include name="com/sun/jini/test/spec/io/util/FakeInterface.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-io-marshalinputstream-test.jar" depends="compile">
        <property name="qa1-io-marshalinputstream-test.deps" location="${build.deps.dir}/qa1-io-marshalinputstream-test.deps" />
        <delete file="${lib.dir}/qa1-io-marshalinputstream-test.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-io-marshalinputstream-test.jar" index="false">
            <metainf dir="${src.dir}/manifest/qa1-io-tests/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/io/marshalinputstream/*.class"/>
            </fileset>
        </jar>
        <classdep output="${qa1-io-marshalinputstream-test.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="-out com.sun.jini.test.harness"/>
            <arg line="-out com.sun.jini.test.spec.io.util.FakeArgument"/>
            <arg line="-out com.sun.jini.test.spec.io.util.FakeInterface"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="com.sun.jini.test.spec.io.util.FakeIntegrityVerifier"/>
            <arg path="${build.classes.dir}/com/sun/jini/test/spec/io/marshalinputstream"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-io-marshalinputstream-test.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-io-marshalinputstream-test.deps}"/>
        </jar>
    </target>

    <target name="qa1-io-marshalledinstance-test.jar" depends="compile">
        <property name="qa1-io-marshalledinstance-test.deps" location="${build.deps.dir}/qa1-io-marshalledinstance-test.deps" />
        <delete file="${lib.dir}/qa1-io-marshalledinstance-test.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-io-marshalledinstance-test.jar" index="false">
            <metainf dir="${src.dir}/manifest/qa1-io-tests/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/io/marshalledinstance/*.class"/>
            </fileset>
        </jar>
        <classdep output="${qa1-io-marshalledinstance-test.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="-out com.sun.jini.test.harness"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="com.sun.jini.test.spec.io.util.FakeIntegrityVerifier"/>
            <arg path="${build.classes.dir}/com/sun/jini/test/spec/io/marshalledinstance"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-io-marshalledinstance-test.jar" index="false" update="true">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-io-marshalledinstance-test.deps}"/>
        </jar>
    </target>

    <target name="qa1-javaspace.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/spec/javaspace/conformance/ParticipantImpl.class" />
            <include name="com/sun/jini/test/spec/javaspace/conformance/NotifyCounter.class" />
            <include name="com/sun/jini/test/spec/javaspace/conformance/TestEventListener05.class" />
        </rmic>
    </target>

    <target name="qa1-javaspace-dl.jar" depends="qa1-javaspace.stubs">
        <property name="qa1-javaspace-dl.deps" location="${build.deps.dir}/qa1-javaspace-dl.deps" />
        <delete file="${lib.dir}/qa1-javaspace-dl.jar" quiet="true"/>
        <classdep output="${qa1-javaspace-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.spec.javaspace.conformance.ParticipantImpl_Stub"/>
            <arg line="com.sun.jini.test.spec.javaspace.conformance.NotifyCounter_Stub"/>
            <arg line="com.sun.jini.test.spec.javaspace.conformance.TestEventListener05_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-javaspace-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-javaspace-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-javaspace-dl.deps}"/>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class"/>
            </fileset>
        </jar>
    </target>

    <target name="jrmp.stubs" depends="compile">
        <rmic base="${build.classes.dir}" iiop="true" classpathref="river.jars">
            <include name="com/sun/jini/test/spec/jrmp/util/TestRemoteObject.class" />
        </rmic>
    </target>

    <target name="qa1-lookupservice.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/spec/lookupservice/test_set00/EvntLeaseExpiration$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnAttrAdd$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnAttrMod$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnAttrDel$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set00/NotifyOnSrvcLeaseExpiration$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set00/MultipleEvntLeaseRenewals$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboAttrAddNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboAttrAddNonNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboAttrModNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboAttrModNonNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboAttrDelNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboAttrDelNonNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboSrvcReg$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnComboSrvcLeaseExp$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnEntrySrvcReg$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnEntryAttrAddNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set01/NotifyOnEntryAttrAddNonNull$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/LeaseMapRenew$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/LeaseMapCancel$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/ExpiredEventLeaseRenew$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/ExpiredEventLeaseCancel$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/ExpiredLeaseMapRenew$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/ExpiredLeaseMapCancel$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/NotifyOnAttrSet$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/NotifyOnComboAttrSet$$Listener.class" />
            <include name="com/sun/jini/test/spec/lookupservice/test_set02/NotifyExceptionTest$$Listener.class" />
        </rmic>
    </target>

    <target name="qa1-lookupservice-dl.jar" depends="qa1-lookupservice.stubs">
        <property name="qa1-lookupservice-dl.deps" location="${build.deps.dir}/qa1-lookupservice-dl.deps" />
        <delete file="${lib.dir}/qa1-lookupservice-dl.jar" quiet="true"/>
        <classdep output="${qa1-lookupservice-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test.spec"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set00.EvntLeaseExpiration$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set00.NotifyOnAttrAdd$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set00.NotifyOnAttrMod$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set00.NotifyOnAttrDel$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set00.NotifyOnSrvcLeaseExpiration$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set00.MultipleEvntLeaseRenewals$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboAttrAddNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboAttrAddNonNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboAttrModNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboAttrModNonNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboAttrDelNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboAttrDelNonNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboSrvcReg$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnComboSrvcLeaseExp$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnEntryAttrAddNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set01.NotifyOnEntryAttrAddNonNull$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.LeaseMapCancel$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.ExpiredEventLeaseRenew$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.ExpiredEventLeaseCancel$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.ExpiredLeaseMapRenew$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.ExpiredLeaseMapCancel$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.NotifyOnAttrSet$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.NotifyOnComboAttrSet$$Listener_Stub"/>
            <arg line="com.sun.jini.test.spec.lookupservice.test_set02.NotifyExceptionTest$$Listener_Stub"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-lookupservice-dl.jar" index="false">
            <fileset dir="${build.classes.dir}" includesfile="${qa1-lookupservice-dl.deps}"/>
            <fileset dir="${river.classes.dir}" includesfile="${qa1-lookupservice-dl.deps}"/>
            <fileset dir="${river.classes.dir}">
                <include name="com/sun/jini/proxy/BasicProxyTrustVerifier.class"/>
                <include name="com/sun/jini/test/spec/lookupservice/attribute/**/*"/>
            </fileset>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/lookupservice/attribute/**/*"/>
            </fileset>
        </jar>
    </target>

    <target name="qa1-renewalservice.stubs" depends="compile">
        <rmic base="${build.classes.dir}" stubversion="1.2" classpathref="river.jars">
            <include name="com/sun/jini/test/share/LeaseBackEndImpl.class" />
            <include name="com/sun/jini/test/share/RemoteListener.class" />
        </rmic>
    </target>

    <target name="qa1-renewalservice-dl.jar" depends="qa1-renewalservice.stubs">
        <property name="qa1-renewalservice-dl.deps" location="${build.deps.dir}/qa1-renewalservice-dl.deps" />
        <delete file="${lib.dir}/qa1-renewalservice-dl.jar" quiet="true"/>
        <classdep output="${qa1-renewalservice-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl$$VerifierImpl"/>
            <arg line="com.sun.jini.test.share.LeaseBackEndImpl_Stub"/>
            <arg line="com.sun.jini.test.share.RemoteListener_Stub"/>
            <arg line="com.sun.jini.test.share.TestLease"/>
            <arg line="com.sun.jini.test.share.ConstrainableTestLease"/>
            <arg line="com.sun.jini.test.share.UnreadableTestLease"/>
            <arg line="com.sun.jini.test.share.ConstrainableUnreadableTestLease"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-renewalservice-dl.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/io/marshalledinstance/*.class"/>
            </fileset>
        </jar>
        <classdep output="${qa1-renewalservice-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in net.jini"/>
            <arg line="${jskplatform.exclude}"/>
            <arg line="com.sun.jini.proxy.BasicProxyTrustVerifier"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-renewalservice-dl.jar" index="false" update="true">
            <fileset dir="${river.classes.dir}" includesfile="${qa1-renewalservice-dl.deps}"/>
        </jar>
    </target>

    <target name="qa1-securityDoPrivileged.jar" depends="compile">
        <delete file="${lib.dir}/qa1-securityDoPrivileged.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-securityDoPrivileged.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/security/security/DoPrivilegedTest.class" />
                <include name="com/sun/jini/test/spec/security/security/DoPrivilegedExceptionTest.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-securityUtil.jar" depends="compile">
        <delete file="${lib.dir}/qa1-securityUtil.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-securityUtil.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/security/util/FakeCaller.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-servicediscovery-dl.jar" depends="compile">
        <property name="qa1-servicediscovery-dl.deps" location="${build.deps.dir}/qa1-servicediscovery-dl.deps" />
        <delete file="${lib.dir}/qa1-servicediscovery-dl.jar" quiet="true"/>
        <classdep output="${qa1-servicediscovery-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in net.jini.lookup"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="-hide net.jini.lookup"/>
            <arg line="net.jini.lookup.ServiceDiscoveryManager$$LookupCacheImpl$$LookupListener_Stub"/>
            <arg line="com.sun.jini.test.spec.servicediscovery.AbstractBaseTest$$TestService"/>
            <arg line="com.sun.jini.test.spec.servicediscovery.AbstractBaseTest$$TestServiceIntAttr"/>
            <arg line="net.jini.lookup.entry.Name"/>

        </classdep>
        <jar destfile="${lib.dir}/qa1-servicediscovery-dl.jar" index="false">
            <metainf dir="${src.dir}/manifest/servicediscovery-dl/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}" includesfile="${qa1-servicediscovery-dl.deps}"/>
        </jar>
        <classdep output="${qa1-servicediscovery-dl.deps}">
            <arg value="-cp"/>
            <arg pathref="classdep.cp"/>
            <arg value="-files"/>
            <arg line="-in net.jini.lookup"/>
            <arg line="-in com.sun.jini"/>
            <arg line="-in com.sun.jini.test"/>
            <arg line="com.sun.jini.proxy.BasicProxyTrustVerifier"/>
            <arg line="-show net.jini.lookup"/>
            <arg line="-show com.sun.jini.proxy"/>
            <arg line="net.jini.lookup.ServiceDiscoveryManager$$LookupCacheImpl$$LookupListener_Stub"/>
            <arg line="com.sun.jini.test.spec.servicediscovery.AbstractBaseTest$$TestService"/>
            <arg line="com.sun.jini.test.spec.servicediscovery.AbstractBaseTest$$TestServiceIntAttr"/>
            <arg line="net.jini.lookup.entry.Name"/>
        </classdep>
        <jar destfile="${lib.dir}/qa1-servicediscovery-dl.jar" index="false" update="true">
            <fileset dir="${river.classes.dir}" includesfile="${qa1-servicediscovery-dl.deps}"/>
        </jar>
    </target>

    <target name="qa1-httpmd.jar" depends="compile">
        <delete file="${lib.dir}/qa1-httpmd.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-httpmd.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/url/httpmd/*/*.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-httpmd-same.jar" depends="qa1-httpmd.jar">
        <delete file="${lib.dir}/qa1-httpmd-same.jar" quiet="true"/>
        <copy file="${lib.dir}/qa1-httpmd.jar" tofile="${lib.dir}/qa1-httpmd-same.jar" />
    </target>

    <target name="qa1-httpmd-another.jar" depends="compile">
        <delete file="${lib.dir}/qa1-httpmd-another.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-httpmd-another.jar" index="false">
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/url/httpmd/handler/*.class" />
            </fileset>
        </jar>
    </target>

    <target name="ld.jar" depends="compile">
        <delete file="${lib.dir}/ld.jar" quiet="true"/>
        <jar destfile="${lib.dir}/ld.jar" index="false">
            <metainf dir="${src.dir}/com/sun/jini/test/impl/lookupdiscovery/util/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/impl/lookupdiscovery/util/*.class" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-loader-pref.jar" depends="compile">
        <delete file="${lib.dir}/qa1-loader-pref.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-loader-pref.jar" index="false">
            <metainf dir="${src.dir}/com/sun/jini/test/spec/loader/util/classes/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/loader/util/resources/**/*" />
                <include name="com/sun/jini/test/spec/loader/util/classes/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="qa1-policy-provider.jar" depends="compile">
        <delete file="${lib.dir}/qa1-policy-provider.jar" quiet="true"/>
        <jar destfile="${lib.dir}/qa1-policy-provider.jar" index="false">
            <metainf dir="${src.dir}/com/sun/jini/test/spec/policyprovider/util/classes/META-INF">
                <include name="**/*" />
            </metainf>
            <fileset dir="${build.classes.dir}">
                <include name="com/sun/jini/test/spec/policyprovider/util/classes/**/*" />
            </fileset>
        </jar>
    </target>

    <target name="trust" depends="keystores, password, truststore"
        description="Generate keys, passwords and certificates"/>

    <target name="keystores" depends="tester.keystore,
            reggie.keystore,
            phoenix.keystore,
            mercury.keystore,
            norm.keystore,
            outrigger.keystore,
            mahalo.keystore,
            fiddler.keystore,
            group.keystore" />

    <target name="tester.keystore">
        <delete file="${trust.dir}/tester.keystore" quiet="true"/>
        <keystore target="tester" dir="${trust.dir}" dname="Tester" />
    </target>

    <target name="reggie.keystore">
        <delete file="${trust.dir}/reggie.keystore" quiet="true"/>
        <keystore target="reggie" dir="${trust.dir}" dname="Reggie" />
    </target>

    <target name="phoenix.keystore">
        <delete file="${trust.dir}/phoenix.keystore" quiet="true"/>
        <keystore target="phoenix" dir="${trust.dir}" dname="Phoenix" />
    </target>

    <target name="mercury.keystore">
        <delete file="${trust.dir}/mercury.keystore" quiet="true"/>
        <keystore target="mercury" dir="${trust.dir}" dname="Mercury" />
    </target>

    <target name="norm.keystore">
        <delete file="${trust.dir}/norm.keystore" quiet="true"/>
        <keystore target="norm" dir="${trust.dir}" dname="Norm" />
    </target>

    <target name="outrigger.keystore">
        <delete file="${trust.dir}/outrigger.keystore" quiet="true"/>
        <keystore target="outrigger" dir="${trust.dir}" dname="Outrigger" />
    </target>

    <target name="mahalo.keystore">
        <delete file="${trust.dir}/mahalo.keystore" quiet="true"/>
        <keystore target="mahalo" dir="${trust.dir}" dname="Mahalo" />
    </target>

    <target name="fiddler.keystore">
        <delete file="${trust.dir}/fiddler.keystore" quiet="true"/>
        <keystore target="fiddler" dir="${trust.dir}" dname="Fiddler" />
    </target>

    <target name="group.keystore">
        <delete file="${trust.dir}/group.keystore" quiet="true"/>
        <keystore target="group" dir="${trust.dir}" dname="Group" />
    </target>

    <target name="password" depends="tester.password,
            reggie.password,
            phoenix.password,
            mercury.password,
            norm.password,
            outrigger.password,
            mahalo.password,
            fiddler.password,
            group.password" />

    <target name="tester.password">
        <delete file="${trust.dir}/tester.password" quiet="true"/>
        <echo file="${trust.dir}/tester.password" message="testerpw" />
    </target>

    <target name="reggie.password">
        <delete file="${trust.dir}/reggie.password" quiet="true"/>
        <echo file="${trust.dir}/reggie.password" message="reggiepw" />
    </target>

    <target name="phoenix.password">
        <delete file="${trust.dir}/phoenix.password" quiet="true"/>
        <echo file="${trust.dir}/phoenix.password" message="phoenixpw" />
    </target>

    <target name="mercury.password">
        <delete file="${trust.dir}/mercury.password" quiet="true"/>
        <echo file="${trust.dir}/mercury.password" message="mercurypw" />
    </target>

    <target name="norm.password">
        <delete file="${trust.dir}/norm.password" quiet="true"/>
        <echo file="${trust.dir}/norm.password" message="normpw" />
    </target>

    <target name="outrigger.password">
        <delete file="${trust.dir}/outrigger.password" quiet="true"/>
        <echo file="${trust.dir}/outrigger.password" message="outriggerpw" />
    </target>

    <target name="mahalo.password">
        <delete file="${trust.dir}/mahalo.password" quiet="true"/>
        <echo file="${trust.dir}/mahalo.password" message="mahalopw" />
    </target>

    <target name="fiddler.password">
        <delete file="${trust.dir}/fiddler.password" quiet="true"/>
        <echo file="${trust.dir}/fiddler.password" message="fiddlerpw" />
    </target>

    <target name="group.password">
        <delete file="${trust.dir}/group.password" quiet="true"/>
        <echo file="${trust.dir}/group.password" message="grouppw"  />
    </target>

    <target name="truststore">
        <delete file="${trust.dir}/truststore" quiet="true" />
        <truststore target="tester" dir="${trust.dir}" />
        <truststore target="reggie" dir="${trust.dir}" />
        <truststore target="mercury" dir="${trust.dir}" />
        <truststore target="norm" dir="${trust.dir}" />
        <truststore target="phoenix" dir="${trust.dir}" />
        <truststore target="outrigger" dir="${trust.dir}" />
        <truststore target="mahalo" dir="${trust.dir}" />
        <truststore target="fiddler" dir="${trust.dir}" />
        <truststore target="group" dir="${trust.dir}" />
    </target>

</project>
