<!-- * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . --> <project name="Scripting Framework Installer" default="jar" basedir="."> <!-- =================== Environmental Properties ======================= --> <property name="prj" value=".."/> <property file="${prj}/java/build.env"/> <property name="optimize" value="on"/> <property name="debug" value="on"/> <property name="installerclasses" value="${out}/class/sframeworkinstall"/> <property name="jardir" value="${out}/class"/> <property name="bindir" value="${out}/bin"/> <property name="sfversion" value="0.3"/> <property name="installerjarname" value="SFrameworkInstall.jar"/> <property environment="env"/> <!-- ==================== classpath setting ============================ --> <path id="idlclasspath"> <pathelement location="${solar.jar}/unoil.jar"/> <!-- <pathelement location="${prj}/../unoil/${inpath}/class/unoil.jar"/> --> <pathelement location="${solar.jar}/jurt.jar"/> <pathelement location="${solar.jar}/juh.jar"/> <pathelement location="${solar.jar}/java_uno.jar"/> <pathelement location="${solar.jar}/ridl.jar"/> </path> <path id="scriptexampleclasspath"> <pathelement location="${solar.jar}/unoil.jar"/> <!-- pathelement location="${prj}/../unoil/${inpath}/class/unoil.jar"/ --> <pathelement location="${solar.jar}/jurt.jar"/> <pathelement location="${solar.jar}/juh.jar"/> <pathelement location="${solar.jar}/java_uno.jar"/> <pathelement location="${solar.jar}/ridl.jar"/> <pathelement location="${out}/class/ScriptRuntimeForJava.jar"/> </path> <path id="debuggerclasspath"> <pathelement location="${out}/class/ScriptRuntimeForJava.jar"/> <pathelement location="${solar.jar}/ridl.jar"/> <pathelement location="${solar.jar}/unoil.jar"/> <pathelement location="${out}/class/jsruntime/skip_registration/js.jar"/> <pathelement location="${install.dir}/bsh-1.2b7.jar"/> </path> <!-- ===================== Set up build conditionals ========================= --> <target name="product.test"> <condition property="noproext"> <equals arg1="$${env.PROEXT}" arg2="${env.PROEXT}"/> </condition> </target> <target name="nonproduct.set" if="noproext"> <echo message="non-product build"/> <property name="proext" value=""/> </target> <target name="product.set" unless="noproext"> <echo message="product build"/> <property name="proext" value="${env.PROEXT}"/> </target> <target name="build.conditions" depends="product.test,nonproduct.set,product.set"> <condition property="win9.build"> <available file="${prj}/wntmsci9${proext}"/> </condition> <condition property="win8.build"> <available file="${prj}/wntmsci8${proext}"/> </condition> <condition property="win7.build"> <available file="${prj}/wntmsci7${proext}"/> </condition> <condition property="linx86.build"> <available file="${prj}/unxlngi5${proext}"/> </condition> <condition property="solsparc.build"> <available file="${prj}/unxsols4${proext}"/> </condition> <!-- <condition property="openoffice.build"> </condition> --> </target> <!-- ===================== Build the examples ========================= --> <target name="buildexamples"> <mkdir dir="${out}/class/examples/java/debugger"/> <javac srcdir="${prj}/examples/java/debugger" destdir="${out}/class/examples/java/debugger" includes="*.java" classpathref="debuggerclasspath" debug="${debug}" optimize="${optimize}" deprecation="on"/> <copy todir="${out}/class/examples/java/debugger"> <fileset dir="${prj}/examples/java/debugger"> <include name="**/*.java"/> <include name="*.xml"/> </fileset> </copy> <jar jarfile="${out}/class/examples/java/debugger/debugger.jar" basedir="${out}/class/examples/java/debugger" includes="*.class"> <manifest> <attribute name="Built-By" value="Sun Microsystems"/> <attribute name="ScriptFramework-Version" value="${sfversion}"/> </manifest> </jar> <delete> <fileset dir="${out}/class/examples/java/debugger" includes="*.class"/> </delete> <mkdir dir="${out}/class/examples/java/Highlight"/> <javac srcdir="${prj}/examples/java/" destdir="${out}/class/examples/java/Highlight/" includes="**/Highlight*.java" classpathref="idlclasspath" debug="${debug}" optimize="${optimize}" deprecation="on"/> <copy todir="${out}/class/examples/java/Highlight/"> <fileset dir="${prj}/examples/java/"> <include name="**/Highlight*.java"/> </fileset> </copy> <copy file="${prj}/examples/java/HighlightTextParcel.xml" tofile="${out}/class/examples/java/Highlight/parcel-descriptor.xml"/> <jar jarfile="${out}/class/examples/java/Highlight/Highlight.jar" basedir="${out}/class/examples/java/Highlight" includes="**/*.java,**/*.class,**/*.xml" excludes="${out}/class/examples/java/Highlight/Highlight.jar"> <manifest> <attribute name="Built-By" value="Sun Microsystems"/> <attribute name="ScriptFramework-Version" value="${sfversion}"/> </manifest> </jar> <mkdir dir="${out}/class/examples/java/MemoryUsage"/> <javac srcdir="${prj}/examples/java/" destdir="${out}/class/examples/java/MemoryUsage/" includes="**/MemoryUsage.java" classpathref="idlclasspath" debug="${debug}" optimize="${optimize}" deprecation="on"/> <copy file="${prj}/examples/java/MemoryUsage.java" todir="${out}/class/examples/java/MemoryUsage/"/> <copy file="${prj}/examples/java/MemoryUsageParcel.xml" tofile="${out}/class/examples/java/MemoryUsage/parcel-descriptor.xml"/> <copy file="${prj}/examples/java/MemoryUsage.java" todir="${out}/class/examples/java/MemoryUsage/"/> <copy file="${prj}/examples/java/ExampleSpreadSheet.sxc" todir="${out}/class/examples/java/MemoryUsage/"/> <mkdir dir="${out}/class/examples/java/ScriptFrmwrkHelper"/> <javac srcdir="${prj}/examples/java/" destdir="${out}/class/examples/java/ScriptFrmwrkHelper/" includes="**/ScriptFrmwrkHelper.java" classpathref="scriptexampleclasspath" debug="${debug}" optimize="${optimize}" deprecation="on"/> <copy todir="${out}/class/examples/java/ScriptFrmwrkHelper/"> <fileset dir="${prj}/examples/java/"> <include name="**/ScriptFrmwrkHelper.java"/> </fileset> </copy> <copy file="${prj}/examples/java/ScriptFrameWkHelperParcel.xml" tofile="${out}/class/examples/java/ScriptFrmwrkHelper/parcel-descriptor.xml"/> <jar jarfile="${out}/class/examples/java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar" basedir="${out}/class/examples/java/ScriptFrmwrkHelper" includes="**/*.java,**/*.class,**/*.xml" excludes="${out}/class/examples/java/ScriptFrmwrkHelper/ScriptFrmwrkHelper.jar"> <manifest> <attribute name="Built-By" value="Sun Microsystems"/> <attribute name="ScriptFramework-Version" value="${sfversion}"/> </manifest> </jar> <mkdir dir="${out}/class/examples/beanshell"/> <copy todir="${out}/class/examples/beanshell"> <fileset dir="${prj}/examples/beanshell" includes="**"/> </copy> <mkdir dir="${out}/class/examples/javascript"/> <copy todir="${out}/class/examples/javascript"> <fileset dir="${prj}/examples/javascript" includes="**"/> </copy> </target> <!-- ===================== Build UNO package ========================= --> <target name="buildunopackage_win9" depends="build.conditions" if="win9.build"> <mkdir dir="${out}/class/sframeworkinstall/sframework"/> <mkdir dir="${out}/class/sframework"/> <copy file="${solar.bin}/ScriptFramework.rdb" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptRuntimeForJava.jar" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptFramework.jar" todir="${out}/class/sframework/"/> <mkdir dir="${out}/class/sframework/windows.plt"/> <copy todir="${out}/class/sframework/windows.plt"> <fileset dir="${prj}/wntmsci9${proext}/bin/"> <include name="**/*.dll"/> </fileset> </copy> <mkdir dir="${out}/class/sframework/skip_registration"/> <copy file="${solar.jar}/unoil.jar" todir="${out}/class/sframework/skip_registration"/> </target> <target name="buildunopackage_win8" depends="build.conditions" if="win8.build"> <mkdir dir="${out}/class/sframeworkinstall/sframework"/> <mkdir dir="${out}/class/sframework"/> <copy file="${solar.bin}/ScriptFramework.rdb" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptRuntimeForJava.jar" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptFramework.jar" todir="${out}/class/sframework/"/> <mkdir dir="${out}/class/sframework/windows.plt"/> <copy todir="${out}/class/sframework/windows.plt"> <fileset dir="${prj}/wntmsci8${proext}/bin/"> <include name="**/*.dll"/> </fileset> </copy> <mkdir dir="${out}/class/sframework/skip_registration"/> <copy file="${solar.jar}/unoil.jar" todir="${out}/class/sframework/skip_registration"/> </target> <!-- <target name="buildunopackage_win7" depends="build.conditions" if="win7.build"> <mkdir dir="${out}/class/sframeworkinstall/sframework"/> <mkdir dir="${out}/class/sframework"/> <copy file="${solar.bin}/ScriptFramework.rdb" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptRuntimeForJava.jar" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptFramework.jar" todir="${out}/class/sframework/"/> <mkdir dir="${out}/class/sframework/windows.plt"/> <copy todir="${out}/class/sframework/windows.plt"> <fileset dir="${prj}/wntmsci7${proext}/bin/"> <include name="**/*.dll"/> </fileset> </copy> <mkdir dir="${out}/class/sframework/skip_registration"/> <copy file="${solar.jar}/unoil.jar" todir="${out}/class/sframework/skip_registration"/> </target> --> <target name="buildunopackage_linux" depends="build.conditions" if="linx86.build"> <mkdir dir="${out}/class/sframeworkinstall/sframework"/> <mkdir dir="${out}/class/sframework"/> <copy file="${solar.bin}/ScriptFramework.rdb" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptRuntimeForJava.jar" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptFramework.jar" todir="${out}/class/sframework/"/> <mkdir dir="${out}/class/sframework/linux_x86.plt"/> <copy todir="${out}/class/sframework/linux_x86.plt"> <fileset dir="${prj}/unxlngi5${proext}/lib/"> <include name="**/lib*.so"/> </fileset> </copy> <mkdir dir="${out}/class/sframework/skip_registration"/> <copy file="${solar.jar}/unoil.jar" todir="${out}/class/sframework/skip_registration"/> </target> <target name="buildunopackage_solaris" depends="build.conditions" if="solsparc.build"> <mkdir dir="${out}/class/sframeworkinstall/sframework"/> <mkdir dir="${out}/class/sframework"/> <copy file="${solar.bin}/ScriptFramework.rdb" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptRuntimeForJava.jar" todir="${out}/class/sframework/"/> <copy file="${out}/class/ScriptFramework.jar" todir="${out}/class/sframework/"/> <mkdir dir="${out}/class/sframework/solaris_sparc.plt"/> <copy todir="${out}/class/sframework/solaris_sparc.plt"> <fileset dir="${prj}/unxsols4${proext}/lib/"> <include name="**/lib*.so"/> </fileset> </copy> <mkdir dir="${out}/class/sframework/skip_registration"/> <copy file="${solar.jar}/unoil.jar" todir="${out}/class/sframework/skip_registration"/> </target> <target name="buildunopackage" depends="buildunopackage_win8,buildunopackage_linux,buildunopackage_solaris"> <!-- <target name="buildunopackage" depends="buildunopackage_win9,buildunopackage_win7,buildunopackage_linux,buildunopackage_solaris"> --> <copy file="installer/ProtocolHandler.xcu" todir="${out}/class/sframework/"/> <zip zipfile="${out}/class/sframeworkinstall/sframework/ooscriptframe.zip" basedir="${out}/class/sframework"> </zip> </target> <!-- ================== Build JavaScript UNO package ===================== --> <target name="buildjsuno"> <mkdir dir="${out}/class/sframeworkinstall/sframework"/> <mkdir dir="${out}/class/jsruntime"/> <mkdir dir="${out}/class/jsruntime/skip_registration"/> <mkdir dir="${out}/class/jsruntimetmp"/> <copy file="${out}/class/ScriptRuntimeForJavaScript.jar" todir="${out}/class/jsruntime/"/> <copy file="installer/Scripting.JavaScript.xcu" tofile="${out}/class/jsruntime/Scripting.xcu"/> <unzip src="${install.dir}/js.jar" dest="${out}/class/jsruntimetmp"/> <javac srcdir="${prj}/examples/java/debugger" destdir="${out}/class/jsruntimetmp" includes="rhino/Main.java" classpathref="debuggerclasspath" debug="${debug}" optimize="${optimize}" deprecation="on"/> <zip destfile="${out}/class/jsruntime/skip_registration/js.jar" basedir="${out}/class/jsruntimetmp" includes="**"/> <zip zipfile="${out}/class/sframeworkinstall/sframework/jsruntime.zip" basedir="${out}/class/jsruntime"> </zip> </target> <!-- =================== Build BeanShell UNO package ===================== --> <target name="buildbshuno"> <mkdir dir="${out}/class/bshruntime"/> <copy file="${out}/class/ScriptRuntimeForBeanShell.jar" todir="${out}/class/bshruntime/"/> <copy file="installer/Scripting.BeanShell.xcu" tofile="${out}/class/bshruntime/Scripting.xcu"/> <mkdir dir="${out}/class/bshruntime/skip_registration"/> <copy file="${install.dir}/bsh-1.2b7.jar" todir="${out}/class/bshruntime/skip_registration"/> <zip zipfile="${out}/class/sframeworkinstall/sframework/bshruntime.zip" basedir="${out}/class/bshruntime"> </zip> </target> <!-- ========= Package schema, scripts, dialogs & examples =========== --> <target name="packagedialogsandexamples" depends="buildexamples"> <mkdir dir="${out}/class/sframeworkinstall/schema"/> <copy file="installer/Scripting.xcs" todir="${out}/class/sframeworkinstall/schema/"/> <mkdir dir="${out}/class/sframeworkinstall/bindingdialog"/> <copy todir="${out}/class/sframeworkinstall/bindingdialog"> <fileset dir="bindings/"> <include name="**/*.x*"/> </fileset> </copy> <mkdir dir="${out}/class/sframeworkinstall/examples"/> <copy todir="${out}/class/sframeworkinstall/examples"> <fileset dir="${out}/class/examples/"/> </copy> </target> <!-- ===================== Package IDEs ================================== --> <target name="packageide"> <mkdir dir="${out}/class/sframeworkinstall/ide"/> <copy todir="${out}/class/sframeworkinstall/ide"> <fileset dir="${out}/class/"> <include name="idesupport.jar"/> <include name="office.jar"/> </fileset> </copy> </target> <!-- ======================== Compile Classes ========================== --> <target name="compileinstaller"> <mkdir dir="${installerclasses}"/> <javac srcdir="installer/" destdir="${installerclasses}" includes="**/*.java" classpathref="idlclasspath" debug="${debug}" optimize="${optimize}" deprecation="on"/> <copy file="installer/sidebar.jpg" todir="${out}/class/sframeworkinstall/installer"/> </target> <!-- ===================== jar ========================= --> <target name="jar" depends="buildunopackage,buildbshuno,buildjsuno,compileinstaller,packagedialogsandexamples,packageide"> <jar jarfile="${jardir}/${installerjarname}" basedir="${installerclasses}"> <manifest> <attribute name="Built-By" value="Sun Microsystems"/> <attribute name="ScriptFramework-Version" value="${sfversion}"/> <attribute name="Main-Class" value="installer.InstallWizard"/> </manifest> </jar> </target> <!-- ====================== Clean Generated Files ===================== --> <target name="clean"> <delete dir="${scriptingclasses}"/> <delete dir="${storageclasses}"/> <delete dir="${jardir}/${scriptingjarname}"/> </target> <!-- ========================= All In One Build ======================= --> <target name="all" depends="clean,jar"/> </project>