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 © 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> |
---|