<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************
 * 
 * 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="build">

  <!-- =================== Global Properties ============================= -->
  <property environment="env"/>
  <property name="macroname" value="ScriptSelector"/>
  <property name="unopkgfile" value="${basedir}/${macroname}.uno.pkg"/>

  <!-- ==================== intialise properties ========================= -->
  <target name="checksdk">
    <condition property="UsingSDK">
      <available file="${env.OFFICE_PROGRAM_PATH}"/>
    </condition>
  </target>

  <target name="initsdk" if="UsingSDK">
    <property name="opp" value="${env.OFFICE_PROGRAM_PATH}"/>
  </target>

  <target name="initnosdk" unless="UsingSDK">
    <fail unless="opp" message="Path to Office install not set"/>
  </target>

  <!-- ==================== classpath setting ============================ -->
  <target name="init" depends="checksdk,initsdk,initnosdk">
    <path id="scriptclasspath">
      <pathelement location="${opp}/classes/unoil.jar"/> 
      <pathelement location="${opp}/classes/ridl.jar"/>
      <pathelement location="${opp}/classes/jurt.jar"/>
      <pathelement location="${opp}/classes/juh.jar"/>
      <pathelement location="${opp}/classes/ScriptFramework.jar"/>
    </path> 
  </target>

  <!-- ====================== Clean Generated Files ===================== -->
  <target name="clean">
    <delete>
      <fileset dir=".">
        <include name="**/*.class"/>
        <include name="**/*.jar"/>
        <include name="**/*.uno.pkg"/>
      </fileset>
    </delete>
  </target>

  <!-- ===================== Compile the script ========================= -->
  <target name="compile" depends="init">
    <javac srcdir="${macroname}" destdir="${macroname}"
           includes="**/*.java" classpathref="scriptclasspath"
           debug="on" optimize="on" deprecation="on"/>
  </target>

  <!-- ====================== Build UNO Package ========================= -->
  <target name="build" depends="compile">
    <delete file="${unopkgfile}"/>

    <jar jarfile="${macroname}/${macroname}.jar"
         basedir="${macroname}" includes="*.class,*.gif">
    </jar>

    <zip zipfile="${unopkgfile}">
      <fileset dir="${basedir}">
        <include name="**/*.jar"/>
        <include name="**/parcel-descriptor.xml"/>
        <include name="**/manifest.xml"/>
      </fileset>
    </zip>
  </target>

  <!-- ====================== Deploy Generated Files ==================== -->
  <target name="deploy" depends="build">
    <exec executable="${opp}/unopkg">
      <arg line="add"/>
      <arg line="--force"/>
      <arg path="${unopkgfile}"/>
    </exec>
  </target>

  <!-- ========================= All In One Build ======================= -->
  <target name="all" depends="clean,build,deploy"/>
 
</project>
