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.

Table of Contents

Also check out Soot's webpage NOTE: If you find any bugs in those tutorials (or other parts of Soot) please help us out by reporting them in our issue tracker.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.