The Travis build takes too long to complete with this flag set; moving it to AWS CodeBuild
means we can take advantage of AWS' longer timeout and even the load between Travis and AWS.
We were not regularly exercising this code outside unit tests, leading to
regressions on several tests. On my system, running this additional test takes
42 seconds, which is still better than users running into issues. (ctest -V -L
CORE -j8 takes an extra 10 seconds.)
Fixes: #3956
This commit adds a dependency to the java-models-library
(https://github.com/diffblue/java-models-library). This repository
contains models for number of classes derived from the java standard
library. These models are needed to support concurrency.
This means that the process of building JBMC has changed slightly as
one first needs to download the java-models-library. I.E:
make -C jbmc/src java-models-library-download
make -C jbmc/src
Due possible licensing issues, the ability to automatically embed the
java core models into JBMC has been removed. Instead, one must
explicitly use the '--classpath' option to load the models.
Consequently, the '--no-core-models' option and related code was
removed as it is no longer relevant.
Commit also adds a new make target, 'make dist'. This target in
addition to building jbmc will create a 'dist' directory with two
sub-folders, bin and lib. Executables will be copied to the former,
while 'core-models.jar' will copied to the latter.
Note: src/org/cprover/CProver.java has also been removed as this has
been superseded by the CProver.java in the java-models-library.