<!--

    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

-->

<property name="stylesheet" value="${env.APS_HOME}/config/j2eeReporter.xsl" />
<property name="xmlfile" value="${env.APS_HOME}/test_resultsValid.xml" />
<property name="htmlfile" value="${env.APS_HOME}/test_results.html" />

<target name="report">
<echo message="Comparing results with expected results"/>


    <xslt style="${stylesheet}"
            in="${xmlfile}" out="${htmlfile}"
            basedir="." destdir="." />
    <antcall target="report-sh"/>
    <!--
    <ant dir="${env.APS_HOME}/util/filediff" target="modifyReport"/>
    -->
</target>

<target name="report-sh">
    <exec executable="sh">
        <arg value="./resultCount.sh"/>
    </exec>
</target>
