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.7.2" /> |
9 |
<property name="cajoBrokerURL" value="localhost"/> |
10 |
|
11 |
<path id="lib.classpath"> |
12 |
<fileset dir="${lib.dir}"> |
13 |
<include name="*.jar" /> |
14 |
</fileset> |
15 |
</path> |
16 |
|
17 |
<path id="runtime.classpath"> |
18 |
<pathelement location="bin" /> |
19 |
<path refid="lib.classpath" /> |
20 |
</path> |
21 |
|
22 |
<target name="init"> |
23 |
<tstamp /> |
24 |
<mkdir dir="${build.dir}" /> |
25 |
<mkdir dir="${dist.dir}" /> |
26 |
<mkdir dir="${lib.dir}" /> |
27 |
<mkdir dir="${tests.dir}" /> |
28 |
<mkdir dir="${docs.dir}" /> |
29 |
<property name="ivy.default.ivy.user.dir" value="${user.home}/.ivy2"/> |
30 |
<property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local"/> |
31 |
<ivy:resolve /> |
32 |
</target> |
33 |
|
34 |
<target name="get-jsch"> |
35 |
<property name="ant.lib.dir" value="${user.home}/.ant/lib" /> |
36 |
<property name="jsch.jar.file" value="${ant.lib.dir}/jsch.jar" /> |
37 |
<mkdir dir="${ant.lib.dir}"/> |
38 |
<!-- download JSch from the repository --> |
39 |
<echo message="downloading JSch..."/> |
40 |
<get src="http://ivy.ipipan.gda.pl/_tools/jsch-0.1.41.jar" |
41 |
dest="${jsch.jar.file}" usetimestamp="true"/> |
42 |
</target> |
43 |
|
44 |
<target name="get-ivy"> |
45 |
<property name="ant.lib.dir" value="${user.home}/.ant/lib" /> |
46 |
<property name="ivy.jar.file" value="${ant.lib.dir}/ivy.jar" /> |
47 |
<mkdir dir="${ant.lib.dir}"/> |
48 |
<!-- download Ivy from the repository --> |
49 |
<echo message="downloading Ivy..."/> |
50 |
<get src="http://ivy.ipipan.gda.pl/_tools/ivy-2.0.0.jar" |
51 |
dest="${ivy.jar.file}" usetimestamp="true"/> |
52 |
</target> |
53 |
|
54 |
<target name="clean-ivy-cache" description="--> clean the ivy cache"> |
55 |
<ivy:cleancache /> |
56 |
</target> |
57 |
|
58 |
<target name="resolve" depends="init" description="--> retreive dependencies with ivy"> |
59 |
<ivy:configure override="true" file="ivysettings.xml" /> |
60 |
<ivy:retrieve/> |
61 |
</target> |
62 |
|
63 |
<target name="report" depends="resolve" description="--> generates a report of dependencies"> |
64 |
<ivy:report todir="${build.dir}"/> |
65 |
</target> |
66 |
|
67 |
<target name="javadoc"> |
68 |
<javadoc sourcepath="${src.dir}" destdir="${docs.dir}/javadoc" classpathref="runtime.classpath" /> |
69 |
</target> |
70 |
|
71 |
<target name="umldoc" depends="compile"> |
72 |
<javadoc sourcepath="${src.dir}" destdir="${docs.dir}/umldoc" private="true" classpathref="runtime.classpath"> |
73 |
<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="${lib.dir}/umlgraph-5.2.jar"> |
74 |
<param name="-inferrel" /> |
75 |
<param name="-inferdep" /> |
76 |
<param name="-hide" value="java.*" /> |
77 |
<param name="-collpackages" value="java.util.*" /> |
78 |
<param name="-qualify" /> |
79 |
<param name="-postfixpackage" /> |
80 |
<param name="-nodefontsize" value="9" /> |
81 |
<param name="-nodefontpackagesize" value="7" /> |
82 |
<param name="-link" value="http://java.sun.com/javase/6/docs/api" /> |
83 |
</doclet> |
84 |
</javadoc> |
85 |
</target> |
86 |
|
87 |
<target name="copy.etc"> |
88 |
<copy todir="bin"> |
89 |
<fileset dir="etc"/> |
90 |
</copy> |
91 |
</target> |
92 |
|
93 |
<target name="build" description="Builds the whole project (clean, compile, copy.etc)"> |
94 |
<antcall target="clean"/> |
95 |
<antcall target="compile"/> |
96 |
<antcall target="copy.etc"/> |
97 |
</target> |
98 |
|
99 |
<target name="compile" depends="init, resolve"> |
100 |
<javac srcdir="${src.dir}" destdir="${build.dir}" listfiles="yes" debug="yes" debuglevel="lines,vars,source" optimize="yes" source="1.6" classpathref="lib.classpath"> |
101 |
</javac> |
102 |
</target> |
103 |
|
104 |
<target name="compile-release" depends="init, resolve"> |
105 |
<javac srcdir="${src.dir}" destdir="${build.dir}" listfiles="no" debug="no" optimize="yes" source="1.6" classpathref="lib.classpath"> |
106 |
</javac> |
107 |
</target> |
108 |
|
109 |
<target name="send-agent" depends="compile"> |
110 |
<java classname="org.dacframe.Launcher" classpathref="runtime.classpath"> |
111 |
<assertions> |
112 |
<enable /> |
113 |
</assertions> |
114 |
</java> |
115 |
</target> |
116 |
|
117 |
<target name="run-broker-cajo" depends="compile"> |
118 |
<java classname="org.dacframe.broker.CajoBrokerServer" classpathref="runtime.classpath" fork="true" failonerror="true"> |
119 |
<sysproperty key="org.dacframe.workerType" value="brokerCajo" /> |
120 |
<arg value="${cajoBrokerURL}"/> |
121 |
<assertions> |
122 |
<enable /> |
123 |
</assertions> |
124 |
</java> |
125 |
</target> |
126 |
|
127 |
<target name="run-worker" depends="compile"> |
128 |
<java classname="org.dacframe.worker.WorkerSingleThreaded" classpathref="runtime.classpath" failonerror="true"> |
129 |
<sysproperty key="org.dacframe.workerType" value="workerab" /> |
130 |
<assertions> |
131 |
<enable /> |
132 |
</assertions> |
133 |
</java> |
134 |
</target> |
135 |
|
136 |
<target name="run-logserver" depends="init"> |
137 |
<java classname="org.apache.log4j.net.SocketServer" classpathref="runtime.classpath"> |
138 |
<arg value="12388"/> |
139 |
<arg value="etc/logserver/logserver.properties"/> |
140 |
<arg value="etc/logserver"/> |
141 |
<sysproperty key="log4j.configuration" value="logserver/logserver.properties"/> |
142 |
</java> |
143 |
</target> |
144 |
|
145 |
<target name="jar" depends="clean, compile-release"> |
146 |
<jar destfile="${dist.dir}/dacframe-dac-${version}.jar" basedir="${build.dir}"> |
147 |
</jar> |
148 |
</target> |
149 |
|
150 |
<target name="publish-dac" depends="jar"> |
151 |
<ivy:publish resolver="dac-repo-pub" pubrevision="${version}" overwrite="true"> |
152 |
<artifacts pattern="${dist.dir}/[artifact]-[revision].[ext]" /> |
153 |
</ivy:publish> |
154 |
</target> |
155 |
|
156 |
<target name="run-JUnit-Tests" depends="build" description="Runs JUnit Tests"> |
157 |
<echo>=== Running JUnit Tests ===</echo> |
158 |
|
159 |
<junit printsummary="yes" fork="yes" haltonfailure="no" showoutput="yes"> |
160 |
<classpath refid="runtime.classpath" /> |
161 |
<formatter type="plain" /> |
162 |
<batchtest fork="yes" todir="${tests.dir}"> |
163 |
<fileset dir="${src.dir}"> |
164 |
<include name="**/*Test.java" /> |
165 |
<exclude name="**/ActiveMQ*Test.java" /> |
166 |
</fileset> |
167 |
</batchtest> |
168 |
</junit> |
169 |
</target> |
170 |
|
171 |
<target name="clean" description="clean up"> |
172 |
<delete dir="${build.dir}" /> |
173 |
<delete dir="${dist.dir}" /> |
174 |
<delete dir="${lib.dir}" /> |
175 |
<delete dir="${tests.dir}" /> |
176 |
<delete dir="${docs.dir}" /> |
177 |
</target> |
178 |
|
179 |
<target name="clean.all"> |
180 |
<antcall target="clean" /> |
181 |
<subant failonerror="false"> |
182 |
<fileset dir="samples" includes="**/build.xml" /> |
183 |
<target name="clean" /> |
184 |
</subant> |
185 |
</target> |
186 |
</project> |
187 |
|