<?xml version="1.0" ?>

<!--

  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="compiler.tests" default="main" basedir=".">

    <pathconvert property="compiler.tests" dirsep="/">
        <path location="${basedir}"/>
    </pathconvert>
    

    <property environment="env"/>
	<property file="unittest.properties" />
	<property name="test.timeout" value="3000000" />
	<property name="maxmem" value="512" />
	
	<condition property="sdk" value="${ROYALE_HOME}" else="${env.ROYALE_HOME}">
	    <isset property="ROYALE_HOME" />
	</condition>
	
	<condition property="fpdbg" value="${FLASHPLAYER_DEBUGGER}" else="${env.FLASHPLAYER_DEBUGGER}">
	    <isset property="FLASHPLAYER_DEBUGGER" />
	</condition>
	
	<condition property="playerglobal.version" value="${env.PLAYERGLOBAL_VERSION}">
	    <isset property="env.PLAYERGLOBAL_VERSION" />
	</condition>
	<property name="playerglobal.version" value="11.1" />
	
    <property name="compiler" value="${compiler.tests}/../.."/>
    <property name="royale" value="${compiler}"/>
    <property name="compiler-externc" value="${compiler}/../compiler-externc"/>

    <path id="lib.path">
        <fileset dir="${royale}/lib" includes="compiler-royaleTasks.jar"/>
    </path>
    
    <target name="download" description="Downloads third-party JARs">
        <ant antfile="${compiler.tests}/downloads.xml" dir="${compiler.tests}"/>
    	<delete dir="${compiler.tests}/in"/>
    </target>

    <target name="eclipse">
        <copy file="${fpdbg}" tofile="${compiler.tests}/temp/FlashPlayer.exe"/>
    </target>
    
    <target name="jar.tests">
        <java jar="${royale}/lib/compiler-mxmlc.jar" fork="true"/>
        <java jar="${royale}/lib/compiler-compc.jar" fork="true"/>
        <java jar="${royale}/lib/compiler-asc.jar" fork="true"/>
        <java jar="${royale}/lib/compiler-optimizer.jar" fork="true"/>
        <java jar="${royale}/lib/compiler-swfdump.jar" fork="true"/>
    </target>
    
    <target name="js.swc">
        <copy file="${compiler-externc}/src/test/config/compile-as-config.xml"
        todir="${compiler-externc}/target" />
        <java jar="${royale}/lib/compiler-compc.jar" fork="true"
            failonerror="true">
            <arg value="-load-config=${compiler-externc}/target/compile-as-config.xml" />
            <arg value="-output=${compiler-externc}/target/js.swc" />
        </java>
    </target>

    <target name="custom.swc">
        <copy file="config/compile-as-config.xml"
        todir="${royale}/target" />
        <java jar="${royale}/lib/compiler-compc.jar" fork="true"
            failonerror="true">
            <arg value="-load-config=${royale}/target/compile-as-config.xml" />
            <arg value="-output=${royale}/target/custom.swc" />
        </java>
    </target>

    <!-- tests used to be divided up like this
 
    <target name="compile.unit.tests">
    	<delete dir="${compiler}/target/test-classes"/>
        <mkdir dir="${compiler}/target/test-classes"/>
        <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/target/test-classes" includeAntRuntime="true">
        	<src path="${compiler.tests}/src/java"/>
            <compilerarg value="-Xlint:all,-path"/>
            <classpath>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
        </javac>
    </target>

    <target name="unit.tests" depends="download, compile.unit.tests">
        <mkdir dir="${compiler}/target/junit-reports"/>
        <mkdir dir="${compiler}/target/junit-temp"/>
        <junit dir="${compiler.tests}"
               fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
               printsummary="true" showoutput="true"
               haltonerror="true" haltonfailure="true"
               failureproperty="tests.unit.failed">
            <classpath>
                <pathelement location="${compiler}/target/test-classes"/>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler}/target/junit-reports">
                <fileset dir="${compiler}/target/test-classes">
                    <include name="**/*Tests.class"/>
                    <exclude name="mxml/tags/**"/>
                    <exclude name="properties/**"/>
                    <exclude name="**/MXMLDesignLayerNodeTests.class"/>
                    <exclude name="**/MXMLHTTPServiceNodeTests.class"/>
                    <exclude name="**/MXMLModelNodeTests.class"/>
                    <exclude name="**/MXMLRemoteObjectNodeTests.class"/>
                    <exclude name="**/MXMLStateNodeTests.class"/>
                    <exclude name="**/MXMLWebServiceNodeTests.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>
	
    <target name="unit.tests.sdk" depends="download, compile.unit.tests">
        <mkdir dir="${compiler}/target/junit-reports"/>
        <mkdir dir="${compiler}/target/junit-temp"/>
        <junit dir="${compiler.tests}"
            fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
            printsummary="true" showoutput="true"
            haltonerror="true" haltonfailure="true"
            failureproperty="tests.unit.failed">
            <classpath>
                <pathelement location="${compiler}/target/test-classes"/>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler}/target/junit-reports">
                <fileset dir="${compiler}/target/test-classes">
                    <include name="**/MXMLDesignLayerNodeTests.class"/>
                    <include name="**/MXMLHTTPServiceNodeTests.class"/>
                    <include name="**/MXMLModelNodeTests.class"/>
                    <include name="**/MXMLRemoteObjectNodeTests.class"/>
                    <include name="**/MXMLStateNodeTests.class"/>
                    <include name="**/MXMLWebServiceNodeTests.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>
    
    <target name="compile.feature.tests">
    	<delete dir="${compiler}/target/test-classes"/>
        <mkdir dir="${compiler}/target/test-classes"/>
        <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/target/classes" includeAntRuntime="true">
            <src path="${compiler.tests}/feature-tests"/>
        	<src path="${compiler.tests}/src"/>
            <compilerarg value="-Xlint:all,-path"/>
            <classpath>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
        </javac>
    </target>

    <target name="feature.tests" depends="download, compile.feature.tests">
        <mkdir dir="${compiler.tests}/results"/>
        <mkdir dir="${compiler.tests}/temp"/>
        <junit dir="${compiler.tests}"
               fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
               printsummary="true" showoutput="true"
               haltonerror="true" haltonfailure="true"
               failureproperty="tests.unit.failed">
            <classpath>
                <pathelement location="${compiler.tests}/classes"/>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler.tests}/results">
                <fileset dir="${compiler.tests}/classes">
                    <include name="**/*Tests.class"/>
                    <exclude name="**/MXMLComponentTagTests.class"/>
                    <exclude name="**/MXMLHTTPServiceTagTests.class"/>
                    <exclude name="**/MXMLModelTagTests.class"/>
                    <exclude name="**/MXMLRemoteObjectTagTests.class"/>
                    <exclude name="**/MXMLWebServiceTagTests.class"/>
                    <exclude name="**/MXMLProperty*.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>
	
    <target name="feature.tests.sdk" depends="download, compile.feature.tests">
        <mkdir dir="${compiler.tests}/results"/>
        <mkdir dir="${compiler.tests}/temp"/>
        <junit dir="${compiler.tests}"
            fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
            printsummary="true" showoutput="true"
            haltonerror="true" haltonfailure="true"
            failureproperty="tests.unit.failed">
            <classpath>
                <pathelement location="${compiler.tests}/classes"/>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler.tests}/results">
                <fileset dir="${compiler.tests}/classes">
                    <include name="**/MXMLComponentTagTests.class"/>
                    <include name="**/MXMLHTTPServiceTagTests.class"/>
                    <include name="**/MXMLModelTagTests.class"/>
                    <include name="**/MXMLRemoteObjectTagTests.class"/>
                    <include name="**/MXMLWebServiceTagTests.class"/>
                    <include name="**/MXMLProperty*.class"/>
                    <exclude name="**/MXMLPropertyTestsBase.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>
    
    <target name="compile.functional.tests">
    	<delete dir="${compiler.tests}/classes" />
        <mkdir dir="${compiler.tests}/classes"/>
        <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler.tests}/classes" includeAntRuntime="true">
        	<src path="${compiler.tests}/src"/>
        	<src path="${compiler.tests}/functional-tests"/>
            <compilerarg value="-Xlint:all,-path"/>
            <classpath>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
        </javac>
    </target>
	
    <target name="functional.tests" depends="download, compile.functional.tests">
        <mkdir dir="${compiler.tests}/results"/>
        <mkdir dir="${compiler.tests}/temp"/>
        <junit dir="${compiler.tests}"
               fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
               printsummary="true" showoutput="true"
               haltonerror="true" haltonfailure="true"
               failureproperty="tests.functional.failed">
            <classpath>
                <pathelement location="${compiler.tests}/classes"/>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <fileset dir="${compiler.tests}/lib" includes="**/*.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler.tests}/results">
                <fileset dir="${compiler.tests}/classes">
                    <include name="**/*Tests.class"/>
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>

    end of old test organization -->
    
    <target name="compile.tests">
        <echo>compiler is ${compiler} royale is ${royale}</echo>
        <delete dir="${compiler}/target/test-classes"/>
        <mkdir dir="${compiler}/target/test-classes"/>
        <copy todir="${compiler}/target/test-classes">
            <fileset dir="${compiler.tests}/resources">
                <include name="**"/>
            </fileset>
        </copy>
        <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/target/test-classes" includeAntRuntime="true">
            <src path="${compiler.tests}/java"/>
            <compilerarg value="-Xlint:all,-path"/>
            <classpath>
                <fileset dir="${compiler}/lib/external" includes="**/*.jar"/>
                <pathelement location="${compiler}/../compiler-build-tools/target/classes"/>
                <pathelement location="${compiler}/../compiler-test-utils/target/classes"/>
                <pathelement location="${compiler}/../compiler-externc/target/classes"/>
                <pathelement location="${royale}/lib/compiler-common.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
        </javac>
    </target>
    
    <target name="tests" depends="download, compile.tests">
        <mkdir dir="${compiler}/target/junit-reports"/>
        <mkdir dir="${compiler}/target/junit-temp"/>
        <junit dir="${compiler}"
            fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
            printsummary="true" showoutput="true"
            haltonerror="true" haltonfailure="true"
            failureproperty="tests.unit.failed">
            <classpath>
                <pathelement location="${compiler}/target/test-classes"/>
                <fileset dir="${compiler}/lib/external" includes="**/*.jar"/>
                <pathelement location="${compiler}/../compiler-build-tools/target/classes"/>
                <pathelement location="${compiler}/../compiler-test-utils/target/classes"/>
                <pathelement location="${royale}/lib/compiler-common.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler}/target/junit-reports">
                <fileset dir="${compiler}/target/test-classes">
                    <include name="**/*Tests.class"/>
                    <exclude name="f/**"/>
                    <exclude name="mxml/tags/**"/>
                    <exclude name="properties/**"/>
                    <exclude name="**/MXMLComponentTagTests.class"/>
                    <exclude name="**/MXMLComponentNodeTests.class"/>
                    <exclude name="**/MXMLHTTPServiceTagTests.class"/>
                    <exclude name="**/MXMLModelTagTests.class"/>
                    <exclude name="**/MXMLRemoteObjectNodeTests.class"/>
                    <exclude name="**/MXMLWebServiceNodeTests.class"/>
                    <exclude name="**/MXMLDesignLayerNodeTests.class"/>
                    <exclude name="**/MXMLHTTPServiceNodeTests.class"/>
                    <exclude name="**/MXMLModelNodeTests.class"/>
                    <exclude name="**/MXMLRemoteObjectTagTests.class"/>
                    <exclude name="**/MXMLStateNodeTests.class"/>
                    <exclude name="**/MXMLVectorNodeTests.class"/>
                    <exclude name="**/MXMLWebServiceTagTests.class"/>
                    
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>
    
    <target name="tests.sdk" depends="download, compile.tests">
        <mkdir dir="${compiler}/target/junit-reports"/>
        <mkdir dir="${compiler}/target/junit-temp"/>
        <junit dir="${compiler}"
            fork="yes" forkMode="perBatch" maxmemory="${maxmem}m" timeout="${test.timeout}"
            printsummary="true" showoutput="true"
            haltonerror="true" haltonfailure="true"
            failureproperty="tests.unit.failed">
            <classpath>
                <pathelement location="${compiler}/target/test-classes"/>
                <fileset dir="${compiler}/lib" includes="**/*.jar"/>
                <pathelement location="${compiler}/../compiler-build-tools/target/classes"/>
                <pathelement location="${compiler}/../compiler-test-utils/target/classes"/>
                <pathelement location="${royale}/lib/compiler-common.jar"/>
                <pathelement location="${royale}/lib/compiler.jar"/>
            </classpath>
            <batchtest todir="${compiler}/target/junit-reports">
                <fileset dir="${compiler}/target/test-classes">
                    <include name="f/**"/>
                    <include name="**/MXMLComponentTagTests.class"/>
                    <include name="**/MXMLComponentNodeTests.class"/>
                    <include name="**/MXMLHTTPServiceTagTests.class"/>
                    <include name="**/MXMLModelTagTests.class"/>
                    <include name="**/MXMLRemoteObjectTagTests.class"/>
                    <include name="**/MXMLWebServiceTagTests.class"/>
                    <include name="**/MXMLProperty*.class"/>
                    <exclude name="**/MXMLPropertyTestsBase.class"/>
                    <include name="**/MXMLDesignLayerNodeTests.class"/>
                    <include name="**/MXMLHTTPServiceNodeTests.class"/>
                    <include name="**/MXMLModelNodeTests.class"/>
                    <include name="**/MXMLRemoteObjectNodeTests.class"/>
                    <include name="**/MXMLStateNodeTests.class"/>
                    <include name="**/MXMLVectorNodeTests.class"/>
                    <include name="**/MXMLWebServiceNodeTests.class"/>
                    
                </fileset>
            </batchtest>
            <formatter type="xml"/>
        </junit>
    </target>
    
    <!--<target name="main" depends="unit.tests, feature.tests, jar.tests"/>-->
    <!--<target name="sdk.dependent.tests" depends="unit.tests.sdk, feature.tests.sdk, functional.tests" />-->
    <target name="main" depends="jar.tests, js.swc, custom.swc, tests"/>
    <target name="sdk.dependent.tests" depends="tests.sdk" />
    <target name="all" depends="main, sdk.dependent.tests"/>

    <target name="clean">
        <delete dir="${compiler}/target/junit-reports"/>
        <delete dir="${compiler}/target/junit-temp"/>
    </target>

    <target name="wipe" depends="clean">
        <delete file="${compiler}/lib/external/commons-lang3-3.4.jar"/>
        <delete file="${compiler}/lib/external/commons-compress-1.10.jar"/>
        <delete file="${compiler}/lib/external/junit-4.10.jar"/>
    </target>

</project>
