root/tags/v1.2.5/compilerbuild.xml

Revision 1469, 12.1 kB (checked in by dsugar, 2 years ago)

Updates based on relocation of stuff with the merge back into trunk

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?xml version='1.0'?>
2 <!--Copyright (C) 2005-2006 Tresys Technology, LLC
3         Authors: Spencer Shimko <sshimko@tresys.com>
4                          James Athey <jathey@tresys.com>
5        
6         build.xml: ant build file for SEFramework
7 -->
8 <project name="SEFramework" default="test" basedir=".">
9
10         <!-- START SETTINGS -->
11         <!-- VERSION (will be used to globally replace @version@ occurences -->
12         <property name="version" value="0.1"/>
13
14         <!-- system specific settings -->
15         <!-- TODO: Remove these system specific settings -->
16         <property name="javacchome" value="/usr/share/java" />
17         <property name="javacc_ext" value=".jj" />
18
19         <property name="svnlocation" value="http://oss.tresys.com/repos/slide/trunk/slide-plugin/src/com/tresys/slide" />
20
21         <!-- dictionary source -->
22         <property name="dfile" value="test/dictionary.fdic" />
23         <!-- policy source -->
24         <property name="pfile" value="test/policy.fpol" />
25         <!-- system resources source -->
26         <property name="sfile" value="test/sysresources.fsys" />
27         <!-- dictionary output -->
28         <property name="dout" value="dict.out" />
29         <!-- translator output -->
30         <property name="pofile" value="framework.te" />
31         <property name="fofile" value="framework.fc" />
32         <property name="iffile" value="framework.if" />
33     <!-- file context -->
34     <property name="fc" value="test/basepolicy/file_contexts" />
35     <!-- policy.conf -->
36     <property name="pc" value="test/basepolicy/" />
37     <!-- libpath -->
38     <property name="libpath" value="/usr/lib" />
39        
40        
41         <!-- global directory names -->
42         <property name="pkg_path" value="com/tresys/framework/compiler" />
43         <property name="pkg_name" value="com.tresys.framework.compiler" />
44         <property name="src" value="framework-plugin/src" />
45         <property name="build" value="build"/>
46         <property name="testdir" value="test" />
47         <property name="classpath"  value="${build}"/>
48         <property name="buildpath" value="${build}/${pkg_path}" />
49         <property name="srcpath" value="${src}/${pkg_path}" />
50
51         <!-- target names in framework package -->
52         <property name="dict" value="dictionary" />
53         <property name="pol" value="policy" />
54         <property name="trans" value="translator" />
55         <property name="link" value="linkage" />
56         <property name="libselinuxjava" value="libselinuxjava" />
57         <property name="refpolicy" value="refpolicy" />
58         <property name="basepolicy" value="basepolicy" />
59         <property name="flnkage" value="flnkage" />
60         <!-- END SETTINGS -->
61
62         <!-- START GLOBAL TARGETS -->
63         <!-- initialize directories -->
64         <target name="init" depends="initbase,initdict,inittrans,initpol" />
65                
66         <!-- Clean trees -->
67         <target name="clean" depends="cleanbase,cleandict,cleantrans,cleanpol,cleansys" >
68                 <!-- Delete files in base build directory -->
69                 <delete includeEmptyDirs="true" failonerror="false">
70                         <fileset dir="${build}" />
71                         <fileset file="${dout}" />
72                         <fileset file="${pofile}" />
73                         <fileset file="${fofile}" />
74                         <fileset file="${iffile}" />
75                 </delete>
76         </target>
77
78         <!-- Test trees -->
79         <target name="test" depends="testsys" />
80         <!-- END GLOBAL TARGETS -->
81
82         <!-- START BASE TARGETS -->
83         <!-- initialize base build directory if dict file specified-->
84         <target name="initbase">
85                 <!-- setup build directories -->
86                
87                 <mkdir dir="${build}/${pkg_path}" />
88                 <mkdir dir="${utilitybuild}" />
89 <!--
90                                 <mkdir dir="${policyxmlbuild}" />
91                                 <copy todir="${policyxmlbuild}">
92                                         <fileset dir="${policyxmlsrc}" includes="*.java"/>
93                                 </copy>
94 -->
95                
96                 <exec dir="${utilitybuild}" executable="svn">
97                         <arg line="export --force ${svnlocation}/utility/policyxmlparser" />
98                 </exec>
99                 <copy todir="${build}/${pkg_path}">
100                         <fileset dir="${src}/${pkg_path}" includes="**/*.java"/>
101                         <!-- set version -->
102                         <filterset>
103                                 <filter token="version" value="${version}"/>
104                         </filterset>
105                 </copy>
106         </target>
107
108         <!-- Clean tree -->
109         <target name="cleanbase" >
110                 <!-- Delete files in base build directory -->
111                 <delete includeEmptyDirs="true" failonerror="false">
112                         <fileset dir="${build}/${pkg_path}" includes="*.*" />
113                 </delete>
114         </target>
115         <!-- END BASE TARGETS -->
116
117         <!-- START LINKAGE -->
118         <!-- linkage specific properties -->
119         <property name="slidedir" value="build/com/tresys/slide" />
120         <property name="slidelinkage" value="${slidedir}/${link}" />
121         <property name="linkbuild" value="${buildpath}/${link}" />
122         <property name="linksrc" value="${srcpath}/${link}" />
123         <property name="libselinuxjavabuild" value="${linkbuild}/${libselinuxjava}" />
124         <property name="libselinuxjavasrc" value="${linksrc}/${libselinuxjava}" />
125         <property name="refpolbuild" value="${linkbuild}/${refpolicy}" />
126         <property name="refpolsrc" value="${linksrc}/${refpolicy}" />
127         <property name="flnkbuild" value="${linkbuild}/${flnkage}" />
128         <property name="flnksrc" value="${linksrc}/${flnkage}" />
129         <property name="flnk_parse_class" value="FLNKParser" />
130         <property name="base_pol_parse_class" value="BasePolicyParser" />
131         <property name="utilitybuild" value="${slidedir}/utility"/>     
132         <property name="policyxmlbuild" value="${utilitybuild}/policyxmlparser"/>
133         <property name="policyxmlsrc" value="src/com/tresys/slide/utility/policyxmlparser" />
134        
135         <!-- initialize translator build directory -->
136         <target name="initlinkage" depends="initbase" >
137                
138                 <exec dir="${slidedir}" executable="svn">
139                         <arg line="export --force ${svnlocation}/linkage" />
140                 </exec>
141 <!--
142                 <copy todir="${linkbuild}">
143                         <fileset dir="${linksrc}" includes="*.java"/>
144                         <filterset>
145                                 <filter token="version" value="${version}"/>
146                         </filterset>
147                 </copy>
148 -->
149                 <mkdir dir="${libselinuxjavabuild}" />
150                 <copy todir="${libselinuxjavabuild}">
151                         <fileset dir="${libselinuxjavasrc}" includes="*.java"/>
152                 </copy>
153                
154                 <mkdir dir="${refpolbuild}" />
155                 <copy todir="${refpolbuild}">
156                         <fileset dir="${refpolsrc}" includes="*.java"/>
157                 </copy>
158                
159                 <mkdir dir="${flnkbuild}" />
160                 <copy todir="${flnkbuild}">
161                                 <fileset dir="${flnksrc}" includes="*.java"/>
162                 </copy>
163                
164                 <!-- compile -->
165                 <javacc target="${flnksrc}/${flnk_parse_class}${javacc_ext}"
166                      outputdirectory="${flnkbuild}"
167                      javacchome="${javacchome}" />
168
169                 <!-- compile -->
170                 <javacc target="${slidelinkage}/${base_pol_parse_class}${javacc_ext}"
171                      outputdirectory="${slidelinkage}"
172                      javacchome="${javacchome}" />
173         </target>
174
175         <!-- Clean the linkage tree -->
176         <target name="cleanlinkage">
177                 <!-- Delete the build directories -->
178                 <delete dir="${linkbuild}"/>
179                 <delete dir="${libselinuxjavabuild}"/>
180         </target>
181         <!-- END LINKAGE -->
182
183         <!-- START DICTIONARY -->
184         <!-- dictionary specific properties -->
185
186         <property name="dict_parse_class" value="DictionaryParser" />
187         <property name="dictbuild" value="${buildpath}/${dict}" />
188         <property name="dictsrc" value="${srcpath}/${dict}" />
189
190         <!-- initialize dictionary build directory -->
191         <target name="initdict" depends="initbase" >
192                 <mkdir dir="${dictbuild}" />
193                 <!-- setup build directories -->
194                 <copy todir="${dictbuild}">
195                         <fileset dir="${dictsrc}" includes="*.java,*${javacc_ext}"/>
196                         <!-- set version -->
197                         <filterset>
198                                 <filter token="version" value="${version}"/>
199                         </filterset>
200                 </copy>
201         </target>
202
203         <!-- Generate the dictionary parser -->
204         <target name="compdictparser" depends="initbase,initdict">
205                 <!-- compile -->
206                 <javacc target="${dictbuild}/${dict_parse_class}${javacc_ext}"
207                      outputdirectory="${dictbuild}"
208                      javacchome="${javacchome}" />
209         </target>
210                      
211         <!-- Compile the dictionary -->
212         <target name="compdict" depends="compdictparser">
213                 <!-- compile -->
214                 <javac srcdir="${dictbuild}" destdir="${build}" >
215                         <!-- <compilerarg value="-Xlint"/> -->
216                 </javac>
217         </target>
218
219         <!-- Clean the dictionary tree -->
220         <target name="cleandict">
221                 <!-- Delete the build directories -->
222                 <delete dir="${dictbuild}"/>
223         </target>
224
225         <!-- Test the dictionary -->
226         <target name="testdict" depends="compile">
227                 <java classname="${pkg_name}.Compiler"
228          fork="true"
229          failonerror="true"
230          maxmemory="128m">
231                         <jvmarg value="-Djava.library.path=${libpath}" />
232                         <!-- <arg value="-v" /> -->
233                         <arg value="-ds" />
234                         <arg path="${dfile}" />
235                         <arg value="-do" />
236                         <arg path="${dout}" />
237                         <classpath>
238                                 <pathelement location="${build}/" />
239                         </classpath>
240                 </java>
241         </target>
242         <!-- END DICTIONARY -->
243
244         <!-- START SYSTEM RESOURCES -->
245         <!-- system resource specific properties -->
246         <property name="sys" value="systemResources" />
247         <property name="sys_parse_class" value="SystemResourcesParser" />
248         <property name="sysbuild" value="${buildpath}/${sys}" />
249         <property name="syssrc" value="${srcpath}/${sys}" />
250
251         <!-- initialize system resources build directory -->
252         <target name="initsys" depends="initbase" >
253                 <mkdir dir="${sysbuild}" />
254                 <copy todir="${sysbuild}">
255                         <fileset dir="${syssrc}" includes="*.java,*${javacc_ext}"/>
256                         <!-- set version -->
257                         <filterset>
258                                 <filter token="version" value="${version}"/>
259                         </filterset>
260                 </copy>
261         </target>
262
263         <!-- Generate the system resources parser classes -->
264         <target name="compsysparser" depends="initsys">
265                 <!-- compile -->
266                 <javacc target="${sysbuild}/${sys_parse_class}${javacc_ext}"
267             outputdirectory="${sysbuild}"
268             javacchome="${javacchome}" />
269     </target>
270            
271         <!-- Clean the system resource tree -->
272         <target name="cleansys">
273                 <!-- Delete the build directories -->
274                 <delete dir="${sysbuild}"/>
275         </target>
276
277         <!-- Test the policy -->
278         <target name="testsys" depends="compile">
279                 <java classname="${pkg_name}.Compiler"
280          fork="true"
281          failonerror="true"
282          maxmemory="128m">
283                         <jvmarg value="-Djava.library.path=${libpath}" />
284                         <!-- <jvmarg value="-verbose:jni" /> -->
285                 <!-- <arg value="-v"/> -->
286                         <arg value="-ds" />
287                         <arg path="${dfile}" />
288                         <arg value="-p" />
289                         <arg path="${pfile}" />
290                         <arg value="-po" />
291                         <arg path="${pofile}" />
292                         <arg value="-pc" />
293                         <arg path="${pc}" />
294                         <arg value="-fc" />
295                         <arg path="${fc}" />
296                         <arg value="-s" />
297                         <arg path="${sfile}" />
298                         <arg value="-sf" />
299                         <arg path="${fofile}" />
300                         <arg value="-if" />
301                         <arg path="${iffile}" />
302                         <classpath>
303                                 <pathelement path="${build}" />
304                         </classpath>
305                 </java>
306         </target>
307         <!-- END SYSTEM RESOURCES -->
308
309         <!-- START POLICY -->
310         <!-- policy specific properties -->
311         <property name="pol" value="policy" />
312         <property name="pol_parse_class" value="PolicyParser" />
313         <property name="polbuild" value="${buildpath}/${pol}" />
314         <property name="polsrc" value="${srcpath}/${pol}" />
315
316         <!-- initialize policy build directory -->
317         <target name="initpol" depends="initbase" >
318                 <mkdir dir="${polbuild}" />
319                 <copy todir="${polbuild}">
320                         <fileset dir="${polsrc}" includes="*.java,*${javacc_ext}"/>
321                         <!-- set version -->
322                         <filterset>
323                                 <filter token="version" value="${version}"/>
324                         </filterset>
325                 </copy>
326         </target>
327
328         <!-- Generate the policy compiler -->
329         <target name="comppolparser" depends="initpol">
330                 <!-- compile -->
331                 <javacc target="${polbuild}/${pol_parse_class}${javacc_ext}"
332             outputdirectory="${polbuild}"
333             javacchome="${javacchome}" />
334     </target>
335            
336         <!-- Clean the policy tree -->
337         <target name="cleanpol">
338                 <!-- Delete the build directories -->
339                 <delete dir="${polbuild}"/>
340         </target>
341
342         <!-- Test the policy -->
343         <target name="testpol" depends="testsys" />
344         <!-- END POLICY -->
345
346         <!-- START TRANSLATOR -->
347         <!-- translator specific properties -->
348         <property name="transbuild" value="${buildpath}/${trans}" />
349         <property name="transsrc" value="${srcpath}/${trans}" />
350
351         <!-- initialize translator build directory -->
352         <target name="inittrans" depends="initbase" >
353                 <mkdir dir="${transbuild}" />
354                 <copy todir="${transbuild}">
355                         <fileset dir="${transsrc}" includes="*.java"/>
356                         <!-- set version -->
357                         <filterset>
358                                 <filter token="version" value="${version}"/>
359                         </filterset>
360                 </copy>
361         </target>
362
363         <!-- Clean the translator tree -->
364         <target name="cleantrans">
365                 <!-- Delete the build directories -->
366                 <delete dir="${transbuild}"/>
367         </target>
368         <!-- END TRANSLATOR -->
369        
370         <!--compilation target  -->
371         <target name="compile" depends="initdict,inittrans,initpol,initlinkage,comppolparser,compdictparser,compsysparser">
372                 <javac destdir="${build}" >
373 <!--                    <src path="${policyxmlbuild}"/> -->
374                         <src path="${slidedir}" />
375                         <src path="${build}/${pkg_path}" />
376                 </javac>
377         </target>
378
379 </project>
Note: See TracBrowser for help on using the browser.