| <!--*********************************************************** |
| * |
| * 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> |