-
-
Notifications
You must be signed in to change notification settings - Fork 712
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.
Step 3
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 4
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 5
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 6
Go to view and open module settings and Dependencies tab and select your Java version.
Step 7
Download the missing jars:
- heros.jar and jasminclasses.jar, available from http://vandyk.st.informatik.tu-darmstadt.de/abc/
- 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 8
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