1*b1cdbd2cSJim Jagielski<?xml version="1.0" encoding="UTF-8"?> 2*b1cdbd2cSJim Jagielski<!--*********************************************************** 3*b1cdbd2cSJim Jagielski * 4*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 5*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 6*b1cdbd2cSJim Jagielski * distributed with this work for additional information 7*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 8*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 9*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 10*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 11*b1cdbd2cSJim Jagielski * 12*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 13*b1cdbd2cSJim Jagielski * 14*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 15*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 16*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 17*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 18*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 19*b1cdbd2cSJim Jagielski * under the License. 20*b1cdbd2cSJim Jagielski * 21*b1cdbd2cSJim Jagielski ***********************************************************--> 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski<project default="all"> 25*b1cdbd2cSJim Jagielski <target name="init"> 26*b1cdbd2cSJim Jagielski <property environment="env"/> 27*b1cdbd2cSJim Jagielski <property name="ext" value="oxt"/> 28*b1cdbd2cSJim Jagielski <property name="officeroot" value="/export/home/mav/OFFICES/OOG680/m5_netbeans_pro"/> 29*b1cdbd2cSJim Jagielski <property name="office.home" value="${officeroot}"/> 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski <!-- fallbacks for locations, when solenv is not used --> 32*b1cdbd2cSJim Jagielski <condition property="target" value="wikiaddon"> 33*b1cdbd2cSJim Jagielski <not><isset property="target"/></not> 34*b1cdbd2cSJim Jagielski </condition> 35*b1cdbd2cSJim Jagielski <condition property="out" value="./build"> 36*b1cdbd2cSJim Jagielski <not><isset property="out"/></not> 37*b1cdbd2cSJim Jagielski </condition> 38*b1cdbd2cSJim Jagielski <condition property="solar.jar" value="${officeroot}/program/classes"> 39*b1cdbd2cSJim Jagielski <not><isset property="solar.jar"/></not> 40*b1cdbd2cSJim Jagielski </condition> 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski <!-- locations used throughout the build --> 43*b1cdbd2cSJim Jagielski <property name="name" value="wiki-publisher"/> 44*b1cdbd2cSJim Jagielski <property name="dist" value="${out}/bin"/> 45*b1cdbd2cSJim Jagielski <property name="classes" value="${out}/class"/> 46*b1cdbd2cSJim Jagielski <property name="classes.test" value="${out}/class-test"/> 47*b1cdbd2cSJim Jagielski <property name="officeclasses" value="${solar.jar}"/> 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski <!-- build options --> 50*b1cdbd2cSJim Jagielski <property name="sourcelevel" value="1.4"/> 51*b1cdbd2cSJim Jagielski <property name="verbose" value="false"/> 52*b1cdbd2cSJim Jagielski <property name="debug" value="${antdebug}"/> 53*b1cdbd2cSJim Jagielski 54*b1cdbd2cSJim Jagielski <!-- build classpath --> 55*b1cdbd2cSJim Jagielski <path id="classpath"> 56*b1cdbd2cSJim Jagielski <pathelement location="${officeclasses}/juh.jar"/> 57*b1cdbd2cSJim Jagielski <pathelement location="${officeclasses}/jurt.jar"/> 58*b1cdbd2cSJim Jagielski <pathelement location="${officeclasses}/ridl.jar"/> 59*b1cdbd2cSJim Jagielski <pathelement location="${officeclasses}/unoil.jar"/> 60*b1cdbd2cSJim Jagielski <!-- 3rd party libs --> 61*b1cdbd2cSJim Jagielski <pathelement location="${commons-codec-jar}"/> 62*b1cdbd2cSJim Jagielski <pathelement location="${commons-httpclient-jar}"/> 63*b1cdbd2cSJim Jagielski <pathelement location="${commons-lang-jar}"/> 64*b1cdbd2cSJim Jagielski <pathelement location="${commons-logging-jar}"/> 65*b1cdbd2cSJim Jagielski </path> 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski <!-- create output directories --> 68*b1cdbd2cSJim Jagielski <mkdir dir="${classes}"/> 69*b1cdbd2cSJim Jagielski <mkdir dir="${classes.test}"/> 70*b1cdbd2cSJim Jagielski <mkdir dir="${dist}"/> 71*b1cdbd2cSJim Jagielski </target> 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski <target name="compile" depends="init"> 74*b1cdbd2cSJim Jagielski <javac debug="${debug}" debuglevel="lines,vars,source" destdir="${classes}" classpathref="classpath" 75*b1cdbd2cSJim Jagielski source="${sourcelevel}" verbose="${verbose}" includeantruntime="false"> 76*b1cdbd2cSJim Jagielski <src path="src"/> 77*b1cdbd2cSJim Jagielski </javac> 78*b1cdbd2cSJim Jagielski </target> 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski <target name="xcucheck" depends="init"> 81*b1cdbd2cSJim Jagielski <condition property="no.merge.present"> 82*b1cdbd2cSJim Jagielski <not> 83*b1cdbd2cSJim Jagielski <available file="${out}/misc/${target}/merge/org/openoffice/Office/Custom/WikiExtension.xcu" type="file"/> 84*b1cdbd2cSJim Jagielski </not> 85*b1cdbd2cSJim Jagielski </condition> 86*b1cdbd2cSJim Jagielski </target> 87*b1cdbd2cSJim Jagielski 88*b1cdbd2cSJim Jagielski <target name="xcumerge" depends="xcucheck, init" if="no.merge.present"> 89*b1cdbd2cSJim Jagielski <copy todir="${out}/misc/${target}/merge"> 90*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/registry/data" includes="**/*.xcu" casesensitive="yes"/> 91*b1cdbd2cSJim Jagielski </copy> 92*b1cdbd2cSJim Jagielski </target> 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski <target name="jar" depends="compile, init"> 95*b1cdbd2cSJim Jagielski <jar basedir="${classes}" compress="true" jarfile="${dist}/${target}.jar"> 96*b1cdbd2cSJim Jagielski <manifest> 97*b1cdbd2cSJim Jagielski <!-- FIXME: Set Class-Path correctly for the system case !--> 98*b1cdbd2cSJim Jagielski <attribute name="Class-Path" value="commons-codec-1.9.jar commons-lang3-3.3.jar commons-httpclient-3.1.jar commons-logging-1.1.3.jar"/> 99*b1cdbd2cSJim Jagielski <attribute name="RegistrationClassName" value="com.sun.star.wiki.WikiEditorImpl"/> 100*b1cdbd2cSJim Jagielski </manifest> 101*b1cdbd2cSJim Jagielski </jar> 102*b1cdbd2cSJim Jagielski </target> 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski <target name="tmpdir" depends="xcumerge, jar, init"> 105*b1cdbd2cSJim Jagielski <copy todir="${out}/misc/${target}/package_tmp" overwrite="true" encoding="UTF-8"> 106*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}" includes="description.xml" casesensitive="yes"/> 107*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/registry/schema/org/openoffice/Office/Custom" includes="*.xcs" casesensitive="yes"/> 108*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/registry/data/org/openoffice/Office" includes="ProtocolHandler.xcu,Paths.xcu" casesensitive="yes"/> 109*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/merge/org/openoffice/Office/Custom" includes="*.xcu" casesensitive="yes"/> 110*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/merge/org/openoffice/Office" includes="*.xcu" casesensitive="yes"/> 111*b1cdbd2cSJim Jagielski <!-- FIXME: currently the build xcu files can not be used since the tag containing x-default attribute is thrown away, issue 99378 112*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/merge/org/openoffice/TypeDetection" includes="*.xcu" casesensitive="yes"/> 113*b1cdbd2cSJim Jagielski --> 114*b1cdbd2cSJim Jagielski <fileset dir="src/registry/data/org/openoffice/TypeDetection" includes="*.xcu" casesensitive="yes"/> 115*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}" includes="help/component.txt" casesensitive="yes"/> 116*b1cdbd2cSJim Jagielski <filterset> 117*b1cdbd2cSJim Jagielski <filter token="WIKIEXTENSIONPRODUCTNAME" value="Wiki Publisher"/> 118*b1cdbd2cSJim Jagielski <filter token="WIKIEXTENSIONID" value="com.sun.wiki-publisher"/> 119*b1cdbd2cSJim Jagielski <filter token="WIKIEXTENSIONFILENAME" value="${name}"/> 120*b1cdbd2cSJim Jagielski </filterset> 121*b1cdbd2cSJim Jagielski </copy> 122*b1cdbd2cSJim Jagielski </target> 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski <target name="uno-package" depends="tmpdir, xcumerge, jar, init"> 125*b1cdbd2cSJim Jagielski <delete file="${dist}/${name}.${ext}"/> 126*b1cdbd2cSJim Jagielski <zip destfile="${dist}/${name}.${ext}"> 127*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/package_tmp" casesensitive="yes"/> 128*b1cdbd2cSJim Jagielski <fileset dir="${dist}" includes="${target}.jar" casesensitive="yes"/> 129*b1cdbd2cSJim Jagielski <file file="${commons-codec-jar}"/> 130*b1cdbd2cSJim Jagielski <file file="${commons-httpclient-jar}"/> 131*b1cdbd2cSJim Jagielski <file file="${commons-lang-jar}"/> 132*b1cdbd2cSJim Jagielski <file file="${commons-logging-jar}"/> 133*b1cdbd2cSJim Jagielski <zipfileset file="src/filter/odt2mediawiki.xsl" casesensitive="yes" fullpath="filter/odt2mediawiki.xsl"/> 134*b1cdbd2cSJim Jagielski <zipfileset file="src/filter/mediawiki.ott" casesensitive="yes" fullpath="templates/MediaWiki/mediawiki.ott"/> 135*b1cdbd2cSJim Jagielski <zipfileset dir="${solar.bin}/xslt/export/xsltml" casesensitive="yes" prefix="filter/math"/> 136*b1cdbd2cSJim Jagielski <zipfileset dir="src" includes="uno-extension-manifest.xml" casesensitive="yes" fullpath="META-INF/manifest.xml"/> 137*b1cdbd2cSJim Jagielski <zipfileset dir="dialogs" includes="**/*.xdl,**/*.xba,**/*.xlb" casesensitive="yes" prefix="WikiEditor"/> 138*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/license" includes="LICENSE*" casesensitive="yes" prefix="license"/> 139*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/help" includes="**/*.idxl/*,**/*.*_,**/*.jar" casesensitive="yes" prefix="help"/> 140*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/help" includes="**/*.xhp" casesensitive="yes" prefix="help"/> 141*b1cdbd2cSJim Jagielski <zipfileset dir="src" includes="THIRDPARTYLICENSEREADME.html" casesensitive="yes" prefix="license"/> 142*b1cdbd2cSJim Jagielski </zip> 143*b1cdbd2cSJim Jagielski </target> 144*b1cdbd2cSJim Jagielski 145*b1cdbd2cSJim Jagielski <target name="development-package" depends="jar, init"> 146*b1cdbd2cSJim Jagielski <delete file="${dist}/${target}_develop.zip"/> 147*b1cdbd2cSJim Jagielski <zip destfile="${dist}/${target}_develop.zip"> 148*b1cdbd2cSJim Jagielski <zipfileset dir="${dist}" includes="${target}.jar" casesensitive="yes" filemode="664" dirmode="775"/> 149*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}" includes="description.xml" casesensitive="yes" filemode="664" dirmode="775"/> 150*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/registry/schema/org/openoffice/Office/Custom" includes="*.xcs" casesensitive="yes" filemode="664" dirmode="775"/> 151*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/registry/data/org/openoffice/Office" includes="ProtocolHandler.xcu,Paths.xcu" casesensitive="yes" filemode="664" dirmode="775"/> 152*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/merge/org/openoffice/Office/Custom" includes="*.xcu" casesensitive="yes" filemode="664" dirmode="775"/> 153*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/merge/org/openoffice/Office" includes="*.xcu" excludes="**/ProtocolHandler.xcu,**/Paths.xcu" casesensitive="yes" filemode="664" dirmode="775"/> 154*b1cdbd2cSJim Jagielski <!-- FIXME: currently the build xcu files can not be used since the tag containing x-default attribute is thrown away, issue 99378 155*b1cdbd2cSJim Jagielski <fileset dir="${out}/misc/${target}/merge/org/openoffice/TypeDetection" includes="*.xcu" casesensitive="yes" filemode="664" dirmode="775"/> 156*b1cdbd2cSJim Jagielski --> 157*b1cdbd2cSJim Jagielski <zipfileset dir="src/registry/data/org/openoffice/TypeDetection" includes="*.xcu" casesensitive="yes" filemode="664" dirmode="775"/> 158*b1cdbd2cSJim Jagielski <zipfileset file="src/filter/odt2mediawiki.xsl" casesensitive="yes" fullpath="filter/odt2mediawiki.xsl" filemode="664" dirmode="775"/> 159*b1cdbd2cSJim Jagielski <zipfileset file="src/filter/mediawiki.ott" casesensitive="yes" fullpath="templates/MediaWiki/mediawiki.ott" filemode="664" dirmode="775"/> 160*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/help" includes="component.txt" casesensitive="yes" prefix="help" filemode="664" dirmode="775"/> 161*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}_merge/help" includes="**/*.xhp" casesensitive="yes" prefix="help" filemode="664" dirmode="775"/> 162*b1cdbd2cSJim Jagielski <zipfileset dir="dialogs" includes="**/*.xdl,**/*.xba,**/*.xlb" casesensitive="yes" prefix="WikiEditor" filemode="664" dirmode="775"/> 163*b1cdbd2cSJim Jagielski <zipfileset dir="src" includes="uno-extension-manifest.xml" casesensitive="yes" fullpath="META-INF/manifest.xml" filemode="664" dirmode="775"/> 164*b1cdbd2cSJim Jagielski <zipfileset dir="${out}/misc/${target}/license" includes="LICENSE*" casesensitive="yes" prefix="license" filemode="664" dirmode="775"/> 165*b1cdbd2cSJim Jagielski <zipfileset dir="src" includes="THIRDPARTYLICENSEREADME.html" casesensitive="yes" prefix="license" filemode="664" dirmode="775"/> 166*b1cdbd2cSJim Jagielski </zip> 167*b1cdbd2cSJim Jagielski </target> 168*b1cdbd2cSJim Jagielski 169*b1cdbd2cSJim Jagielski <target depends="init, jar, uno-package, development-package" description="Build everything." name="all"> 170*b1cdbd2cSJim Jagielski <echo message="${name} built."/> 171*b1cdbd2cSJim Jagielski </target> 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski <target depends="init" description="Clean all build products." name="clean"> 174*b1cdbd2cSJim Jagielski <delete dir="${classes}/com/sun/star/wiki"/> 175*b1cdbd2cSJim Jagielski <delete dir="${out}/misc/${target}"/> 176*b1cdbd2cSJim Jagielski <delete dir="${dist}/${target}.jar"/> 177*b1cdbd2cSJim Jagielski <delete dir="${dist}/${name}.${ext}"/> 178*b1cdbd2cSJim Jagielski <delete dir="${dist}/${target}_develop.zip"/> 179*b1cdbd2cSJim Jagielski </target> 180*b1cdbd2cSJim Jagielski 181*b1cdbd2cSJim Jagielski <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 182*b1cdbd2cSJim Jagielski 183*b1cdbd2cSJim Jagielski <target name="uno-deploy" description="Deploys UNO extension package" depends="uno-package"> 184*b1cdbd2cSJim Jagielski <echo message="deploying UNO extension package ..."/> 185*b1cdbd2cSJim Jagielski <echo message="${office.unopkg} add -f ${uno.package.name}"/> 186*b1cdbd2cSJim Jagielski <exec executable="${office.unopkg}" dir="${office.program.dir}" failonerror="true"> 187*b1cdbd2cSJim Jagielski <arg value="add"/> 188*b1cdbd2cSJim Jagielski <arg value="-f"/> 189*b1cdbd2cSJim Jagielski <arg file="${uno.package.name}"/> 190*b1cdbd2cSJim Jagielski </exec> 191*b1cdbd2cSJim Jagielski </target> 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 194*b1cdbd2cSJim Jagielski 195*b1cdbd2cSJim Jagielski <target name="uno-debug" description="Debugss UNO extension package in Target Office" depends="uno-package"> 196*b1cdbd2cSJim Jagielski <!-- security fail for executing this without netbeans --> 197*b1cdbd2cSJim Jagielski <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail> 198*b1cdbd2cSJim Jagielski <!-- start debugger and get connection address jpda.address --> 199*b1cdbd2cSJim Jagielski <nbjpdastart name="Debug Office" addressproperty="jpda.address" transport="dt_socket"> 200*b1cdbd2cSJim Jagielski <classpath path="${build.classes.dir}"/> 201*b1cdbd2cSJim Jagielski <sourcepath path="${src.dir}"/> 202*b1cdbd2cSJim Jagielski </nbjpdastart> 203*b1cdbd2cSJim Jagielski <!-- register component in temporaary user installation --> 204*b1cdbd2cSJim Jagielski <echo message="debugging UNO extension package ..."/> 205*b1cdbd2cSJim Jagielski <echo message="wait until preparation is finished."/> 206*b1cdbd2cSJim Jagielski <echo message=" deploying UNO extension package for debugging ..."/> 207*b1cdbd2cSJim Jagielski <echo message=" ${office.unopkg} add -f ${uno.package.name}"/> 208*b1cdbd2cSJim Jagielski <exec executable="${office.unopkg}" dir="${office.program.dir}"> 209*b1cdbd2cSJim Jagielski <arg value="add"/> 210*b1cdbd2cSJim Jagielski <arg value="-f"/> 211*b1cdbd2cSJim Jagielski <arg file="${uno.package.name}"/> 212*b1cdbd2cSJim Jagielski <env key="UserInstallation" value="${office.debug.user.directory}"/> 213*b1cdbd2cSJim Jagielski </exec> 214*b1cdbd2cSJim Jagielski <!-- start Office with debug Java and user installation --> 215*b1cdbd2cSJim Jagielski <echo message=" starting the Office with ..."/> 216*b1cdbd2cSJim Jagielski <echo message=" user installation: ${office.debug.user.directory}"/> 217*b1cdbd2cSJim Jagielski <echo message=" debug options: "-Xdebug" "-Xrunjdwp:transport=dt_socket,address=${jpda.address}""/> 218*b1cdbd2cSJim Jagielski <echo message=" ${office.soffice}"/> 219*b1cdbd2cSJim Jagielski <echo message="preparation finished."/> 220*b1cdbd2cSJim Jagielski <exec executable="${office.soffice}" dir="${office.program.dir}" failonerror="true"> 221*b1cdbd2cSJim Jagielski <env key="UserInstallation" value="${office.debug.user.directory}"/> 222*b1cdbd2cSJim Jagielski <env key="JAVA_TOOL_OPTIONS" value=""-Xdebug" "-Xrunjdwp:transport=dt_socket,address=${jpda.address}""/> 223*b1cdbd2cSJim Jagielski </exec> 224*b1cdbd2cSJim Jagielski </target> 225*b1cdbd2cSJim Jagielski</project> 226