root/tags/1.30.2006-Release/compilerbuild.xml

Revision 870, 11.5 kB (checked in by bwilliams, 3 years ago)

fix for changed class name

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