<?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 default="test" basedir=".">

    <property file="${basedir}/env.properties"/>
    <property environment="env"/>
    <property file="${basedir}/local.properties"/>
    <property file="${basedir}/build.properties"/>
    <condition property="FLEX_HOME" value="${env.FLEX_HOME}">
        <isset property="env.FLEX_HOME" />
    </condition>
    <condition property="AIR_HOME" value="${env.AIR_HOME}">
        <isset property="env.AIR_HOME" />
    </condition>

    <!-- SDK properties -->
    <property name="FLEX_HOME" value="C:/air3_beta2"/>
    <property name="AIR_HOME" value="C:/air3_beta2"/>
	<property name="MXMLC.JAR" value="${FLEX_HOME}/lib/mxmlc.jar"/>
	<property name="COMPC.JAR" value="${FLEX_HOME}/lib/compc.jar"/>
	<property name="ADL" value="${AIR_HOME}/bin/adl.exe"/>
    <property name="ADT.JAR" value="${AIR_HOME}/lib/adt.jar"/>

    <!-- Cert properties -->
    <condition property="cert_pwd_not_found" >
		<not>
       		<available file="${CERT_PASSWORD_FILE}"/>
		</not>
    </condition>

	<condition property="KEYSTORE" value="${RELEASE_KEYSTORE_FILE}" >
		<available file="${CERT_PASSWORD_FILE}"/>
	</condition>

	<condition property="KEYSTORE" value="${basedir}/temp.p12" >
		<not>
			<available file="${CERT_PASSWORD_FILE}"/>
		</not>
	</condition>

    <condition property="CERT_PASSWORD" value="${TEMP_PASS_CHANGE_THIS}" >
		<not>
       		<available file="${CERT_PASSWORD_FILE}"/>
		</not>
    </condition>

    <!-- Project properties -->
    <property name="STOREPASS" value="${CERT_PASSWORD}" />
    <property name="APP_ROOT_DIR" value="."/>
    <property name="APP_NAME" value="HunspellNativeExtensionWorkflow"/>
    <property name="APP_ROOT_FILE" value="${APP_NAME}.swf"/>
	<property name="APP_SOURCE_DIR" value="${APP_ROOT_DIR}/src"/>
    <property name="MAIN_SOURCE" value="${APP_SOURCE_DIR}/${APP_NAME}.mxml"/>
    <property name="APP_SOURCE_DESCRIPTOR" value="${APP_SOURCE_DIR}/${APP_NAME}-app.xml"/>
	
	<!-- Native Extensions -->
	<property name="NATIVE_EXTENSION_NAME" value="HunspellNativeExtension"/>
	<property name="NATIVE_EXTENSION_ACTIONSCRIPT_CLASSES" value="com.adobe.linguistics.extensions.HunspellNativeExtension" />
	<property name="NATIVE_EXTENSION_TMP_DIR" value="${APP_ROOT_DIR}/extensions/tmp"/>
	<property name="NATIVE_EXTENSION_BIN_DIR" value="${APP_ROOT_DIR}/extensions/bin"/>
	<property name="NATIVE_EXTENSION_SRC_DIR" value="${APP_ROOT_DIR}/extensions/src"/>
	<property name="NATIVE_EXTENSION_UNZIPPED_DIR" value="${APP_ROOT_DIR}/extensions/unzipped"/>
	
	<!-- Debug settings -->
    <property name="debug"  location="${APP_ROOT_DIR}/debug"/>
	<property name="APP_DEBUG_DESCRIPTOR" value="${debug}/${APP_NAME}-app.xml"/>
    
     <target name="init" depends="clean">
     	<mkdir dir="${debug}"/>
     	<mkdir dir="${NATIVE_EXTENSION_BIN_DIR}"/>
     	<mkdir dir="${NATIVE_EXTENSION_UNZIPPED_DIR}"/>
    </target>
	
	<target name="compilenativeextensions" depends="init">
		<mkdir dir="${NATIVE_EXTENSION_TMP_DIR}"/>
		<java jar="${COMPC.JAR}" fork="true" failonerror="true">
			<arg value="-swf-version"/>
			<arg value="13"/>
			<arg value="+flexlib=${FLEX_HOME}/frameworks"/>
			<arg value="+configname=air"/>
			<arg value="-source-path"/>
			<arg value="src"/>
			<arg value="-include-classes"/>
			<arg value="${NATIVE_EXTENSION_ACTIONSCRIPT_CLASSES}"/>
			<arg value="-external-library-path"/>
			<arg value="${AIR_HOME}/frameworks/libs/air/airglobal.swc"/>
			<arg value="-output"/>
			<arg value="${NATIVE_EXTENSION_TMP_DIR}/nativeextensions.swc"/>
		</java>
		<unzip src="${NATIVE_EXTENSION_TMP_DIR}/nativeextensions.swc" dest="${NATIVE_EXTENSION_TMP_DIR}" />
	</target>
	
	<target name="packagenativeextensions" depends="compilenativeextensions">
		<!-- dll files -->
		<pathconvert property="nativeExtensionFiles" pathsep="' '" dirsep="/">
			<path>
				<fileset dir="${NATIVE_EXTENSION_SRC_DIR}" includes="**/*.dll"/>
			</path>
			<chainedmapper>
				<flattenmapper/>
			</chainedmapper>
		</pathconvert>
		<echo>native extension files: ${nativeExtensionFiles}</echo>
		<!-- flatten directory -->
		<copy todir="${NATIVE_EXTENSION_TMP_DIR}" flatten="true">
			<fileset dir="${NATIVE_EXTENSION_SRC_DIR}" />
		</copy>
        <echo>${STOREPASS}</echo>
        <echo>${KEYSTORE}</echo>
		 <java jar="${ADT.JAR}" fork="true" dir="${NATIVE_EXTENSION_TMP_DIR}" failonerror="true">
		 	<arg value="-package"/>
		 	<arg value="-storetype"/>
		 	<arg value="pkcs12"/>
		 	<arg value="-storepass"/>
		 	<arg value="${STOREPASS}"/>
		 	<arg value="-keystore"/>
		 	<arg value="${KEYSTORE}"/>
		 	<arg value="-tsa"/>
		 	<arg value="none"/>
		 	<arg value="-target"/>
		 	<arg value="ane"/>
		 	<arg value="${NATIVE_EXTENSION_NAME}.ane"/>
		 	<arg value="extension.xml"/>
		 	<arg value="-swc"/>
		 	<arg value="nativeextensions.swc"/>
		 	<arg value="-platform"/>
		 	<arg value="Windows-x86"/>
		 	<arg value="library.swf"/>
		 	<arg line="'${nativeExtensionFiles}'" />
		 </java>
		<copy file="${NATIVE_EXTENSION_TMP_DIR}/${NATIVE_EXTENSION_NAME}.ane" tofile="${NATIVE_EXTENSION_BIN_DIR}/${NATIVE_EXTENSION_NAME}.ane" />
		<delete dir="${NATIVE_EXTENSION_TMP_DIR}"/>
	</target>
	
	<target name="unpacknativeextensions" depends="packagenativeextensions">
		<unzip src="${NATIVE_EXTENSION_BIN_DIR}/${NATIVE_EXTENSION_NAME}.ane" dest="${NATIVE_EXTENSION_UNZIPPED_DIR}/${NATIVE_EXTENSION_NAME}.ane" />
	</target>

    <target name="debugcompile" depends="unpacknativeextensions">
        <java jar="${MXMLC.JAR}" fork="true" failonerror="true">
            <arg value="-debug=true"/>
            <arg value="+flexlib=${FLEX_HOME}/frameworks"/>
            <arg value="+configname=air"/>
            <arg value="-file-specs=${MAIN_SOURCE}"/>
            <arg value="-output=${debug}/${APP_ROOT_FILE}"/>
        </java>
    	<copy filtering="true" file="${APP_SOURCE_DESCRIPTOR}" tofile="${APP_DEBUG_DESCRIPTOR}" />
    	<replace file="${APP_DEBUG_DESCRIPTOR}">
    		<replacefilter token="[This value will be overwritten by Flash Builder in the output app.xml]" value="${APP_ROOT_FILE}"/>
    	</replace>
    </target>

    <target name="test" depends="certificate,debugcompile">
        <exec executable="${ADL}">
            <arg value="${APP_DEBUG_DESCRIPTOR}"/>
			<arg value="-extdir"/>
			<arg value="${NATIVE_EXTENSION_UNZIPPED_DIR}" />
            <arg value="${debug}"/>
          </exec> 
    </target>

    <!-- Make sure to use the same certificate each time so we can update the app. -->
    <target name="certificate" if="cert_pwd_not_found">
        <antcall target="generate-certificate"/>
    </target>

    <target name="generate-certificate">
    	<echo message="Using cert ${KEYSTORE}" />
        <java jar="${ADT.JAR}" fork="true"
            failonerror="true">
            <arg value="-certificate"/>
            <arg value="-cn"/>
            <arg value="${CERT_NAME}"/>
            <arg value="-ou"/>
            <arg value="${CERT_ORG_UNIT}"/>
            <arg value="-o"/>
            <arg value="${CERT_ORG_NAME}"/>
            <arg value="-c"/>
            <arg value="${CERT_COUNTRY}"/>
            <arg value="${CERT_KEY_TYPE}"/>
            <arg value="${KEYSTORE}"/>
            <arg value="${CERT_PASSWORD}"/>
        </java>
    </target>
    
    <target name="clean" description="clean up">
    	<delete dir="${debug}"/>
    	<delete file="${basedir}/temp.p12"/>
    	<delete dir="${NATIVE_EXTENSION_BIN_DIR}"/>
    	<delete dir="${NATIVE_EXTENSION_TMP_DIR}"/>
    	<delete dir="${NATIVE_EXTENSION_UNZIPPED_DIR}"/>
    </target>
</project>