<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE project [
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
]>

<project name="deploytargetmoduleid" default="all" basedir=".">

         &commonBuild;
    <property name="archivedir" value="${build}/archives"/>

        <target name="compile" depends="init">
                <mkdir dir="${build}" />
                <javac srcdir="." destdir="${env.APS_HOME}/devtests/deployment/util/build"
                        classpath="${inst}/lib/j2ee.jar:${inst}/lib/appserv-rt.jar:../../../../util/build"
                />
        </target>

        <target name="build-ear" unless="earfile.built">
            <echo message="file ${build}/save/wstoejb.ear is present : ${earfile.built}"/>
            <ant dir="../../../ear/wstoejb" target="assemble"/>
            <mkdir dir="${build}/../save"/>
            <copy file="${archivedir}/wstoejb.ear" todir="${build}/../save"/>
            <copy file="${archivedir}/plan.jar" todir="${build}/../save"/>
        </target>

        <target name="private-all" depends="compile">
                <antcall target="declare-test">
                    <param name="description" value="jsr88/distribute/ChildTargetModuleID test TargetModuleID and its children returned from deployment"/>
                </antcall>
                <available property="earfile.built" file="${archivedir}/wstoejb.ear"/>
                <antcall target="build-ear"/>
                <antcall target="specialized.run.jsr88">
                        <param name="deployer.class" value="jsr88.deploymentmanager.getXModules.childtmid.ChildTargetModuleIDTester"/>
                        <param name="command" value="deploy"/>
                        <param name="arg.list" value="true ${build}/../save/wstoejb.ear ${build}/../save/plan.jar"/>
                </antcall>
                <antcall target="processResult">
                    <param name="result" value="0"/>
                </antcall>
                <antcall target="common.undeploy.asadmin">
                    <param name="arg.list" value="wstoejb"/>
                </antcall>
        </target>

</project>
