<?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 commonSetup SYSTEM "../../../../config/properties.xml">
<!ENTITY commonBuild SYSTEM "../../../../config/common.xml">
<!ENTITY reporting   SYSTEM "../../report.xml">
]>

<project name="jms-injection" default="usage" basedir=".">
    &commonSetup;
    &commonBuild;
    &reporting;

    <target name="all">
        <antcall target="basic"/>
        <antcall target="mixedScoped"/>
    </target>

    <target name="basic">
        <record name="basic.output" action="start" />
        <ant dir="basic" target="all"/>
        <record name="basic.output" action="stop" />
    </target>
    
    <target name="mixedScoped">
        <record name="mixedScoped.output" action="start" />
        <ant dir="mixedScoped" target="all"/>
        <record name="mixedScoped.output" action="stop" />
    </target>

    <target name="usage">
	<echo>
		Usage:
			ant all    		(Executes all the jmsContext injection tests)
			ant basic  		(Executes all the basic jmsContext injection tests)
			ant mixedScoped  	(Executes all the mixed jmsContext injection tests)
	</echo>
    </target>
</project>
