source: contrib/funambol/trunk/modules/psync/build/build.xml @ 2082

Revision 2082, 8.2 KB checked in by emersonfaria, 14 years ago (diff)

Ticket #927 - Reestruturacao dos diretorios do Funambol

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  =============================================================================
4    Build file for the pSync Connector.
5
6    The following properties need to be set in a ./build.properties,
7    ${user.home}/build.properties, a higher level build file, on the command
8    line, ... :
9
10    This script should be started with the following command line :
11
12        ant <target>
13
14    Run "ant usage" to get a list of available targets. The default target is
15    "deploy"
16  =============================================================================
17-->
18
19        <project basedir=".." default="pack" name="pSync Connector">
20
21    <!-- Pick up the environment variables -->
22    <property environment="ENV"/>
23
24    <!-- Pick up user project properties -->
25    <property file="${user.home}/psync-build.properties"/>
26
27    <!-- Pick up default project properties -->
28    <property file="build/build.properties"/>
29
30    <!-- =============================================== -->
31    <!-- Definitions                                     -->
32    <!-- =============================================== -->
33    <property name="dir.lib"            value="lib"/>
34    <property name="dir.src"            value="src"/>
35    <property name="dir.src.java"       value="src/main/java"/>
36    <property name="dir.src.sql"        value="src/main/sql"/>
37    <property name="dir.src.bean"       value="src/main/bean"/>
38    <property name="dir.output"         value="output"/>
39    <property name="dir.output.javadoc" value="output/javadoc"/>
40    <property name="dir.output.html"    value="output/html"/>
41    <property name="dir.output.classes" value="output/classes"/>
42    <property name="dir.output.javacc"  value="output/javacc"/>
43
44    <!-- =================================================================== -->
45    <!-- =================================================================== -->
46
47
48    <!-- =============================================== -->
49    <!-- USAGE                                           -->
50    <!-- =============================================== -->
51    <target name="usage">
52
53        <echo message=""/>
54        <echo message="pSync build file"/>
55        <echo message="------------------------------------------------------"/>
56        <echo message=""/>
57        <echo message=" Available targets are :"/>
58        <echo message=""/>
59        <echo message=" usage       --> help on usage"/>
60        <echo message=" build       --> builds the project"/>
61        <echo message=" pack        --> generates binary files"/>
62        <echo message=" clean       --> cleans up the build directory"/>
63        <echo message=" docs        --> generates javadocs"/>
64        <echo message=" env         --> displays the current environment"/>
65        <echo message=""/>
66
67    </target>
68
69    <!-- =============================================== -->
70    <!-- ENV                                             -->
71    <!-- =============================================== -->
72
73    <target name="env">
74         <echoproperties/>
75    </target>
76
77
78    <!-- =================================================================== -->
79    <!-- =================================================================== -->
80
81    <!-- =============================================== -->
82    <!-- INIT                                            -->
83    <!-- =============================================== -->
84    <target name="init">
85        <property name="psync.version" value="${psync.release.major}.${psync.release.minor}.${psync.build.number}"/>
86
87        <!-- Directory set up -->
88        <mkdir dir="${dir.output.classes}"/>
89
90    </target>
91
92
93    <!-- =============================================== -->
94    <!-- BUILD                                           -->
95    <!-- =============================================== -->
96    <target name="build" depends="init">
97        <javac debug="on" deprecation="true"
98               destdir="${dir.output.classes}"
99               includeAntRuntime="no"
100               includes="**/*java"
101               source="1.5"
102               srcdir="${dir.src.java}">
103            <classpath>
104                <fileset dir="lib">
105                <include name="**/*.jar"/>
106                </fileset>
107            </classpath>
108        </javac>
109    </target>
110
111    <!-- =============================================== -->
112    <!-- PACK                                            -->
113    <!-- =============================================== -->
114    <target name="pack" depends="build">
115        <property name="dir.module" value="${dir.output}/${psync.name}"/>
116
117        <!--
118            Create the package directory structure
119        -->
120        <mkdir dir="${dir.module}/config"/>
121        <mkdir dir="${dir.module}/lib"/>
122        <mkdir dir="${dir.module}/sql"/>
123
124        <copy preservelastmodified="true" todir="${dir.module}/config" failonerror="false">
125            <fileset dir="${dir.src.bean}/"/>
126        </copy>
127
128        <copy preservelastmodified="true" todir="${dir.module}/sql">
129            <fileset dir="${dir.src.sql}/"/>
130        </copy>
131
132        <copy preservelastmodified="true" todir="${dir.module}/lib">
133            <fileset dir="${dir.lib}">
134              <include name="commons-codec-1.3.jar"/>
135              <include name="joda-time-1.4.jar"/>
136              <include name="ldap.jar"/>
137              <include name="${common-pim.jar}"/>
138            </fileset>
139        </copy>
140
141        <jar compress="true" jarfile="${dir.module}/lib/${psync.name}-${psync.version}.jar" update="true">
142            <manifest>
143                <attribute name="Class-Path" value="commons-codec-1.3.jar joda-time-1.4.jar ${common-pim.jar}"/>
144            </manifest>
145            <fileset dir="${dir.output.classes}">
146                <include name="**/*.class"/>
147            </fileset>
148
149        </jar>
150
151        <copy todir="${dir.output}"
152              file="${dir.module}/lib/${psync.name}-${psync.version}.jar"
153              overwrite="true" />
154
155        <delete file="/opt/Funambol/ds-server/modules/${psync.name}-${psync.version}.s4j"/>
156
157        <jar compress="true" jarfile="/opt/Funambol/ds-server/modules/${psync.name}-${psync.version}.s4j">
158            <fileset dir="${dir.module}">
159                <include name="**/*"/>
160            </fileset>
161
162        </jar>
163
164
165    </target>
166
167    <!-- =============================================== -->
168    <!-- CLEAN                                           -->
169    <!-- =============================================== -->
170    <target name="clean">
171        <delete dir="${dir.output}"/>
172    </target>
173
174    <!-- =============================================== -->
175    <!-- CLEAN-MODULE                                    -->
176    <!-- =============================================== -->
177    <target name="clean-module" unless="debug">
178        <echo message="Cleaning ${dir.module}"/>
179        <delete dir="${dir.module}"/>
180    </target>
181
182    <!-- =============================================== -->
183    <!-- JAVADOC                                         -->
184    <!-- =============================================== -->
185    <target name="javadoc" depends="init">
186        <javadoc author="false" destdir="${dir.output.javadoc}" packagenames="br.com.prognus.psync.*" version="false" windowtitle="pSync Connector">
187
188            <classpath>
189                <pathelement location="${dir.lib}/commons-codec-1.3.jar" />
190                <pathelement location="${dir.lib}/commons-lang-2.2.jar"  />
191                <pathelement location="${dir.lib}/funambol-framework.jar"/>
192                <pathelement location="${dir.lib}/funambol-admin-dev.jar"/>
193                <pathelement location="${dir.lib}/joda-time-1.4.jar"     />
194                <pathelement location="${dir.lib}/${pim-common.lib}"     />
195                <pathelement location="${dir.lib}/ldap.jar"              />
196            </classpath>
197
198            <sourcepath>
199                <pathelement location="${dir.src.java}"/>
200            </sourcepath>
201
202            <doctitle><![CDATA[<img src="logo.gif"> <h1>pSync - Funambol Connector</h1>]]></doctitle>
203            <bottom><![CDATA[<i>Copyright &#169; 2007 Prognus Software Livre.</i>]]></bottom>
204        </javadoc>
205    </target>
206
207
208    <!-- =============================================== -->
209    <!-- DOCS                                            -->
210    <!-- =============================================== -->
211    <target name="docs" depends="init, javadoc"/>
212
213</project>
Note: See TracBrowser for help on using the repository browser.