<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 1997, 2021 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

-->

<project name="GlassFish-QuickLook" default="all" basedir=".">
    <property environment="env" />

    <property file="build.properties" />
    <property file="${basedir}/gfproject/derby.properties" />
    <import file="${basedir}/gfproject/db-targets.xml" />
    <import file="${basedir}/gfproject/utils.xml" />

    <description>Builds, tests, and runs the project Quicklook</description>

    <presetdef name="javac">
        <javac includeantruntime="false" />
    </presetdef>

    <target name="all_cluster">
        <record name="${basedir}/allrun.output" action="start" />
        <antcall target="start-server-felix" />
        <antcall target="build-cluster" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_cluster.xml" />
        </antcall>
        <antcall target="stop-server" />
        <antcall target="testng-summary" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <target name="all_embedded">
        <record name="${basedir}/embeddedrun.output" action="start" />
        <ant dir="ejb/embedded" target="build" />
        <antcall target="runtest-embedded">
            <param name="testng.xml" value="testng/testng_em.xml" />
        </antcall>
        <record name="${basedir}/embeddedrun.output" action="stop" />
    </target>

    <target name="build-cluster">
        <ant dir="cluster/clustersetup" target="build" />
        <ant dir="cluster/helloworld" target="build" />
        <ant dir="cluster/clusterteardown" target="build" />
    </target>

    <!-- target name="all_wd" depends="clean" -->
    <target name="all_wd">
        <record name="${basedir}/allrun.output" action="start" />
        <property name="env.security_manager" value="OFF" />
        <antcall target="verify-xml" />
        <antcall target="start-derby" />
        <antcall target="start-server-felix" />
        <antcall target="build-deploy" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_wd.xml" />
        </antcall>
        <antcall target="undeploy" />
        <antcall target="quicklook-summary_wd" />
        <antcall target="stop-server" />
        <antcall target="stop-derby" />
        <copy file="test-output/emailable-report.html" tofile="test-output/QL-WP-report.html" />
        <antcall target="check-logged-messages" />
        <antcall target="testng-summary_wd" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <target name="all_wd_security">
        <record name="${basedir}/allrun.output" action="start" />
        <antcall target="add-quicklook-policy-grants" />
        <property name="env.security_manager" value="ON" />

        <antcall target="start_server_with_security_manager_enabled" />

        <antcall target="build-deploy" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_wd.xml" />
        </antcall>
        <antcall target="undeploy" />
        <antcall target="quicklook-summary_wd" />

        <antcall target="remove-quicklook-policy-grants" />
        <antcall target="stop_server_with_security_manager_enabled" />

        <copy file="test-output/emailable-report.html" tofile="test-output/QL-WP-report.html" />
        <antcall target="check-logged-messages" />
        <antcall target="testng-summary_wd" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <target name="start_server_with_security_manager_enabled">
        <property name="env.security_manager" value="ON" />
        <antcall target="verify-xml" />
        <antcall target="start-derby" />
        <antcall target="start-server-felix" />
        <antcall target="enable-security-manager" />
        <antcall target="stop-server" />
        <antcall target="start-server-felix" />
    </target>

    <target name="stop_server_with_security_manager_enabled">
        <property name="env.security_manager" value="ON" />
        <antcall target="disable-security-manager" />
        <antcall target="stop-server" />
        <antcall target="stop-derby" />
    </target>

    <!-- Target for testing glassfish distribution (containing EJB)  -->
    <target name="all" depends="clean">
        <record name="${basedir}/allrun.output" action="start" />
        <property name="env.security_manager" value="OFF" />
        <antcall target="verify-xml" />
        <antcall target="start-derby" />
        <antcall target="start-server-felix" />
        <antcall target="build-deploy-gd" />
        <antcall target="build-deploy" />
        <antcall target="build-cluster" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_gd.xml" />
        </antcall>
        <antcall target="undeploy" />
        <antcall target="undeploy-gd" />
        <antcall target="quicklook-summary" />
        <antcall target="stop-server" />
        <antcall target="stop-derby" />
        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
        <antcall target="check-logged-messages" />
        <antcall target="testng-summary" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <!-- Target for testing glassfish distribution (containing EJB)  -->
    <target name="all_ri" depends="clean">
        <record name="${basedir}/allrun.output" action="start" />
        <property name="env.security_manager" value="OFF" />
        <antcall target="verify-xml" />
        <antcall target="start-derby" />
        <antcall target="start-server-felix" />
        <antcall target="build-deploy" />
        <antcall target="build-deploy-gd" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_ri.xml" />
        </antcall>
        <antcall target="undeploy" />
        <antcall target="undeploy-gd" />
        <antcall target="quicklook-summary" />
        <antcall target="stop-server" />
        <antcall target="stop-derby" />
        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
        <antcall target="check-logged-messages" />
        <antcall target="testng-summary" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <!-- Target for testing glassfish distribution (GD) (containing EJB)  -->
    <target name="all_gd_security" depends="clean">
        <record name="${basedir}/allrun.output" action="start" />
        <antcall target="add-quicklook-policy-grants" />
        <property name="env.security_manager" value="ON" />
        <antcall target="verify-xml" />
        <antcall target="start-derby" />
        <antcall target="start-server-felix" />
        <antcall target="enable-security-manager" />
        <antcall target="stop-server" />
        <antcall target="start-server-felix" />
        <antcall target="build-deploy" />
        <antcall target="build-deploy-gd" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_gd.xml" />
        </antcall>
        <antcall target="undeploy" />
        <antcall target="undeploy-gd" />
        <antcall target="quicklook-summary" />
        <antcall target="remove-quicklook-policy-grants" />
        <antcall target="disable-security-manager" />
        <antcall target="stop-server" />
        <antcall target="stop-derby" />
        <copy file="test-output/emailable-report.html" tofile="test-output/QL-GP-report.html" failonerror="false" />
        <antcall target="check-logged-messages" />
        <antcall target="testng-summary" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <!-- Target for testing glassfish distribution (containing EJB)  -->
    <target name="dev_debug" depends="clean">
        <record name="${basedir}/allrun.output" action="start" />
        <antcall target="verify-xml" />
        <antcall target="start-derby" />
        <antcall target="build-deploy" />
        <antcall target="runtest">
            <param name="testng.xml" value="testng/testng_debug.xml" />
        </antcall>
        <antcall target="undeploy" />
        <antcall target="stop-derby" />
        <antcall target="check-logged-messages" />
        <antcall target="testng-summary" />
        <record name="${basedir}/allrun.output" action="stop" />
    </target>

    <target name="build-deploy">
        <record name="${basedir}/build.output" action="start" />
        <echo message="ANT PROJECT ${ant.project.name}" />
        <ant dir="amx" target="build" />
        <ant dir="admin" target="build" />
        <ant dir="admincli" target="build" />
        <ant dir="adminconsole" target="build" />
        <ant dir="rest" target="build" />
        <!--<ant dir="osgitest/basicosgi" target="build"/>-->
        <ant dir="web/helloworld" target="build-deploy" />
        <ant dir="web/jsfastrologer" target="build-deploy" />
        <ant dir="web/jsfinjection" target="build-deploy" />
        <ant dir="jdbc/jdbcusertx" target="build-deploy" />
        <ant dir="persistence/jpainjectemf" target="build-deploy" />
        <ant dir="persistence/jpavalidation" target="build-deploy" />
        <ant dir="security/helloworld" target="build-deploy" />
        <ant dir="security/basicauth" target="build-deploy" />
        <ant dir="ejb/slsbnicmt" target="build-deploy" />
        <ant dir="ejb/sfulnoi" target="build-deploy" />
        <ant dir="bean-validator/simple-bv-servlet" target="build-deploy" />
        <ant dir="weld/numberguess" target="build-deploy" />
        <ant dir="weld/osgiweld" target="build-deploy" />
        <ant dir="weld/extensions" target="build-deploy" />
        <record name="${basedir}/build.output" action="stop" />
    </target>

    <target name="build-deploy-gd">
        <echo message="Glassfish Distribution Build Deploy" />
        <ant dir="ejb/remoteview" target="build-deploy" />
        <ant dir="ejb/singleton" target="build-deploy" />
        <ant dir="ejb/cmp" target="build-deploy" />
        <ant dir="ejb/mdb" target="build" />
        <ant dir="jms/injection" target="build-deploy" />
        <ant dir="wsit/JaxwsFromWsdl" target="build-deploy" />
        <ant dir="wsit/jsr109tester" target="build-deploy" />
        <ant dir="security/appperms" target="build-deploy" />
    </target>

    <target name="undeploy">
        <record name="${basedir}/undeploy.output" action="start" />
        <ant dir="web/helloworld" target="undeploy" />
        <ant dir="web/jsfastrologer" target="undeploy" />
        <ant dir="web/jsfinjection" target="undeploy" />
        <ant dir="jdbc/jdbcusertx" target="undeploy" />
        <ant dir="persistence/jpainjectemf" target="undeploy" />
        <ant dir="persistence/jpavalidation" target="undeploy" />
        <ant dir="security/helloworld" target="undeploy" />
        <ant dir="security/basicauth" target="undeploy" />
        <ant dir="ejb/slsbnicmt" target="undeploy" />
        <ant dir="ejb/sfulnoi" target="undeploy" />
        <ant dir="bean-validator/simple-bv-servlet" target="undeploy" />
        <ant dir="weld/numberguess" target="undeploy" />
        <ant dir="weld/osgiweld" target="undeploy" />
        <ant dir="weld/extensions" target="undeploy" />
        <ant dir="jms/injection" target="undeploy" />
        <record name="${basedir}/undeploy.output" action="stop" />
    </target>

    <target name="undeploy-gd">
        <ant dir="ejb/singleton" target="undeploy" />
        <ant dir="ejb/remoteview" target="undeploy" />
        <ant dir="ejb/cmp" target="undeploy" />
        <!-- <ant dir="wsit/JaxwsFromWsdl" target="undeploy"/>
        <ant dir="wsit/jsr109tester" target="undeploy"/>-->
        <ant dir="security/appperms" target="undeploy" />
    </target>

    <!-- Target is re-defined here as someone didn't want to specify ws.root property -->
    <target name="clean">
        <delete dir="${basedir}/classes" />
        <delete verbose="true" includeemptydirs="true">
            <fileset dir="${basedir}" includes="**/classes" />
        </delete>
        <delete dir="${basedir}/test-output" includeemptydirs="true" />
        <delete dir="${basedir}/dist" includeemptydirs="true" />
        <delete includeemptydirs="true">
            <fileset dir="${basedir}">
                <include name="**/*.output" />
            </fileset>
        </delete>
    </target>

    <taskdef name="testng" classname="org.testng.TestNGAntTask">
        <classpath>
            <pathelement path="${plugin_classpath}" />
        </classpath>
    </taskdef>

    <!-- Target is re-definted here as didn't want to specify ws.root property -->
    <target name="runtest" depends="initprops,setOSConditions,asenv-unix,asenv-windows">
        <record name="${basedir}/runtestng.output" action="start" />
        <echo message="=============Starting TestNG functional tests from ${testng.xml} ============" />
        <property name="hasTestNGXML" value="true" />

        <mkdir dir="${test.report}" />
        <testng outputdir="${test.report}" classpathref="run.testng.classpath">
            <jvmarg value="-Djava.compiler=NONE" />
            <jvmarg value="-Dhttp.host=${glassfish.http.host}" />
            <jvmarg value="-Dhttp.port=${glassfish.http.port}" />
            <jvmarg value="-DASADMIN=${ASADMIN}" />
            <jvmarg value="-DAPPCLIENT=${APPCLIENT}" />
            <jvmarg value="--add-opens=java.base/java.lang=ALL-UNNAMED" />
            <sysproperty key="glassfish.home" value="${glassfish.home}" />
            <sysproperty key="BASEDIR" value="${basedir}" />
            <xmlfileset dir="." includes="${testng.xml}" />
        </testng>
        <record name="${basedir}/runtestng.output" action="stop" />
    </target>

    <target name="runtest-embedded" depends="initprops">
        <record name="${basedir}/runtestng.output" action="start" />
        <mkdir dir="${test.report}" />
        <testng outputdir="${test.report}" classpathref="embedded.testng.classpath">
            <jvmarg value="-Djava.compiler=NONE" />
            <sysproperty key="glassfish.home" value="${glassfish.home}" />
            <sysproperty key="BASEDIR" value="${basedir}" />
            <xmlfileset dir="." includes="${testng.xml}" />
        </testng>
        <record name="${basedir}/runtestng.output" action="stop" />
    </target>

    <!-- Generate the TestNG report -->
    <target name="report" depends="initprops">
        <echo message="Generating report at ${test.report}" />
        <mkdir dir="${test.report}" />
        <junitreport todir="${test.report}">
            <fileset dir=".">
                <include name="${test.report}/**/*.xml" />
            </fileset>
            <report format="noframes" todir="${test.report}" />
        </junitreport>
        <echo message="Test Report available at ${test.report}/index.html" />
    </target>

    <!-- Fail the build unless the expected number of tests has passed -->
    <target name="assert.expected.passed.test.count">
        <taskdef resource="net/sf/antcontrib/antlib.xml">
            <classpath>
                <pathelement location="${maven.repo.local}/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar" />
            </classpath>
        </taskdef>

        <if>
            <isset property="expected.passed.test.count" />
            <then>
                <echo>perform the assertion</echo>
                <sequential>
                    <property name="test.report.dir" value="${basedir}/test-output" />
                    <loadfile property="report.summary" srcFile="${test.report.dir}/index.html" />
                    <propertyregex property="actual.passed.test.count" input="${report.summary}" regexp="(?s)(.*)(invocation-passed...td..em.Total./em../td..td..em.)([0-9]{1,6})(.*)" select="\3" />
                    <math result="passed.test.count.difference" datatype="int" operation="subtract" operand1="${actual.passed.test.count}" operand2="${expected.passed.test.count}" />
                    <propertyregex property="actual.lessthan.expected" input="${passed.test.count.difference}" regexp="^-.*" replace="actual.lessthan.expected" />
                    <fail if="actual.lessthan.expected" status="-1" message="
