-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy pathivy.xml
210 lines (168 loc) · 13.9 KB
/
ivy.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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is part of JavaSMT,
an API wrapper for a collection of SMT solvers:
https://github.com/sosy-lab/java-smt
SPDX-FileCopyrightText: 2023 Dirk Beyer <https://www.sosy-lab.org>
SPDX-License-Identifier: Apache-2.0
-->
<ivy-module version="2.0"
xmlns:e="http://ant.apache.org/ivy/extra"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="org.sosy_lab" module="java-smt">
<license name="The Apache Software License, Version 2.0" url="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
<description homepage="https://github.com/sosy-lab/java-smt">
Java wrapper for SMT solvers like Z3, MathSAT5, SMTInterpol, Princess, CVC4, CVC5,
Boolector, Yices2, and Bitwuzla.
</description>
</info>
<configurations>
<!-- All dependencies that are only needed during build. -->
<conf name="build" visibility="private" description="for developing and testing"/>
<!-- The minimal dependencies, without any solver. -->
<conf name="core" visibility="private" description="minimal configuration, no solver included"/>
<!-- The normal dependencies with only one solver included. -->
<conf name="runtime-mathsat" extends="runtime-mathsat-x64,runtime-mathsat-arm64" description="only one solver included"/>
<conf name="runtime-mathsat-x64" extends="core" description="only one solver included"/>
<conf name="runtime-mathsat-arm64" extends="core" description="only one solver included"/>
<conf name="runtime-opensmt" extends="runtime-opensmt-x64,runtime-opensmt-arm64" description="only one solver included"/>
<conf name="runtime-opensmt-x64" extends="core" description="only one solver included"/>
<conf name="runtime-opensmt-arm64" extends="core" description="only one solver included"/>
<conf name="runtime-optimathsat" extends="core" description="only one solver included"/>
<conf name="runtime-smtinterpol" extends="core" description="only one solver included"/>
<conf name="runtime-princess" extends="core" description="only one solver included"/>
<conf name="runtime-princess-with-javacup" extends="core" description="only one solver included"/>
<conf name="runtime-z3" extends="runtime-z3-x64,runtime-z3-arm64" description="only one solver included"/>
<conf name="runtime-z3-x64" extends="core" description="only one solver included"/>
<conf name="runtime-z3-arm64" extends="core" description="only one solver included"/>
<conf name="runtime-cvc4" extends="core" description="only one solver included"/>
<conf name="runtime-cvc5" extends="core" description="only one solver included"/>
<conf name="runtime-boolector" extends="core" description="only one solver included"/>
<conf name="runtime-yices2" extends="core" description="only one solver included"/>
<conf name="runtime-bitwuzla" extends="runtime-bitwuzla-x64,runtime-bitwuzla-arm64" description="only one solver included"/>
<conf name="runtime-bitwuzla-x64" extends="core" description="only one solver included"/>
<conf name="runtime-bitwuzla-arm64" extends="core" description="only one solver included"/>
<!-- default config, provides only x64 for backwards-compatibility -->
<conf name="runtime" extends="runtime-x64" description="all solvers for x64 architecture included"/>
<conf name="runtime-without-gpl" extends="runtime-x64-without-gpl" description="all solvers for x64 architecture included, except those under GPL"/>
<!-- The normal dependencies with all solvers included. -->
<conf name="runtime-x64"
extends="runtime-x64-without-gpl,runtime-yices2"
description="all solvers for x64 architecture included"/>
<conf name="runtime-arm64"
extends="runtime-arm64-without-gpl"
description="all solvers for arm64 architecture included"/>
<!-- The normal dependencies with all solvers included, except those unter GPL. -->
<conf name="runtime-x64-without-gpl"
extends="runtime-mathsat-x64,runtime-opensmt-x64,runtime-optimathsat,runtime-smtinterpol,runtime-princess,runtime-z3-x64,runtime-cvc4,runtime-cvc5,runtime-boolector,runtime-bitwuzla-x64"
description="all solvers for x64 architecture included, except those under GPL"/>
<conf name="runtime-arm64-without-gpl"
extends="runtime-mathsat-arm64,runtime-opensmt-arm64,runtime-smtinterpol,runtime-princess,runtime-z3-arm64,runtime-bitwuzla-arm64"
description="all solvers for arm64 architecture included, except those under GPL"/>
<!-- Dependencies needed for building or running tests. -->
<conf name="test" visibility="private" description="for developing and testing"/>
<!-- Dependencies needed for running source-code auto-formatter. -->
<conf name="format-source" visibility="private" description="for developing and testing"/>
<!-- Dependencies needed for running CheckStyle. -->
<conf name="checkstyle" visibility="private" description="for developing and testing"/>
<!-- Dependencies needed for running SpotBugs. -->
<conf name="spotbugs" visibility="private" description="for developing and testing"/>
<!-- Additional files like JavaDocs or source code that will help developers.
These are not downloaded by default, but only when "ant install-contrib" is called. -->
<conf name="contrib" visibility="private"/>
<!-- Configuration for publishing sources -->
<conf name="sources" description="sources of JavaSMT" />
<conf name="sources-all" extends="sources,contrib" description="sources of JavaSMT and its dependencies" />
</configurations>
<publications defaultconf="core">
<artifact />
<artifact conf="sources" e:classifier="sources" type="source" ext="jar"/>
</publications>
<dependencies>
<!-- SoSy-Lab Common Library -->
<dependency org="org.sosy_lab" name="common" rev="0.3000-609-g90a352c" conf="core->runtime; contrib->sources"/>
<!-- Google Core Libraries for Java
Contains a lot of helpful data structures. -->
<dependency org="com.google.guava" name="guava" rev="33.4.0-jre" conf="core->default; contrib->sources"/>
<!-- Guava-testlib contains many useful testing utilities -->
<dependency org="com.google.guava" name="guava-testlib" rev="33.4.0-jre" conf="test->default; contrib->sources"/>
<!-- Dependency on Ivy itself so that we can ugprade it easily.
Change version number in build/build-ivy.xml for upgrading. -->
<dependency org="org.apache.ivy" name="ivy" rev="${ivy.target_version}" conf="build->default"/>
<!-- Google Auto-Value
Library for auto-generating value types. -->
<dependency org="com.google.auto.value" name="auto-value" rev="1.11.0" conf="build->default"/>
<dependency org="com.google.auto.value" name="auto-value-annotations" rev="1.11.0" conf="build->default; contrib->sources"/>
<!-- Annotations we use for @Nullable etc. -->
<dependency org="org.checkerframework" name="checker-qual" rev="3.48.4" conf="core->default; contrib->sources"/>
<!-- JUnit
Testing framework. -->
<dependency org="junit" name="junit" rev="4.13.2" conf="test->default; contrib->sources"/>
<!-- JaCoCo
Library for code coverage -->
<dependency org="org.jacoco" name="org.jacoco.ant" rev="0.8.12" conf="build->default"/>
<!-- The JUnit task for Ant so that we can run the tests.
The property used here is defined in build.xml according to the current Ant version. -->
<dependency org="org.apache.ant" name="ant-junit" rev="${ant.version.exact}" transitive="false" conf="build->default"/>
<dependency org="org.apache.ant" name="ant-junit4" rev="${ant.version.exact}" transitive="false" conf="build->default"/>
<!-- Truth
Library for writing literal assertions. -->
<dependency org="com.google.truth" name="truth" rev="1.4.4" conf="test->default; contrib->sources"/>
<dependency org="com.google.truth.extensions" name="truth-java8-extension" rev="1.4.4" conf="test->default; contrib->sources"/>
<!-- Google error-prone
Compiler adaptor with some useful checks for common errors. -->
<dependency org="com.google.errorprone" name="error_prone_core" rev="2.28.0" conf="build->default" />
<dependency org="com.google.errorprone" name="error_prone_annotations" rev="2.28.0" conf="build->default; contrib->sources" />
<!-- Eclipse JDT Compiler
For additional compiler warnings. -->
<dependency org="org.eclipse.jdt.core.compiler" name="ecj" rev="4.32-sosy0" conf="build->default"/>
<!-- google-java-format
A source-code formatter for Java -->
<dependency org="com.google.googlejavaformat" name="google-java-format" rev="1.25.2" conf="format-source->default"/>
<!-- SpotBugs -->
<dependency org="com.github.spotbugs" name="spotbugs-ant" rev="4.8.6" conf="spotbugs->default"/>
<!-- JAR with annotations needs to be present at runtime because we use Nullable.class -->
<dependency org="com.github.spotbugs" name="spotbugs-annotations" rev="4.8.6" conf="core->default; contrib->sources"/>
<dependency org="com.google.code.findbugs" name="jsr305" rev="3.0.2" conf="core->default; contrib->sources"/>
<!-- Checkstyle -->
<dependency org="com.github.sevntu-checkstyle" name="sevntu-checks" rev="1.44.1" conf="checkstyle->default"/>
<dependency org="com.puppycrawl.tools" name="checkstyle" rev="10.21.1" conf="checkstyle->default"/>
<!-- SmtInterpol -->
<dependency org="de.uni-freiburg.informatik.ultimate" name="smtinterpol" rev="2.5-1242-g5c50fb6d" conf="runtime-smtinterpol->master; contrib->sources"/>
<!-- Princess and Ostrich for our Maven release -->
<dependency org="io.github.uuverifiers" name="princess_2.13" rev="2024-11-08" conf="runtime-princess-with-javacup->default; contrib->sources"/>
<dependency org="io.github.uuverifiers" name="ostrich_2.13" rev="1.4.1" conf="runtime-princess-with-javacup->default; contrib->sources"/>
<!-- Princess and Ostrich for our Ivy release -->
<dependency org="io.github.uuverifiers" name="princess_2.13" rev="2024-11-08" conf="runtime-princess->default; contrib->sources">
<!-- Exclude dependency on java-cup and replace it with java-cup-runtime, which is enough.
We use the JAR that is published by us instead of the one from net.sf.squirrel-sql.thirdparty-non-maven
because the latter does not provide a separate JAR for java-cup-runtime. -->
<exclude org="net.sf.squirrel-sql.thirdparty-non-maven" name="java-cup"/>
</dependency>
<dependency org="io.github.uuverifiers" name="ostrich_2.13" rev="1.4.1" conf="runtime-princess->default; contrib->sources">
<!-- Exclude dependency on java-cup and replace it with java-cup-runtime, which is enough.
We use the JAR that is published by us instead of the one from net.sf.squirrel-sql.thirdparty-non-maven
because the latter does not provide a separate JAR for java-cup-runtime. -->
<exclude org="net.sf.squirrel-sql.thirdparty-non-maven" name="java-cup"/>
</dependency>
<dependency org="edu.tum.cs" name="java-cup" rev="11b-20160615" conf="runtime-princess->runtime"/>
<!-- Solver Binaries -->
<dependency org="org.sosy_lab" name="javasmt-solver-mathsat" rev="5.6.11-sosy1" conf="runtime-mathsat-x64->solver-mathsat-x64; runtime-mathsat-arm64->solver-mathsat-arm64" />
<dependency org="org.sosy_lab" name="javasmt-solver-z3" rev="4.14.0" conf="runtime-z3-x64->solver-z3-x64; runtime-z3-arm64->solver-z3-arm64; contrib->sources,javadoc" />
<dependency org="org.sosy_lab" name="javasmt-solver-opensmt" rev="2.8.0-sosy1-ge831bf23" conf="runtime-opensmt-x64->solver-opensmt-x64; runtime-opensmt-arm64->solver-opensmt-arm64; contrib->sources,javadoc"/>
<dependency org="org.sosy_lab" name="javasmt-solver-optimathsat" rev="1.7.3-sosy1" conf="runtime-optimathsat->solver-optimathsat" />
<dependency org="org.sosy_lab" name="javasmt-solver-cvc4" rev="1.8-prerelease-2020-06-24-g7825d8f28" conf="runtime-cvc4->solver-cvc4" />
<dependency org="org.sosy_lab" name="javasmt-solver-cvc5" rev="1.0.5-g4cb2ab9eb" conf="runtime-cvc5->solver-cvc5" />
<dependency org="org.sosy_lab" name="javasmt-solver-boolector" rev="3.2.2-g1a89c229" conf="runtime-boolector->solver-boolector" />
<dependency org="org.sosy_lab" name="javasmt-solver-bitwuzla" rev="0.7.0-13.1-g595512ae" conf="runtime-bitwuzla-x64->solver-bitwuzla-x64; runtime-bitwuzla-arm64->solver-bitwuzla-arm64; contrib->sources,javadoc"/>
<!-- additional JavaSMT components with Solver Binaries -->
<dependency org="org.sosy_lab" name="javasmt-yices2" rev="4.1.1-734-g3732f7e08" conf="runtime-yices2->runtime; contrib->sources" />
<!-- <dependency org="org.sosy_lab" name="javasmt-solver-yices2" rev="2.6.4-264-g553897f5" conf="runtime->solver-yices2" /> -->
<!-- Several JARs declare animal-sniffer-annotations.jar as dependency in their manifest although they do not really need it.
As long as this is the case we need to provide the JAR, otherwise javac complains. -->
<dependency org="org.codehaus.mojo" name="animal-sniffer-annotations" rev="1.18" conf="core->default;"/>
<!-- Guava has a dependency on error_prone_annotations without a revision number, need an override. -->
<override org="com.google.errorprone" module="error_prone_annotations" rev="2.4.0"/>
</dependencies>
</ivy-module>