1*956476d7SDamjan Jovanovic<?xml version="1.0" encoding="UTF-8"?>
2*956476d7SDamjan Jovanovic<!--***********************************************************
3*956476d7SDamjan Jovanovic *
4*956476d7SDamjan Jovanovic * Licensed to the Apache Software Foundation (ASF) under one
5*956476d7SDamjan Jovanovic * or more contributor license agreements.  See the NOTICE file
6*956476d7SDamjan Jovanovic * distributed with this work for additional information
7*956476d7SDamjan Jovanovic * regarding copyright ownership.  The ASF licenses this file
8*956476d7SDamjan Jovanovic * to you under the Apache License, Version 2.0 (the
9*956476d7SDamjan Jovanovic * "License"); you may not use this file except in compliance
10*956476d7SDamjan Jovanovic * with the License.  You may obtain a copy of the License at
11*956476d7SDamjan Jovanovic *
12*956476d7SDamjan Jovanovic *   http://www.apache.org/licenses/LICENSE-2.0
13*956476d7SDamjan Jovanovic *
14*956476d7SDamjan Jovanovic * Unless required by applicable law or agreed to in writing,
15*956476d7SDamjan Jovanovic * software distributed under the License is distributed on an
16*956476d7SDamjan Jovanovic * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17*956476d7SDamjan Jovanovic * KIND, either express or implied.  See the License for the
18*956476d7SDamjan Jovanovic * specific language governing permissions and limitations
19*956476d7SDamjan Jovanovic * under the License.
20*956476d7SDamjan Jovanovic *
21*956476d7SDamjan Jovanovic ***********************************************************-->
22*956476d7SDamjan Jovanovic
23*956476d7SDamjan Jovanovic
24*956476d7SDamjan Jovanovic<project name="sdbc_jdbc" default="main" basedir=".">
25*956476d7SDamjan Jovanovic
26*956476d7SDamjan Jovanovic    <!-- ================================================================= -->
27*956476d7SDamjan Jovanovic    <!-- settings                                                          -->
28*956476d7SDamjan Jovanovic    <!-- ================================================================= -->
29*956476d7SDamjan Jovanovic
30*956476d7SDamjan Jovanovic    <!-- global properties -->
31*956476d7SDamjan Jovanovic    <property file="../../../ant.properties"/>
32*956476d7SDamjan Jovanovic    <!-- version info -->
33*956476d7SDamjan Jovanovic    <property file="../../../solenv/inc/minor.mk"/>
34*956476d7SDamjan Jovanovic
35*956476d7SDamjan Jovanovic    <!-- name of this sub target used in recursive builds -->
36*956476d7SDamjan Jovanovic    <property name="target" value="sdbc_jdbc"/>
37*956476d7SDamjan Jovanovic
38*956476d7SDamjan Jovanovic    <!-- name of jar file created, without .jar extension -->
39*956476d7SDamjan Jovanovic    <property name="jarname" value="sdbc_jdbc"/>
40*956476d7SDamjan Jovanovic
41*956476d7SDamjan Jovanovic    <!-- relative path to project directory -->
42*956476d7SDamjan Jovanovic    <property name="prj" value="../.."/>
43*956476d7SDamjan Jovanovic
44*956476d7SDamjan Jovanovic    <!-- build output directory -->
45*956476d7SDamjan Jovanovic    <!-- FIXME: there are also extremely rare/obsolete dbcs/bndchk/truetime/hbtoolkit cases in main/solenv/inc/settings.mk -->
46*956476d7SDamjan Jovanovic    <condition property="out" value="${prj}/${OUTPATH}.cap">
47*956476d7SDamjan Jovanovic        <isset property="${profile}"/>
48*956476d7SDamjan Jovanovic    </condition>
49*956476d7SDamjan Jovanovic    <condition property="out" value="${prj}/${OUTPATH}.pro">
50*956476d7SDamjan Jovanovic        <isset property="${PRODUCT}"/>
51*956476d7SDamjan Jovanovic    </condition>
52*956476d7SDamjan Jovanovic    <property name="out" value="${prj}/${OUTPATH}"/>
53*956476d7SDamjan Jovanovic
54*956476d7SDamjan Jovanovic    <!-- build directories -->
55*956476d7SDamjan Jovanovic    <property name="build.dir" value="${out}"/>
56*956476d7SDamjan Jovanovic    <property name="build.class" value="${build.dir}/class/${target}"/>
57*956476d7SDamjan Jovanovic    <property name="build.misc" value="${build.dir}/misc/${target}"/>
58*956476d7SDamjan Jovanovic
59*956476d7SDamjan Jovanovic    <!-- start of java source code package structure -->
60*956476d7SDamjan Jovanovic    <property name="java.dir" value="src"/>
61*956476d7SDamjan Jovanovic
62*956476d7SDamjan Jovanovic    <!-- define how to handle CLASSPATH environment -->
63*956476d7SDamjan Jovanovic    <property name="build.sysclasspath" value="ignore"/>
64*956476d7SDamjan Jovanovic
65*956476d7SDamjan Jovanovic    <!-- classpath settings for compile and javadoc tasks -->
66*956476d7SDamjan Jovanovic    <condition property="jar-class-path" value="${COMMONS_LANG_JAR}" else="commons-lang3-3.3.jar">
67*956476d7SDamjan Jovanovic        <equals arg1="${SYSTEM_APACHE_COMMONS}" arg2="YES"/>
68*956476d7SDamjan Jovanovic    </condition>
69*956476d7SDamjan Jovanovic    <condition property="commons-lang-jar" value="${COMMONS_LANG_JAR}" else="${OUTDIR}/bin/commons-lang3-3.3.jar">
70*956476d7SDamjan Jovanovic        <equals arg1="${SYSTEM_APACHE_COMMONS}" arg2="YES"/>
71*956476d7SDamjan Jovanovic    </condition>
72*956476d7SDamjan Jovanovic    <path id="classpath">
73*956476d7SDamjan Jovanovic        <pathelement location="${OUTDIR}/bin/juh.jar"/>
74*956476d7SDamjan Jovanovic        <pathelement location="${OUTDIR}/bin/jurt.jar"/>
75*956476d7SDamjan Jovanovic        <pathelement location="${OUTDIR}/bin/ridl.jar"/>
76*956476d7SDamjan Jovanovic        <pathelement location="${OUTDIR}/bin/unoil.jar"/>
77*956476d7SDamjan Jovanovic    	<pathelement location="${out}/class/dbtools/dbtools.jar"/>
78*956476d7SDamjan Jovanovic        <!-- 3rd party libs -->
79*956476d7SDamjan Jovanovic        <pathelement location="${commons-lang-jar}"/>
80*956476d7SDamjan Jovanovic    </path>
81*956476d7SDamjan Jovanovic
82*956476d7SDamjan Jovanovic    <!-- name to display in documentation -->
83*956476d7SDamjan Jovanovic    <property name="docname" value="sdbc_jdbc"/>
84*956476d7SDamjan Jovanovic
85*956476d7SDamjan Jovanovic    <!-- set "modern" java compiler -->
86*956476d7SDamjan Jovanovic    <property name="build.compiler" value="modern"/>
87*956476d7SDamjan Jovanovic
88*956476d7SDamjan Jovanovic    <!-- set wether we want to compile with debug information -->
89*956476d7SDamjan Jovanovic    <property name="debug" value="on"/>
90*956476d7SDamjan Jovanovic
91*956476d7SDamjan Jovanovic    <!-- set wether we want to compile with optimisation -->
92*956476d7SDamjan Jovanovic    <property name="optimize" value="off"/>
93*956476d7SDamjan Jovanovic
94*956476d7SDamjan Jovanovic    <!-- set wether we want to compile with or without deprecation -->
95*956476d7SDamjan Jovanovic    <property name="deprecation" value="on"/>
96*956476d7SDamjan Jovanovic
97*956476d7SDamjan Jovanovic    <target name="info">
98*956476d7SDamjan Jovanovic        <echo message="--------------------"/>
99*956476d7SDamjan Jovanovic        <echo message="${target}"/>
100*956476d7SDamjan Jovanovic        <echo message="--------------------"/>
101*956476d7SDamjan Jovanovic    </target>
102*956476d7SDamjan Jovanovic
103*956476d7SDamjan Jovanovic    <!-- ================================================================= -->
104*956476d7SDamjan Jovanovic    <!-- custom targets                                                    -->
105*956476d7SDamjan Jovanovic    <!-- ================================================================= -->
106*956476d7SDamjan Jovanovic
107*956476d7SDamjan Jovanovic    <!-- the main target, called in recursive builds -->
108*956476d7SDamjan Jovanovic    <target name="main" depends="info,prepare,compile,jar,javadoc,zipdoc"/>
109*956476d7SDamjan Jovanovic
110*956476d7SDamjan Jovanovic    <!-- prepare output directories -->
111*956476d7SDamjan Jovanovic    <target name="prepare">
112*956476d7SDamjan Jovanovic        <mkdir dir="${build.dir}"/>
113*956476d7SDamjan Jovanovic        <mkdir dir="${build.dir}/doc/${target}"/>
114*956476d7SDamjan Jovanovic        <mkdir dir="${build.class}"/>
115*956476d7SDamjan Jovanovic        <mkdir dir="${build.misc}"/>
116*956476d7SDamjan Jovanovic    </target>
117*956476d7SDamjan Jovanovic
118*956476d7SDamjan Jovanovic
119*956476d7SDamjan Jovanovic    <target name="res" depends="prepare">
120*956476d7SDamjan Jovanovic        <copy todir="${build.class}">
121*956476d7SDamjan Jovanovic             <fileset dir="${java.dir}">
122*956476d7SDamjan Jovanovic                 <include name="**/*.properties"/>
123*956476d7SDamjan Jovanovic                 <include name="**/*.css"/>
124*956476d7SDamjan Jovanovic                 <include name="**/*.dtd"/>
125*956476d7SDamjan Jovanovic                 <include name="**/*.form"/>
126*956476d7SDamjan Jovanovic                 <include name="**/*.gif "/>
127*956476d7SDamjan Jovanovic                 <include name="**/*.htm"/>
128*956476d7SDamjan Jovanovic                 <include name="**/*.html"/>
129*956476d7SDamjan Jovanovic                 <include name="**/*.js"/>
130*956476d7SDamjan Jovanovic                 <include name="**/*.mod"/>
131*956476d7SDamjan Jovanovic                 <include name="**/*.sql"/>
132*956476d7SDamjan Jovanovic                 <include name="**/*.xml"/>
133*956476d7SDamjan Jovanovic                 <include name="**/*.xsl"/>
134*956476d7SDamjan Jovanovic                 <include name="**/*.map"/>
135*956476d7SDamjan Jovanovic
136*956476d7SDamjan Jovanovic             </fileset>
137*956476d7SDamjan Jovanovic        </copy>
138*956476d7SDamjan Jovanovic    </target>
139*956476d7SDamjan Jovanovic
140*956476d7SDamjan Jovanovic
141*956476d7SDamjan Jovanovic    <target name="compile" depends="prepare,res">
142*956476d7SDamjan Jovanovic	<javac destdir="${build.class}"
143*956476d7SDamjan Jovanovic	       debug="${debug}"
144*956476d7SDamjan Jovanovic               debuglevel="lines,vars,source"
145*956476d7SDamjan Jovanovic               deprecation="${deprecation}"
146*956476d7SDamjan Jovanovic	       optimize="${optimize}"
147*956476d7SDamjan Jovanovic	       classpathref="classpath">
148*956476d7SDamjan Jovanovic            <src path="${java.dir}"/>
149*956476d7SDamjan Jovanovic	    <include name="**/*.java"/>
150*956476d7SDamjan Jovanovic	</javac>
151*956476d7SDamjan Jovanovic    </target>
152*956476d7SDamjan Jovanovic
153*956476d7SDamjan Jovanovic    <!-- check if javadoc is up to date -->
154*956476d7SDamjan Jovanovic    <target name="javadoc_check" depends="prepare" if="build.dir">
155*956476d7SDamjan Jovanovic	<uptodate property="javadocBuild.notRequired" value="true"
156*956476d7SDamjan Jovanovic            targetfile="${build.dir}/doc/${target}/${target}_javadoc.zip">
157*956476d7SDamjan Jovanovic		<srcfiles dir="${java.dir}" includes="**/*.java"/>
158*956476d7SDamjan Jovanovic	</uptodate>
159*956476d7SDamjan Jovanovic    </target>
160*956476d7SDamjan Jovanovic
161*956476d7SDamjan Jovanovic    <!-- generate java documentation -->
162*956476d7SDamjan Jovanovic    <target name="javadoc" depends="prepare,javadoc_check,compile"
163*956476d7SDamjan Jovanovic         unless="javadocBuild.notRequired"
164*956476d7SDamjan Jovanovic         if="build.dir">
165*956476d7SDamjan Jovanovic
166*956476d7SDamjan Jovanovic        <javadoc destdir="${build.dir}/doc/${target}/javadoc"
167*956476d7SDamjan Jovanovic                 verbose="false"
168*956476d7SDamjan Jovanovic                 author="false"
169*956476d7SDamjan Jovanovic                 nodeprecated="true"
170*956476d7SDamjan Jovanovic                 nodeprecatedlist="true"
171*956476d7SDamjan Jovanovic                 use="true"
172*956476d7SDamjan Jovanovic                 Doctitle="${docname}"
173*956476d7SDamjan Jovanovic                 windowtitle="${docname}"
174*956476d7SDamjan Jovanovic                 classpathref="classpath">
175*956476d7SDamjan Jovanovic
176*956476d7SDamjan Jovanovic            <packageset dir="${java.dir}" defaultexcludes="yes">
177*956476d7SDamjan Jovanovic                <include name="com/**"/>
178*956476d7SDamjan Jovanovic                <include name="org/**"/>
179*956476d7SDamjan Jovanovic            </packageset>
180*956476d7SDamjan Jovanovic
181*956476d7SDamjan Jovanovic            <link offline="true" href="http://java.sun.com/j2se/1.4.2/docs/api"
182*956476d7SDamjan Jovanovic                  packagelistLoc="${common.doc}/jdk1.4.2"/>
183*956476d7SDamjan Jovanovic            <link offline="true"
184*956476d7SDamjan Jovanovic                  href="http://java.sun.com/products/servlet/2.3/javadoc"
185*956476d7SDamjan Jovanovic                  packagelistLoc="${common.doc}/servlet2.3"/>
186*956476d7SDamjan Jovanovic            <link offline="true"
187*956476d7SDamjan Jovanovic                  href="http://logging.apache.org/log4j/docs/api"
188*956476d7SDamjan Jovanovic                  packagelistLoc="${common.doc}/log4j-1.2.8"/>
189*956476d7SDamjan Jovanovic            <link offline="true"
190*956476d7SDamjan Jovanovic                  href="http://java.sun.com/products/javabeans/glasgow/javadocs"
191*956476d7SDamjan Jovanovic                  packagelistLoc="${common.doc}/jaf-1.0.2"/>
192*956476d7SDamjan Jovanovic            <link offline="true"
193*956476d7SDamjan Jovanovic                  href="http://java.sun.com/products/javamail/javadocs"
194*956476d7SDamjan Jovanovic                  packagelistLoc="${common.doc}/javamail-1.3.1"/>
195*956476d7SDamjan Jovanovic            <link offline="true"
196*956476d7SDamjan Jovanovic                  href="http://ws.apache.org/soap/docs"
197*956476d7SDamjan Jovanovic                  packagelistLoc="${common.doc}/soap-2.3.1"/>
198*956476d7SDamjan Jovanovic
199*956476d7SDamjan Jovanovic            <bottom>&lt;i&gt;Copyright &amp;#169; 2004 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA&lt;/i&gt;</bottom>
200*956476d7SDamjan Jovanovic            <header>${docname}</header>
201*956476d7SDamjan Jovanovic
202*956476d7SDamjan Jovanovic       </javadoc>
203*956476d7SDamjan Jovanovic    </target>
204*956476d7SDamjan Jovanovic
205*956476d7SDamjan Jovanovic    <!-- zip documentation and store in build/doc/${target} -->
206*956476d7SDamjan Jovanovic    <target name="zipdoc" depends="javadoc" if="build.dir" unless="javadocBuild.notRequired">
207*956476d7SDamjan Jovanovic	<zip zipfile="${build.dir}/doc/${target}/${target}_javadoc.zip"
208*956476d7SDamjan Jovanovic      basedir="${build.dir}/doc/${target}/javadoc"
209*956476d7SDamjan Jovanovic      update="true"/>
210*956476d7SDamjan Jovanovic    </target>
211*956476d7SDamjan Jovanovic
212*956476d7SDamjan Jovanovic    <!-- clean up -->
213*956476d7SDamjan Jovanovic    <target name="clean" depends="prepare">
214*956476d7SDamjan Jovanovic        <delete dir="${build.class}" includeEmptyDirs="true"/>
215*956476d7SDamjan Jovanovic        <delete dir="${build.dir}/doc/${target}" includeEmptyDirs="true"/>
216*956476d7SDamjan Jovanovic    </target>
217*956476d7SDamjan Jovanovic
218*956476d7SDamjan Jovanovic    <!-- create jar file -->
219*956476d7SDamjan Jovanovic    <target name="jar" depends="prepare,compile" if="build.class">
220*956476d7SDamjan Jovanovic        <jar jarfile="${build.class}/${jarname}.jar"
221*956476d7SDamjan Jovanovic             basedir="${build.class}">
222*956476d7SDamjan Jovanovic            <manifest>
223*956476d7SDamjan Jovanovic                <attribute name="Class-Path" value="${jar-class-path} juh.jar jurt.jar ridl.jar unoil.jar dbtools.jar"/>
224*956476d7SDamjan Jovanovic                <attribute name="Solar-Version" value="${RSCREVISION}"/>
225*956476d7SDamjan Jovanovic                <attribute name="RegistrationClassName" value="com.sun.star.comp.sdbc.JDBCDriver"/>
226*956476d7SDamjan Jovanovic                <attribute name="Sealed" value="true"/>
227*956476d7SDamjan Jovanovic                <attribute name="UNO-Type-Path" value=""/>
228*956476d7SDamjan Jovanovic            </manifest>
229*956476d7SDamjan Jovanovic            <include name="**/*.class"/>
230*956476d7SDamjan Jovanovic            <include name="**/*.properties"/>
231*956476d7SDamjan Jovanovic            <include name="**/*.css"/>
232*956476d7SDamjan Jovanovic            <include name="**/*.dtd"/>
233*956476d7SDamjan Jovanovic            <include name="**/*.form"/>
234*956476d7SDamjan Jovanovic            <include name="**/*.gif "/>
235*956476d7SDamjan Jovanovic            <include name="**/*.htm"/>
236*956476d7SDamjan Jovanovic            <include name="**/*.html"/>
237*956476d7SDamjan Jovanovic            <include name="**/*.js"/>
238*956476d7SDamjan Jovanovic            <include name="**/*.mod"/>
239*956476d7SDamjan Jovanovic            <include name="**/*.sql"/>
240*956476d7SDamjan Jovanovic            <include name="**/*.xml"/>
241*956476d7SDamjan Jovanovic            <include name="**/*.xsl"/>
242*956476d7SDamjan Jovanovic            <include name="**/*.map"/>
243*956476d7SDamjan Jovanovic        </jar>
244*956476d7SDamjan Jovanovic    </target>
245*956476d7SDamjan Jovanovic
246*956476d7SDamjan Jovanovic    <target name="test" depends="prepare">
247*956476d7SDamjan Jovanovic    </target>
248*956476d7SDamjan Jovanovic
249*956476d7SDamjan Jovanovic</project>
250*956476d7SDamjan Jovanovic
251