| <?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="SayHello"/> |
| <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> |