xref: /aoo4110/main/swext/mediawiki/build.xml (revision b1cdbd2c)
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:     &quot;-Xdebug&quot; &quot;-Xrunjdwp:transport=dt_socket,address=${jpda.address}&quot;"/>
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="&quot;-Xdebug&quot; &quot;-Xrunjdwp:transport=dt_socket,address=${jpda.address}&quot;"/>
223*b1cdbd2cSJim Jagielski        </exec>
224*b1cdbd2cSJim Jagielski   </target>
225*b1cdbd2cSJim Jagielski</project>
226