Skip to content

Building Soot from the Command Line (Recommended)

Eric Bodden edited this page Jul 6, 2018 · 11 revisions

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

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.

Clone this wiki locally