--JOB FAILED!-- Fewer than expected tests passed.  Expected: ${expected.passed.test.count} Actual: ${actual.passed.test.count}" />
                </sequential>
            </then>
        </if>
    </target>

    <target name="initprops">
        <property name="build.class.dir" value="${basedir}/classes/test" />
        <property name="Java_SE" value="${basedir}/classes/EJB_remoteview/app" />
        <property name="test.report" value="${basedir}/test-output" />
        <mkdir dir="${test.report}" />
        <path id="junit.path">
            <pathelement path="${plugin_classpath}" />
        </path>
        <typedef name="junitreport" classname="org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator" classpathref="junit.path" />
        <path id="run.testng.classpath">
            <fileset dir="${glassfish.home}/modules">
                <include name="**/hk2*.jar" />
                <include name="**/glassfish-api.jar" />
                <include name="**/amx-core.jar" />
                <include name="**/amx-javaee.jar" />
                <include name="**/management-api.jar" />
            </fileset>
            <fileset dir="${glassfish.home}/lib">
                <include name="**/gf-client.jar" />
            </fileset>
            <pathelement path="${plugin_classpath}" />
            <pathelement location="${Java_SE}" />
            <pathelement location="${build.class.dir}" />
        </path>
        <path id="embedded.testng.classpath">
            <fileset dir="${glassfish.home}/lib/embedded">
                <include name="**/glassfish-embedded-static-shell.jar" />
            </fileset>
            <pathelement location="${build.class.dir}" />
            <pathelement location="${build.class.dir}/../EJB_Embedded/app" />
        </path>
    </target>

    <!-- added few messages in order to show testng summary of wsit related tests along with final summary as wsit tests are ran seperately as a workaround for GLASSFISH-21672 -->
    <target name="testng-summary">
        <loadfile srcfile="runtestng.output" property="testng_output">
            <filterchain>
                <tailfilter lines="6" />
            </filterchain>
        </loadfile>
        <loadfile srcfile="wsit/JaxwsFromWsdl/wsit1run.output" property="testng1_output">
            <filterchain>
                <tailfilter lines="3" />
            </filterchain>
        </loadfile>
        <loadfile srcfile="wsit/jsr109tester/wsit2run.output" property="testng2_output">
            <filterchain>
                <tailfilter lines="3" />
            </filterchain>
        </loadfile>

        <echo message="              JaxwsFromWsdl Tests" />
        <echo message="${testng1_output}" />
        <echo message="              Jsr109tester Tests" />
        <echo message="${testng2_output}" />
        <echo message="${testng_output}" />
    </target>

    <!-- created new target for web-distribution summary as it is different from glassfish distribution summary-->
    <target name="testng-summary_wd">
        <loadfile srcfile="runtestng.output" property="testng_output">
            <filterchain>
                <tailfilter lines="6" />
            </filterchain>
        </loadfile>
        <echo message="${testng_output}" />
    </target>

    <!-- added few messages in order to show testng summary of wsit related tests along with final summary as wsit tests are ran seperately as a workaround for GLASSFISH-21672 -->
    <target name="quicklook-summary">
        <tstamp>
            <format property="end.timestamp" pattern="EE MM/dd/yyyy HH:mm:ss zz" />
        </tstamp>
        <echo file="quicklook_summary.txt" message="    Test completed: ${end.timestamp} ${line.separator}" />
        <loadfile srcfile="runtestng.output" property="testng_output">
            <filterchain>
                <tailfilter lines="4" skip="1" />
                <tokenfilter>
                    <replacestring from="[testng]" to="" />
                </tokenfilter>
            </filterchain>
        </loadfile>
        <loadfile srcfile="wsit/JaxwsFromWsdl/wsit1run.output" property="testng1_output">
            <filterchain>
                <tailfilter lines="4" skip="1" />
                <tokenfilter>
                    <replacestring from="[testng]" to="" />
                    <replacestring from="QuickLookTests" to="JaxwsFromWsdl Tests" />
                </tokenfilter>
            </filterchain>
        </loadfile>
        <loadfile srcfile="wsit/jsr109tester/wsit2run.output" property="testng2_output">
            <filterchain>
                <tailfilter lines="4" skip="1" />
                <tokenfilter>
                    <replacestring from="[testng]" to="" />
                    <replacestring from="QuickLookTests" to=" Jsr109tester Tests" />
                </tokenfilter>
            </filterchain>
        </loadfile>
        <echo file="quicklook_summary.txt" append="true" message="${testng_output}" />

        <echo file="quicklook_summary.txt" append="true" message="${testng1_output}" />

        <echo file="quicklook_summary.txt" append="true" message="${testng2_output}" />
        <antcall target="build-version" />
        <available file="test-output/emailable-report.html" property="report.present" />
        <antcall target="quicklook-report" />
        <delete file="version.output" />
    </target>

    <target name="quicklook-summary_wd">
        <tstamp>
            <format property="end.timestamp" pattern="EE MM/dd/yyyy HH:mm:ss zz" />
        </tstamp>
        <echo file="quicklook_summary.txt" message="    Test completed: ${end.timestamp} ${line.separator}" />
        <loadfile srcfile="runtestng.output" property="testng_output">
            <filterchain>
                <tailfilter lines="4" skip="1" />
                <tokenfilter>
                    <replacestring from="[testng]" to="" />
                </tokenfilter>
            </filterchain>
        </loadfile>
        <echo file="quicklook_summary.txt" append="true" message="${testng_output}" />
        <antcall target="build-version" />
        <available file="test-output/emailable-report.html" property="report.present" />
        <antcall target="quicklook-report" />
        <delete file="version.output" />
    </target>

    <target name="quicklook-report" if="report.present">
        <loadfile srcfile="version.output" property="build_version">
            <filterchain>
                <headfilter lines="1" />
            </filterchain>
        </loadfile>
        <exec executable="hostname" outputproperty="host.name" />
        <property name="titleTime" value="&lt;H1&gt; GF QuickLook Test Results &lt;/H1&gt; &lt;HR&gt; Build Info: ${build_version} &lt;p&gt; Test Completed at: ${end.timestamp}" />
        <property name="confRow1" value="&lt;TABLE class=param&gt; &lt;TR&gt; &lt;TD&gt;OS arch&lt;/TD&gt; &lt;TD&gt;Java version &lt;/TD&gt; &lt;TD&gt;Machine Name &lt;/TD&gt; &lt;TD&gt;Security Manager&lt;/TD&gt; &lt;/TR&gt;" />
        <property name="confRow2" value="&lt;TR&gt; &lt;TD&gt;${os.name}-${os.arch}&lt;/TD&gt; &lt;TD&gt;${java.version}&lt;/TD&gt; &lt;TD&gt;${host.name}&lt;/TD&gt; &lt;TD&gt;${env.security_manager}&lt;/TD&gt; &lt;/TR&gt; &lt;/TABLE&gt;" />
        <replace file="test-output/emailable-report.html" token="&lt;body&gt;" value="&lt;body&gt; ${titleTime} ${confRow1} ${confRow2} &lt;HR&gt; &lt;p&gt;" />
    </target>

    <target name="archive" depends="initprops,clean">
        <tstamp>
            <!--<format property="TODAY_UK" pattern="d-MMMM-yyyy" locale="en,UK"/>-->
        </tstamp>
        <property name="final.src.name" value="glassfish_testng_${DSTAMP}.zip" />
        <delete>
            <fileset dir="${basedir}" includes="*.zip" />
        </delete>
        <delete file="{final.src.name}" failonerror="false" />

        <zip zipfile="${final.src.name}" basedir=".">
            <exclude name="${test.report}/**" />
            <exclude name="${build.class.dir}/**" />
            <exclude name="**/*.log" />
            <exclude name="**/*.output" />
            <exclude name="**/*.war" />
            <exclude name="**/*.class" />
            <exclude name="**/CVS" />
            <exclude name="**/nbproject" />
        </zip>
    </target>

    <target name="setOSConditions">
        <condition property="isUnix">
            <os family="unix" />
        </condition>
        <condition property="isWindows">
            <os family="windows" />
        </condition>
    </target>

    <target name="asenv-unix" if="isUnix">
        <property name="asenv_conf" value="${glassfish.home}/config/asenv.conf" />
        <property name="ASADMIN" value="${glassfish.home}/bin/asadmin" />
        <property name="APPCLIENT" value="${glassfish.home}/bin/appclient" />
    </target>

    <target name="asenv-windows" if="isWindows">
        <property name="asenv_conf" value="${glassfish.home}/config/asenv.bat" />
        <property name="ASADMIN" value="${glassfish.home}\bin\asadmin.bat" />
        <property name="APPCLIENT" value="${glassfish.home}\bin\appclient.bat" />
    </target>

    <target name="start-server-hk2" depends="setOSConditions">

        <echo>+-----------------------------+</echo>
        <echo>|                             |</echo>
        <echo>| S T A R T I N G   GLASSFISH |</echo>
        <echo>|       in HK2 mode           |</echo>
        <echo>|                             |</echo>
        <echo>+-----------------------------+</echo>

        <antcall target="start-server-hk2-unix" />
        <antcall target="start-server-hk2-windows" />
    </target>

    <target name="start-server-hk2-windows" if="isWindows">
        <exec executable="cmd" spawn="true">
            <env key="GlassFish_Platform" value="HK2" />
            <arg value="/c" />
            <arg value="${glassfish.home}\bin\asadmin.bat" />
            <arg value="start-domain" />
        </exec>
    </target>

    <target name="start-server-hk2-unix" if="isUnix">
        <exec executable="${glassfish.home}/bin/asadmin">
            <env key="GlassFish_Platform" value="HK2" />
            <arg value="start-domain" />
        </exec>
    </target>

    <target name="start-server-felix" depends="setOSConditions">

        <echo>+-----------------------------+</echo>
        <echo>|                             |</echo>
        <echo>| S T A R T I N G   GLASSFISH |</echo>
        <echo>|       in Felix mode         |</echo>
        <echo>|                             |</echo>
        <echo>+-----------------------------+</echo>

        <antcall target="start-server-felix-unix" />
        <antcall target="start-server-felix-windows" />
    </target>

    <target name="start-server-felix-windows" if="isWindows">
        <exec executable="cmd" spawn="true">
            <arg value="/c" />
            <arg value="${glassfish.home}\bin\asadmin.bat" />
            <arg value="start-domain" />
            <arg value="domain1" />
        </exec>
        <waitfor maxwait="30" maxwaitunit="second" checkevery="500">
            <http url="http://localhost:4848/" />
        </waitfor>
    </target>

    <target name="start-server-felix-unix" if="isUnix">
        <exec executable="${glassfish.home}/bin/asadmin">
            <arg value="start-domain" />
            <arg value="domain1" />
        </exec>
    </target>

    <target name="build-version" depends="setOSConditions">
        <antcall target="build-version-unix" />
        <antcall target="build-version-windows" />
    </target>

    <target name="build-version-unix" if="isUnix">
        <exec executable="${glassfish.home}/bin/asadmin" output="version.output">
            <arg value="version" />
        </exec>
    </target>

    <target name="build-version-windows" if="isWindows">
        <exec executable="cmd" output="version.output">
            <arg value="/c" />
            <arg value="${glassfish.home}\bin\asadmin.bat" />
            <arg value="version" />
        </exec>
    </target>

    <target name="stop-server" depends="setOSConditions">
        <echo message="stopping server" />
        <antcall target="stop-server-unix" />
        <antcall target="stop-server-windows" />
    </target>

    <target name="stop-server-windows" if="isWindows">
        <exec executable="cmd">
            <arg value="/c" />
            <arg value="${glassfish.home}\bin\asadmin.bat" />
            <arg value="stop-domain" />
        </exec>
    </target>

    <target name="stop-server-unix" if="isUnix">
        <exec executable="${glassfish.home}/bin/asadmin">
            <arg value="stop-domain" />
        </exec>
    </target>

    <target name="verify-xml" depends="setOSConditions">
        <echo message="Verify Domain.xml" />
        <antcall target="verify-xml-unix" />
        <antcall target="verify-xml-windows" />
    </target>

    <target name="verify-xml-unix" if="isUnix">
        <exec executable="${glassfish.home}/bin/asadmin">
            <arg value="verify-domain-xml" />
        </exec>
    </target>

    <target name="verify-xml-windows" if="isWindows">
        <exec executable="cmd">
            <arg value="/c" />
            <arg value="${glassfish.home}\bin\asadmin.bat" />
            <arg value="verify-domain-xml" />
        </exec>
    </target>

</project>
