blob: 6dcc48eaa058af026052bad5db4f01376e31aa9e [file] [log] [blame]
<!--***********************************************************
*
* 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="Scipting Framework Installer" default="jar" basedir=".">
<!-- =================== Environmental Properties ======================= -->
<property name="prj" value=".."/>
<property file="${prj}/java/build.env"/>
<property name="build.compiler" value="modern"/>
<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>