forked from utwente-fmt/vercors
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.xml
117 lines (99 loc) · 5.65 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!-- -*- tab-width:2 ; indent-tabs-mode:nil -*- -->
<project name="VerCors Tool" default="compile">
<!-- the dependencies are either in the deps sub-directory or two levels up -->
<condition property="deps" value="${basedir}/deps" else="${basedir}/../..">
<available file="${basedir}/deps" type="dir"/>
</condition>
<condition property="sbtcommand" value="${basedir}/windows/bin/vct-sbt.cmd" else="${basedir}/unix/bin/vct-sbt">
<os family="windows" />
</condition>
<condition property="fail_on_test" value="true" else="false">
<isset property="TRAVIS"/>
</condition>
<property name="dist" value="${basedir}/dist"/>
<property environment="env"/>
<target name="clean">
<exec dir="${basedir}/vercors" executable="${sbtcommand}"><arg value="clean" /><env key="TERM" value="xterm-color" /></exec>
<exec dir="${basedir}/vercors/viper/hre" executable="${sbtcommand}"><arg value="clean" /><env key="TERM" value="xterm-color" /></exec>
<exec dir="${basedir}/vercors/parsers" executable="${sbtcommand}"><arg value="clean" /><env key="TERM" value="xterm-color" /></exec>
<exec dir="${basedir}/vercors/viper" executable="${sbtcommand}"><arg value="clean" /><env key="TERM" value="xterm-color" /></exec>
<delete dir="${basedir}/doc/api"/>
</target>
<target name="assembly" depends="compile">
<jar destfile="vct-tool.jar" >
<manifest>
<attribute name="Main-Class" value="vct.main.Main"/>
<attribute name="Built-By" value="${user.name}"/>
</manifest>
<zipfileset src="vercors/target/scala-2.12/Vercors-assembly-0.1-SNAPSHOT.jar" excludes="META-INF/*" />
</jar>
</target>
<target name="compile">
<exec dir="${basedir}/vercors" executable="${sbtcommand}" failonerror="${fail_on_test}"><arg value="assembly" /></exec>
</target>
<target name="doc" depends="compile">
<!-- do not inline! -->
<antcall target="javadoc"/>
</target>
<target name="javadoc">
<mkdir dir="${basedir}/doc/api"/>
<javadoc
overview="${basedir}/src/overview.html"
classpath="${basedir}/main/vct-tool.jar:${basedir}/core/libs/antlr-4.5.3-complete.jar:${basedir}/libs/commons-lang3-3.1/commons-lang3-3.1.jar"
destdir="${basedir}/doc/api"
author="true"
version="true"
use="true"
windowtitle="VerCors Tool API">
<fileset dir="${basedir}/vercors/hre/src" defaultexcludes="yes">
<include name="**/*.java"/>
</fileset>
<fileset dir="${basedir}/vercors/src/main/java" defaultexcludes="yes">
<include name="**/*.java"/>
</fileset>
<fileset dir="${basedir}/vercors/viper/src" defaultexcludes="yes">
<include name="**/*.java"/>
</fileset>
<doctitle><![CDATA[<h1>VerCors Tool Documentation</h1>]]></doctitle>
<bottom><![CDATA[<i>Copyright © 2011-2012 Stefan Blom. All Rights Reserved.</i>]]></bottom>
<group title="Parsers and Imports" packages="vct.antlr4*"/>
<group title="Provers and Exports" packages="vct.boogie:vct.java.printer"/>
<group title="Hybrid Runtime Environment" packages="hre*"/>
<!--
<tag name="todo" scope="all" description="To do:"/>
<group title="Group 1 Packages" packages="com.dummy.test.a*"/>
<group title="Group 2 Packages" packages="com.dummy.test.b*:com.dummy.test.c*"/>
<link offline="true" href="http://download.oracle.com/javase/6/docs/api/" packagelistLoc="C:\tmp"/>
<link href="http://developer.java.sun.com/developer/products/xml/docs/api/"/>
-->
</javadoc>
</target>
<!-- Generates a ZIP file with the VerCors jar from the assembly target,
together with all the requires dependencies to run VerCors. -->
<target name="dist" depends="assembly">
<property name="prefix" value="vercors-dist"/>
<mkdir dir="${dist}"/>
<zip destfile="${dist}/vercors-dist.zip" >
<!-- Z3 modules -->
<zipfileset dir="${deps}/modules/z3" prefix="${prefix}/deps/modules/z3" excludes="**/*~" />
<zipfileset dir="${deps}/z3" prefix="${prefix}/deps/z3" excludes="**/*~,**/*.cmd,**/*.exe,**/bin/*" />
<zipfileset dir="${deps}/z3" prefix="${prefix}/deps/z3" filemode="755" excludes="**/*~" includes="**/*.cmd,**/*.exe,**/bin/*" />
<!-- Boogie modules -->
<zipfileset dir="${deps}/modules/boogie" prefix="${prefix}/deps/modules/boogie" excludes="**/*~" />
<zipfileset dir="${deps}/boogie" prefix="${prefix}/deps/boogie" excludes="**/*~,**/*.cmd,**/*.exe,**/bin/*" />
<zipfileset dir="${deps}/boogie" prefix="${prefix}/deps/boogie" filemode="755" excludes="**/*~" includes="**/*.cmd,**/*.exe,**/bin/*" />
<!-- Chalice modules -->
<zipfileset dir="${deps}/modules/chalice" prefix="${prefix}/deps/modules/chalice" excludes="**/*~" />
<zipfileset dir="${deps}/chalice" prefix="${prefix}/deps/chalice" excludes="**/*~,**/*.cmd,**/*.exe,**/bin/*" />
<zipfileset dir="${deps}/chalice" prefix="${prefix}/deps/chalice" filemode="755" excludes="**/*~" includes="**/*.cmd,**/*.exe,**/bin/*" />
<!-- Binaries, configs, examples, libraries -->
<zipfileset dir="." prefix="${prefix}" includes="README,INSTALL" />
<zipfileset dir="config" prefix="${prefix}/config" excludes="*~" filemode="755" />
<zipfileset dir="libs" prefix="${prefix}/libs" />
<zipfileset dir="modules" prefix="${prefix}/modules" filemode="755" excludes="**/*~,.git,init/*sh,init/perl,init/python,init/lisp,init/modulerc" />
<zipfileset dir="examples" prefix="${prefix}/examples" includes="**/*.java,**/*.pvl,**/*.c,README,**/SEEALSO,backends/**/*" excludes="**/*~" />
<!-- VerCors and Viper jars -->
<zipfileset dir="." prefix="${prefix}" includes="vct-tool.jar" />
</zip>
</target>
</project>