Building Soot from the Command Line (Recommended) - soot-oss/soot GitHub Wiki
Note that unless you are directly working on the Soot source code (adding features, fixing bugs, etc.), you are recommended to use the nightly builds
System Setup
- Download the Java Development Kit from the following link: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- Install Maven on your machine
IMPORTANT: Soot's nexus server https://soot-build.cs.uni-paderborn.de/nexus/repository/soot-snapshot/ is reachable via https using let's encrypt certificates. Some older java versions do not include them out-of-the-box.
Thus, we recommend using java >= 1.8.0_144.
Step 1: Download the Latest Soot Version
The first step is to download Soot latest develop branch.
git clone https://github.com/Sable/soot.git
cd soot
git checkout develop
Step 2: Build Soot Jar (Excluding Dependencies)
In order to build a Soot jar containing Soot's core classes run
mvn clean compile package
.
The resulting jar is saved as target/sootclasses-trunk.jar
.
Alternative - Step 2: Build Soot Jar (Including Dependencies)
By default, maven does not include any dependencies in the resulting jar file target/sootclasses-trunk.jar
but defines them in the file sootclasses-trunk.jar:META-INF/maven/pom.xml.
If you need a full soot jar including all dependencies run mvn clean compile assembly:single
.
The resulting jar file target/sootclasses-trunk-jar-with-dependencies.jar
includes all dependencies.