<!--*********************************************************** * * 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="classic"/> <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="macPath" location="${java.home}/../Classes/classes.jar"/> <!-- 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>