-
-
Notifications
You must be signed in to change notification settings - Fork 709
Building Soot with IntelliJ IDEA
Contributed by Konrad Jamrozik, GitHub account
Step 1
Download IntelliJ IDEA from Jetbrains
Step 2
Go to import project and select your '.project' file and click OK. To obtain the '.project' file, clone the Soot GitHub repository.
Step 3 Next select the Soot directory
Step 4 Import project from external model Eclipse
Step 5
Check the box with ‘keep project and module file in’ and ‘project format as ‘.idea'.
Note: Because we are keeping the project files in '.idea' dir, all of them will be ignored with ".idea" line in .gitignore
Step 6
Uncheck all projects except Soot. The unchecked projects are related to eclipse plug-in.
Note: Build path will be broken. Java SDK probably won't be recognized and some jars might be missing.
Step 7
Change the module's dependencies storage format to IntelliJ IDEA, so you won't have to modify the .classpath file. You can easily fix the SDK by resetting it, which is done in next step.
Step 8
Go to view and open module settings and Dependencies tab and select your Java version.
Step 9
Download the missing jars:
- heros.jar and jasminclasses.jar, available from https://soot-build.cs.uni-paderborn.de/public/origin/develop/soot/ [This location now contains
soot-trunk.jar
which needs to be downloaded instead of bothheros.jar
andjasminclasses.jar
. The project will still compile and run in IntelliJ Idea] - ant.jar is available e.g. at http://mvnrepository.com/artifact/org.apache.ant/ant/1.9.2
- java_cup.jar available from Sable/jasmin repo at https://github.com/Sable/jasmin/tree/master/libs
Put these files in ./libs_intellij
so they are picked up by .gitignore. The final dependencies should resemble (java_cup.jar
is not on the screenshot, but it should be):
Step 10
Create Run configuration by going to Run -> edit configuration
Congratulations! You have successfully imported & built Soot with IntelliJ IDEA.
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.
- Home
- Getting Help
- Tutorials
- Reference Material
- General Notions
- Getting Started
- A Few Uses of Soot
- Using Soot as a Command-Line Tool
- Using the Soot Eclipse Plugin
- Using Soot as a Compiler Framework
- Building Soot
- Coding Conventions
- Contributing to Soot
- Updating the Soot Web Page
- Reporting Bugs
- Preparing a New Soot Release