]> git.somenet.org - pub/jan/lsdc.git/blob - build.xml
Final presentation
[pub/jan/lsdc.git] / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <project name="lsdc" default="compile" basedir=".">\r
3 \r
4         <property name="src.dir" value="src" />\r
5         <property name="lib.dir" value="lib" />\r
6         <property name="build.dir" value="bin" />\r
7         <property name="log.dir" value="logs" />\r
8         <property name="scen.dir" value="scenarios" />\r
9 \r
10         <property name="numPMs" value="15" />\r
11         <property name="numCloudPartners" value="0" />\r
12 \r
13         <path id="project.classpath">\r
14                 <dirset dir="${build.dir}" />\r
15                 <fileset dir="${lib.dir}">\r
16                         <include name="*.jar" />\r
17                 </fileset>\r
18         </path>\r
19 \r
20         <assertions id="project.assertions">\r
21                 <enable />\r
22         </assertions>\r
23 \r
24         <target name="compile" description="Compile project.">\r
25                 <mkdir dir="${build.dir}" />\r
26                 <mkdir dir="scenarios" />\r
27                 <mkdir dir="logs" />\r
28                 <copy todir="${build.dir}">\r
29                         <fileset dir="${lib.dir}">\r
30                                 <include name="logback.xml" />\r
31                         </fileset>\r
32                 </copy>\r
33                 <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="project.classpath" debug="true" deprecation="true" includeantruntime="false" />\r
34         </target>\r
35 \r
36         <target name="run-generator-A" depends="compile" description="Compile project">\r
37                 <java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">\r
38                         <assertions refid="project.assertions" />\r
39                         <arg value="A" />\r
40                         <arg value="500" />\r
41                         <arg value="scenarios/scenarioA.csv" />\r
42                 </java>\r
43         </target>\r
44 \r
45         <target name="run-generator-B" depends="compile" description="Compile project">\r
46                 <java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">\r
47                         <assertions refid="project.assertions" />\r
48                         <arg value="B" />\r
49                         <arg value="500" />\r
50                         <arg value="scenarios/scenarioB.csv" />\r
51                 </java>\r
52         </target>\r
53 \r
54         <target name="run-generator-C" depends="compile" description="Compile project">\r
55                 <java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">\r
56                         <assertions refid="project.assertions" />\r
57                         <arg value="C" />\r
58                         <arg value="500" />\r
59                         <arg value="scenarios/scenarioC.csv" />\r
60                 </java>\r
61         </target>\r
62 \r
63         <target name="run-generator" depends="compile, input-runargs" description="Run generator with user defined arguments">\r
64                 <java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">\r
65                         <assertions refid="project.assertions" />\r
66                         <arg value="${args}" />\r
67                 </java>\r
68         </target>\r
69         \r
70         <target name="run-all-generators" depends="run-generator-A, run-generator-B, run-generator-C" description="Generate all scenario files">\r
71         </target>\r
72 \r
73         <target name="run-scheduler" depends="compile, input-runargs" description="Run scheduler with user defined arguments">\r
74                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
75                         <assertions refid="project.assertions" />\r
76                         <arg value="${args}" />\r
77                 </java>\r
78         </target>\r
79 \r
80         <target name="run-scheduler-A-A" depends="compile" description="Run scheduler A on scenario A">\r
81                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
82                         <assertions refid="project.assertions" />\r
83                         <arg value="A" />\r
84                         <arg value="A" />\r
85                         <arg value="${numPMs}" />\r
86                         <arg value="${numCloudPartners}" />\r
87                         <arg value="scenarios/scenarioA.csv" />\r
88                         <arg value="logs/all.csv" />\r
89                         <arg value="logs/schedulerA_scenarioA.csv" />\r
90                 </java>\r
91         </target>\r
92 \r
93         <target name="run-scheduler-A-B" depends="compile" description="Run scheduler A on scenario B">\r
94                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
95                         <assertions refid="project.assertions" />\r
96                         <arg value="A" />\r
97                         <arg value="B" />\r
98                         <arg value="${numPMs}" />\r
99                         <arg value="${numCloudPartners}" />\r
100                         <arg value="scenarios/scenarioB.csv" />\r
101                         <arg value="logs/all.csv" />\r
102                         <arg value="logs/schedulerA_scenarioB.csv" />\r
103                 </java>\r
104         </target>\r
105 \r
106         <target name="run-scheduler-A-C" depends="compile" description="Run scheduler A on scenario C">\r
107                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
108                         <assertions refid="project.assertions" />\r
109                         <arg value="A" />\r
110                         <arg value="C" />\r
111                         <arg value="${numPMs}" />\r
112                         <arg value="${numCloudPartners}" />\r
113                         <arg value="scenarios/scenarioC.csv" />\r
114                         <arg value="logs/all.csv" />\r
115                         <arg value="logs/schedulerA_scenarioC.csv" />\r
116                 </java>\r
117         </target>\r
118 \r
119         <target name="run-scheduler-B-A" depends="compile" description="Run scheduler B on scenario A">\r
120                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
121                         <assertions refid="project.assertions" />\r
122                         <arg value="B" />\r
123                         <arg value="A" />\r
124                         <arg value="${numPMs}" />\r
125                         <arg value="${numCloudPartners}" />\r
126                         <arg value="scenarios/scenarioA.csv" />\r
127                         <arg value="logs/all.csv" />\r
128                         <arg value="logs/schedulerB_scenarioA.csv" />\r
129                 </java>\r
130         </target>\r
131 \r
132         <target name="run-scheduler-B-B" depends="compile" description="Run scheduler B on scenario B">\r
133                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
134                         <assertions refid="project.assertions" />\r
135                         <arg value="B" />\r
136                         <arg value="B" />\r
137                         <arg value="${numPMs}" />\r
138                         <arg value="${numCloudPartners}" />\r
139                         <arg value="scenarios/scenarioB.csv" />\r
140                         <arg value="logs/all.csv" />\r
141                         <arg value="logs/schedulerB_scenarioB.csv" />\r
142                 </java>\r
143         </target>\r
144 \r
145         <target name="run-scheduler-B-C" depends="compile" description="Run scheduler B on scenario C">\r
146                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
147                         <assertions refid="project.assertions" />\r
148                         <arg value="B" />\r
149                         <arg value="C" />\r
150                         <arg value="${numPMs}" />\r
151                         <arg value="${numCloudPartners}" />\r
152                         <arg value="scenarios/scenarioC.csv" />\r
153                         <arg value="logs/all.csv" />\r
154                         <arg value="logs/schedulerB_scenarioC.csv" />\r
155                 </java>\r
156         </target>\r
157 \r
158         <target name="run-scheduler-C-A" depends="compile" description="Run scheduler C on scenario A">\r
159                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
160                         <assertions refid="project.assertions" />\r
161                         <arg value="C" />\r
162                         <arg value="A" />\r
163                         <arg value="${numPMs}" />\r
164                         <arg value="${numCloudPartners}" />\r
165                         <arg value="scenarios/scenarioA.csv" />\r
166                         <arg value="logs/all.csv" />\r
167                         <arg value="logs/schedulerC_scenarioA.csv" />\r
168                 </java>\r
169         </target>\r
170 \r
171         <target name="run-scheduler-C-B" depends="compile" description="Run scheduler C on scenario B">\r
172                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
173                         <assertions refid="project.assertions" />\r
174                         <arg value="C" />\r
175                         <arg value="B" />\r
176                         <arg value="${numPMs}" />\r
177                         <arg value="${numCloudPartners}" />\r
178                         <arg value="scenarios/scenarioB.csv" />\r
179                         <arg value="logs/all.csv" />\r
180                         <arg value="logs/schedulerC_scenarioB.csv" />\r
181                 </java>\r
182         </target>\r
183 \r
184         <target name="run-scheduler-C-C" depends="compile" description="Run scheduler C on scenario C">\r
185                 <java classname="at.ac.tuwien.lsdc.SchedSimulator" fork="true" classpathref="project.classpath">\r
186                         <assertions refid="project.assertions" />\r
187                         <arg value="C" />\r
188                         <arg value="C" />\r
189                         <arg value="${numPMs}" />\r
190                         <arg value="${numCloudPartners}" />\r
191                         <arg value="scenarios/scenarioC.csv" />\r
192                         <arg value="logs/all.csv" />\r
193                         <arg value="logs/schedulerC_scenarioC.csv" />\r
194                 </java>\r
195         </target>\r
196 \r
197         <target name="run-all-schedulers" depends="run-scheduler-A-A, run-scheduler-A-B, run-scheduler-A-C, run-scheduler-B-A, run-scheduler-B-B, run-scheduler-B-C, run-scheduler-C-A, run-scheduler-C-B, run-scheduler-C-C" description="Run all schedulers and all scenarios">\r
198         </target>\r
199 \r
200         <target name="input-runargs" unless="args" description="prompts for command line arguments if necessary">\r
201                 <input addProperty="args" message="Type the desired command line arguments:" />\r
202         </target>\r
203 \r
204         <target name="clean" description="Clean build products.">\r
205                 <delete dir="${build.dir}" />\r
206         </target>\r
207         \r
208         <target name="clean-logs" description="Delete all log files">\r
209                 <delete dir="${log.dir}" />\r
210                 <mkdir dir="${log.dir}" />\r
211         </target>\r
212         \r
213         <target name="clean-scenarios" description="Delete scenario files">\r
214                 <delete dir="${scen.dir}" />\r
215                 <mkdir dir="${scen.dir}" />\r
216         </target>\r
217 \r
218         <target name="rebuild" depends="clean, compile" description="Clean and build products." />\r
219 </project>\r