blob: 8dca58117d078c3a250210ad6b324361741bfe47 [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" default="all" basedir=".">
<!-- =================== Environmental Properties ======================= -->
<property name="prj" value=".."/>
<property name="build.compiler" value="modern"/>
<property name="optimize" value="off"/>
<property name="debug" value="on"/>
<property name="jardir" value="${out}/class"/>
<property name="bindir" value="${out}/bin"/>
<property name="idesupport.dir" value="org/openoffice/idesupport"/>
<property name="netbeans.dir" value="org/openoffice/netbeans/modules/office"/>
<property name="framework.dir" value="Framework/com/sun/star/script/framework/security"/>
<!-- Change this property if you are building NetBeans editor support jar.
Not needed in default build -->
<property name="netbeans.install.path" value="/export/home/netbeans"/>
<property environment="env"/>
<property name="env.BSH_JAR" value="${solar.jar}/bsh.jar"/>
<target name="eval_environment">
<condition property="with_rhino">
<equals arg1="${env.ENABLE_JAVASCRIPT}" arg2="YES" />
</condition>
<condition property="with_beanshell">
<equals arg1="${env.ENABLE_BEANSHELL}" arg2="YES" />
</condition>
</target>
<!-- ==================== classpath setting ============================ -->
<path id="idlclasspath">
<pathelement location="${solar.jar}/jurt.jar"/>
<pathelement location="${solar.jar}/unoil.jar"/>
<pathelement location="${solar.jar}/juh.jar"/>
<pathelement location="${solar.jar}/java_uno.jar"/>
<pathelement location="${solar.jar}/ridl.jar"/>
<pathelement location="${env.BSH_JAR}"/>
<pathelement location="${solar.jar}/js.jar"/>
<pathelement location="${jardir}"/>
</path>
<path id="idesupport.class.path">
<pathelement path="${jardir}"/>
</path>
<path id="openide.class.path">
<pathelement path="${jardir}"/>
<pathelement path="${solar.jar}/openide.jar"/>
</path>
<path id="netbeans.editor.support.classpath">
<pathelement path="${jardir}"/>
<pathelement path="${netbeans.install.path}/modules/ext/nb-editor.jar"/>
</path>
<condition property="boot_refID" value="macPath" else="nonMacPath">
<and>
<os family="mac"/>
<os family="unix"/>
</and>
</condition>
<path id="mac.apple.java.path" location="${java.home}/../Classes/classes.jar"/>
<path id="mac.oracle.java.path" location="${java.home}/lib/rt.jar"/>
<condition property="mac.java.path" value="mac.oracle.java.path" else ="mac.apple.java.path">
<and>
<os family="mac"/>
<os family="unix"/>
<contains string="${java.version}" substring="1.7" casesensitive="false" />
<contains string="${java.vendor}" substring="Oracle" casesensitive="false" />
</and>
</condition>
<path id="macPath" refID="${mac.java.path}"/>
<!-- rhino.jar from OpenJDK breaks build -->
<path id="nonMacPath">
<fileset dir="${java.home}/">
<include name="jre/lib/*.jar"/>
<include name="lib/*.jar"/>
<exclude name="jre/lib/rhino.jar"/>
<exclude name="lib/rhino.jar"/>
</fileset>
</path>
<path id="my.bootstrap.classpath" refID="${boot_refID}"/>
<!-- ===================== Prepare Directories ========================= -->
<target name="prepare">
<mkdir dir="${jardir}"/>
</target>
<!-- ======================== Compile Classes ========================== -->
<target name="compile" depends="prepare, eval_environment">
<javac srcdir="com" destdir="${jardir}"
includes="**/*.java" classpathref="idlclasspath" includeantruntime="false"
debug="${debug}" optimize="${optimize}" deprecation="off">
<exclude name="**/provider/javascript/*.java" unless="with_rhino" />
<exclude name="**/provider/beanshell/*.java" unless="with_beanshell" />
<compilerarg value="-Xbootclasspath:${toString:my.bootstrap.classpath}"/>
</javac>
<javac srcdir="Framework/" destdir="${jardir}"
includes="**/*.java" classpathref="idlclasspath" debug="${debug}"
optimize="${optimize}" deprecation="off" includeantruntime="false">
<compilerarg value="-Xbootclasspath:${toString:my.bootstrap.classpath}"/>
</javac>
</target>
<target name="idesupport.compile" depends="compile, prepare">
<javac srcdir="." destdir="${jardir}"
debug="${debug}" deprecation="on">
<classpath refid="idesupport.class.path"/>
<exclude name="${idesupport.dir}/**/.*/*"/>
<exclude name="${idesupport.dir}/localoffice/**/*"/>
<exclude name="${idesupport.dir}/LocalOffice.java"/>
<include name="${idesupport.dir}/*.java"/>
<include name="${idesupport.dir}/*/*.java"/>
</javac>
</target>
<target name="localoffice.compile" depends="prepare">
<javac srcdir="." destdir="${jardir}"
debug="${debug}" deprecation="on">
<classpath refid="idlclasspath"/>
<exclude name="${idesupport.dir}/localoffice/.*/*"/>
<include name="${idesupport.dir}/localoffice/*.java"/>
</javac>
</target>
<target name="netbeans.compile" depends="idesupport.compile, prepare">
<javac srcdir="." destdir="${jardir}"
debug="${debug}" deprecation="on">
<classpath refid="openide.class.path"/>
<exclude name="${netbeans.dir}/**/.*/*"/>
<include name="${netbeans.dir}/**/*.java"/>
</javac>
</target>
<target name="netbeans.editor.support" depends="prepare">
<javac srcdir="." destdir="${jardir}"
debug="${debug}" deprecation="on">
<classpath refid="netbeans.editor.support.classpath"/>
<include name="org/openoffice/netbeans/editor/*.java"/>
</javac>
<jar jarfile="${jardir}/nb-editorsupport.jar">
<fileset dir="${jardir}">
<include name="org/openoffice/netbeans/editor/*.class"/>
</fileset>
<fileset dir=".">
<include name="org/openoffice/netbeans/editor/OOo.jcs"/>
<include name="org/openoffice/netbeans/editor/OOo.jcb"/>
</fileset>
</jar>
</target>
<!-- ===================== jar ========================= -->
<target name="jar.provider.java" depends="compile">
<jar jarfile="${jardir}/ScriptProviderForJava.jar"
basedir="${jardir}">
<manifest>
<attribute name="Built-By" value="Sun Microsystems"/>
<attribute name="RegistrationClassName"
value="com.sun.star.script.framework.provider.java.ScriptProviderForJava"/>
<attribute name="Class-Path" value="ScriptFramework.jar"/>
<attribute name="UNO-Type-Path" value=""/>
</manifest>
<include name="**/provider/java/*.class"/>
</jar>
</target>
<target name="jar.provider.beanshell" depends="compile" if="with_beanshell">
<jar jarfile="${jardir}/ScriptProviderForBeanShell.jar"
basedir="${jardir}">
<manifest>
<attribute name="Built-By" value="Sun Microsystems"/>
<attribute name="RegistrationClassName"
value="com.sun.star.script.framework.provider.beanshell.ScriptProviderForBeanShell"/>
<attribute name="Class-Path" value="ScriptFramework.jar bsh.jar"/>
<attribute name="UNO-Type-Path" value=""/>
</manifest>
<include name="**/provider/beanshell/*.class"/>
<fileset dir=".">
<include name="**/provider/beanshell/*.bsh"/>
</fileset>
</jar>
</target>
<target name="jar.provider.javascript" depends="compile" if="with_rhino">
<jar jarfile="${jardir}/ScriptProviderForJavaScript.jar"
basedir="${jardir}">
<manifest>
<attribute name="Built-By" value="Sun Microsystems"/>
<attribute name="RegistrationClassName"
value="com.sun.star.script.framework.provider.javascript.ScriptProviderForJavaScript"/>
<attribute name="Class-Path" value="ScriptFramework.jar js.jar"/>
<attribute name="UNO-Type-Path" value=""/>
</manifest>
<include name="**/provider/javascript/*.class"/>
<fileset dir=".">
<include name="**/provider/javascript/*.js"/>
</fileset>
</jar>
</target>
<target name="jar.scriptframework" depends="compile">
<jar jarfile="${jardir}/ScriptFramework.jar"
basedir="${jardir}">
<manifest>
<attribute name="Built-By" value="Sun Microsystems"/>
<attribute name="RegistrationClassName"
value="com.sun.star.script.framework.security.SecurityDialog"/>
<attribute name="UNO-Type-Path" value=""/>
</manifest>
<include name="**/security/*"/>
<include name="**/log/*.class"/>
<include name="**/provider/*.class"/>
<include name="**/browse/*.class"/>
<include name="**/container/*.class"/>
<include name="**/io/*.class"/>
</jar>
</target>
<target name="jar" depends="jar.provider.java,jar.provider.beanshell,jar.provider.javascript,jar.scriptframework">
</target>
<target name="idesupport.jar" depends="idesupport.compile">
<jar jarfile="${jardir}/idesupport.jar">
<fileset dir="${jardir}">
<include name="${idesupport.dir}/**/*.class"/>
<include name="CommandLineTools*"/>
<exclude name="${idesupport.dir}/localoffice/*.class"/>
</fileset>
<fileset dir=".">
<include name="${idesupport.dir}/ui/add.gif"/>
</fileset>
</jar>
</target>
<target name="localoffice.jar" depends="localoffice.compile">
<unjar
src="${solar.jar}/unoil.jar"
dest="${jardir}"/>
<jar jarfile="${jardir}/localoffice.jar">
<fileset dir="${jardir}">
<include name="${idesupport.dir}/localoffice/*.class"/>
<include name="drafts/com/sun/star/script/framework/storage/*.class"/>
</fileset>
</jar>
</target>
<target name="netbeans.jar" depends="netbeans.compile">
<jar jarfile="${jardir}/office.jar" manifest="manifest.mf">
<fileset dir="${jardir}">
<include name="${netbeans.dir}/**/*.class"/>
<exclude name="${netbeans.dir}/**/ParcelDescriptorChildren.class"/>
<exclude name="${netbeans.dir}/**/ScriptNode.class"/>
<include name="${idesupport.dir}/**/*.class"/>
<include name="CommandLineTools*"/>
</fileset>
<fileset dir=".">
<include name="${idesupport.dir}/ui/add.gif"/>
<include name="${netbeans.dir}/resources/*"/>
<include name="${netbeans.dir}/resources/templates/*"/>
<include name="${netbeans.dir}/**/Bundle*"/>
</fileset>
</jar>
</target>
<!-- Uncomment this target when building within NetBeans to reinstall the
module.
<target name="netbeans.install" depends="netbeans.package">
<copy file="${jardir}/localoffice.jar"
tofile="${netbeans.home}/modules/ext/localoffice.jar"/>
<nbinstaller action="reinstall" module="${jardir}/office.jar"/>
</target>
-->
<!-- ====================== Clean Generated Files ===================== -->
<target name="clean">
<delete file="${jardir}/ScriptProviderForJava.jar"/>
<delete file="${jardir}/ScriptProviderForJavaScript.jar"/>
<delete file="${jardir}/ScriptProviderForBeanShell.jar"/>
<delete file="${jardir}/ScriptFramework.jar"/>
<delete file="${jardir}/office.jar"/>
<delete file="${jardir}/localoffice.jar"/>
<delete file="${jardir}/idesupport.jar"/>
</target>
<!-- ========================= All In One Build ======================= -->
<target name="all" depends="jar"/>
</project>