Navigation


root/build.xml

Revision 387:5add5016874e, 8.9 KB (checked in by jslawinski, 21 months ago)

Cosmetics

Line 
1<project name="dac" default="build" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
2    <property name="src.dir" value="${basedir}/src" />
3    <property name="build.dir" value="${basedir}/bin" />
4    <property name="dist.dir" value="${basedir}/dist" />
5    <property name="lib.dir" value="${basedir}/lib" />
6    <property name="tests.dir" value="${basedir}/tests" />
7    <property name="docs.dir" value="${basedir}/docs" />
8    <property name="version" value="0.12" />
9    <property name="cajoBrokerURL" value="localhost"/>
10    <property name="jmsBrokerURL" value="tcp://localhost:61616"/>
11    <property name="cajoGAE" value="//localhost:1198/broker" />
12    <property name="urlGAE" value="http://localhost:8080/dac" />
13    <property name="GAE_dir" value="../appengine-java-sdk-1.3.4"/>
14
15        <path id="lib.classpath">
16                <fileset dir="${lib.dir}">
17                        <include name="*.jar" />
18                </fileset>
19        </path>
20
21        <path id="runtime.classpath">
22                <pathelement location="bin" />
23                <path refid="lib.classpath" />
24        </path>
25
26        <target name="init">
27                <tstamp />
28                <mkdir dir="${build.dir}" />
29                <mkdir dir="${dist.dir}" />
30                <mkdir dir="${lib.dir}" />
31                <mkdir dir="${tests.dir}" />
32        <mkdir dir="${docs.dir}" />
33                <property name="ivy.default.ivy.user.dir" value="${user.home}/.ivy2"/>
34                <property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local"/>
35                <ivy:resolve />
36        </target>
37
38        <target name="get-jsch">
39                <property name="ant.lib.dir" value="${user.home}/.ant/lib" />
40                <property name="jsch.jar.file" value="${ant.lib.dir}/jsch.jar" />
41                <mkdir dir="${ant.lib.dir}"/>
42                <!-- download JSch from the repository -->
43                <echo message="downloading JSch..."/>
44                <get src="http://ivy.ipipan.gda.pl/_tools/jsch-0.1.41.jar"
45                 dest="${jsch.jar.file}" usetimestamp="true"/>
46    </target>
47
48        <target name="get-ivy">
49                <property name="ant.lib.dir" value="${user.home}/.ant/lib" />
50                <property name="ivy.jar.file" value="${ant.lib.dir}/ivy.jar" />
51                <mkdir dir="${ant.lib.dir}"/>
52                <!-- download Ivy from the repository -->
53                <echo message="downloading Ivy..."/>
54                <get src="http://ivy.ipipan.gda.pl/_tools/ivy-2.0.0.jar"
55                 dest="${ivy.jar.file}" usetimestamp="true"/>
56    </target>
57
58        <target name="clean-ivy-cache" description="--> clean the ivy cache">
59                <ivy:cleancache />
60        </target>
61
62    <target name="resolve" depends="init" description="--> retreive dependencies with ivy">
63                <ivy:configure override="true" file="ivysettings.xml" />
64                <ivy:retrieve/>
65    </target>
66
67    <target name="report" depends="resolve" description="--> generates a report of dependencies">
68        <ivy:report todir="${build.dir}"/>
69    </target>
70
71        <target name="javadoc">
72                <javadoc sourcepath="${src.dir}" destdir="${docs.dir}/javadoc" classpathref="runtime.classpath" />
73        </target>
74
75        <target name="umldoc" depends="compile">
76                <javadoc sourcepath="${src.dir}" destdir="${docs.dir}/umldoc" private="true" classpathref="runtime.classpath">
77                        <doclet name="org.umlgraph.doclet.UmlGraphDoc" path="${lib.dir}/umlgraph-5.2.jar">
78                                <param name="-inferrel" />
79                                <param name="-inferdep" />
80                                <param name="-hide" value="java.*" />
81                                <param name="-collpackages" value="java.util.*" />
82                                <param name="-qualify" />
83                                <param name="-postfixpackage" />
84                                <param name="-nodefontsize" value="9" />
85                                <param name="-nodefontpackagesize" value="7" />
86                                <param name="-link" value="http://java.sun.com/javase/6/docs/api" />
87                        </doclet>
88                </javadoc>
89        </target>
90
91    <target name="copy.etc">
92        <copy todir="bin">
93            <fileset dir="etc"/>
94        </copy>
95    </target>
96
97    <target  name="build" description="Builds the whole project (clean, compile, copy.etc)">
98        <antcall target="clean"/>
99        <antcall target="compile"/>
100        <antcall target="copy.etc"/>
101    </target>
102
103        <target name="compile" depends="init, resolve, copy.etc">
104                <javac srcdir="${src.dir}" destdir="${build.dir}" listfiles="yes" debug="yes" debuglevel="lines,vars,source" optimize="yes" source="1.6" classpathref="lib.classpath">
105                </javac>
106        </target>
107
108    <target name="create-war" depends="compile">
109        <property name="gae-war" value="true"/>
110        <available property="isGAEDir" file="${GAE_dir}" type="dir"/>
111        <antcall target="war-error"/>
112        <antcall target="war-dir"/>
113    </target>
114
115    <target name="war-error" depends="compile" unless="isGAEDir">
116        <fail message="In build.xml file 'GAE_dir' property doesn't point to appengine's main directory" unless="isGAEDir"/>
117    </target>
118
119    <target name="war-dir" depends="compile" if="isGAEDir">
120        <mkdir dir="${dist.dir}"/>
121        <war destfile="dist/dac.war" webxml="./etc/web.xml">
122            <webinf dir="./etc">
123                <include name="appengine-web.xml"/>
124            </webinf>
125            <lib dir="./lib">
126                <include name="log4j-*.jar"/>
127                <exclude name="log4j-doc-*.jar"/>
128                <include name="bcel-*.jar"/>
129            </lib>
130            <lib dir="./dist">
131                <include name="dacframe-dac-gae-*.jar"/>
132            </lib>
133            <lib dir="${GAE_dir}/lib/user">
134                <include name="appengine-api-1.0-sdk-*.jar"/>
135                <include name="appengine-jsr107cache-*.jar"/>
136                <include name="jsr107cache-*.jar"/>
137            </lib>
138        </war>
139        <unzip src="dist/dac.war" dest="dist/war"/>
140    </target>
141
142    <target name="send-agent" depends="compile">
143                <java classname="org.dacframe.Launcher" classpathref="runtime.classpath" fork="true" failonerror="true">
144                        <assertions>
145                                <enable />
146                        </assertions>
147                </java>
148        </target>
149
150    <target name="run-worker-gae" depends="compile">
151                <java classname="org.dacframe.worker.WorkerGAE" classpathref="runtime.classpath" fork="true" failonerror="true">
152                        <sysproperty key="org.dacframe.workerType" value="workergae" />
153            <arg value="${urlGAE}"/>
154            <arg value="${cajoGAE}"/>
155                        <assertions>
156                                <enable />
157                        </assertions>
158                </java>
159        </target>
160
161        <target name="run-broker-cajo" depends="compile">
162                <java classname="org.dacframe.broker.CajoBrokerServer" classpathref="runtime.classpath" fork="true" failonerror="true">
163                        <sysproperty key="org.dacframe.workerType" value="brokerCajo" />
164                        <arg value="${cajoBrokerURL}"/>
165                        <assertions>
166                                <enable />
167                        </assertions>
168                </java>
169        </target>
170
171    <target name="run-broker-jms" depends="compile">
172                <java classname="org.dacframe.broker.ActiveMQEmbeddedBroker" classpathref="runtime.classpath" fork="true" failonerror="true">
173                        <sysproperty key="org.dacframe.workerType" value="brokerJMS" />
174                        <arg value="${jmsBrokerURL}"/>
175                        <assertions>
176                                <enable />
177                        </assertions>
178                </java>
179        </target>
180
181        <target name="run-worker" depends="compile">
182                <java classname="org.dacframe.worker.WorkerSingleThreaded" classpathref="runtime.classpath" fork="true" failonerror="true">
183                        <sysproperty key="org.dacframe.workerType" value="workerab" />
184                        <assertions>
185                                <enable />
186                        </assertions>
187                </java>
188        </target>
189
190        <target name="run-logserver" depends="init">
191                        <java classname="org.apache.log4j.net.SocketServer" classpathref="runtime.classpath">
192                                <arg value="12388"/>
193                                <arg value="etc/logserver/logserver.properties"/>
194                                <arg value="etc/logserver"/>
195                <sysproperty key="log4j.configuration" value="logserver/logserver.properties"/>
196                        </java>
197        </target>
198
199        <target name="jar" depends="copy.etc, compile">
200                <jar destfile="${dist.dir}/dacframe-dac-${version}.jar" basedir="${build.dir}">
201            <exclude name="**/gae/**" />
202                </jar>
203        </target>
204
205    <target name="jar-gae" depends="copy.etc, compile">
206                <jar destfile="${dist.dir}/dacframe-dac-gae-${version}.jar" basedir="${build.dir}">
207            <exclude name="**/gae/**" />
208            <exclude name="log4j.properties" />
209                </jar>
210        <jar update="true" destfile="${dist.dir}/dacframe-dac-gae-${version}.jar" basedir="${build.dir}/gae">
211        </jar>
212        </target>
213
214        <target name="publish-dac" depends="jar">
215                <ivy:publish resolver="dac-repo-pub" pubrevision="${version}" overwrite="true">
216                    <artifacts pattern="${dist.dir}/[artifact]-[revision].[ext]" />
217                </ivy:publish>
218        </target>
219
220        <target name="run-JUnit-Tests" depends="build" description="Runs JUnit Tests">
221                <echo>=== Running JUnit Tests ===</echo>
222
223                <junit printsummary="yes" fork="yes" haltonfailure="no" showoutput="yes">
224                        <classpath refid="runtime.classpath" />
225                        <formatter type="xml" />
226                        <batchtest fork="yes" todir="${tests.dir}">
227                                <fileset dir="${src.dir}">
228                                        <include name="**/*Test.java" />
229                                        <exclude name="**/ActiveMQ*Test.java" />
230                                </fileset>
231                        </batchtest>
232                </junit>
233        </target>
234
235        <target name="clean" description="clean up">
236                <delete dir="${build.dir}" />
237                <delete dir="${dist.dir}" />
238                <delete dir="${lib.dir}" />
239                <delete dir="${tests.dir}" />
240        <delete dir="${docs.dir}" />
241        </target>
242
243    <target name="clean.all">
244        <antcall target="clean" />
245        <subant failonerror="false">
246            <fileset dir="samples" includes="**/build.xml" />
247            <target name="clean" />
248        </subant>
249    </target>
250</project>
251
Note: See TracBrowser for help on using the browser.