Skip to content

Setting Up the Development Environment

Mohsen Vakilian edited this page Apr 22, 2014 · 20 revisions
  1. Install JDK 8.

  2. (Optional) Install the Checker Framework from source.

    • cd ~/hg
    • hg clone https://code.google.com/p/jsr308-langtools/ jsr308-langtools
    • hg clone https://code.google.com/p/checker-framework/ checker-framework
    • hg clone https://code.google.com/p/annotation-tools/ annotation-tools
    • export JAVA_HOME=${JAVA_HOME:-$(dirname $(dirname $(dirname $(readlink -f $(/usr/bin/which java)))))}
    • Ensure that echo $JAVA_HOME prints the path to an installation of Java 8.
    • cd ~/hg/jsr308-langtools/make
    • ant clean-and-build-all-tools
    • export PATH=$HOME/hg/jsr308-langtools/dist/bin:${PATH}
    • cd ~/hg/annotation-tools
    • ant
    • cd ~/hg/checker-framework/checkers
    • ant
    • ant all-tests
  3. Clone the Eclipse plug-ins for inferring type qualifiers.

    • cd ~/git/type-qualifier-inference
    • git clone [email protected]:reprogrammer/universal-type-qualifier-inference.git
    • cd ~/git/type-qualifier-inference/universal-type-qualifier-inference
  4. Install Eclipse Kepler SR2 with Java 8 Support.

  5. Change the JDK compliance level of the Eclipse workspace to 1.8.

  6. Set the Eclipse Java formatter to checker-framework/checkers/eclipse/checker-framework-formatter.xml.

  7. Import the Eclipse projects from the following folders into Eclipse.

    • checker-framework/eclipse
    • ~/git/type-qualifier-inference/universal-type-qualifier-inference
  8. If Eclipse reports problems in the form Package X does not exist in this plug-in in file MANIFEST.MF of checker-framework-eclipse-plugin, do the following.

    • Apply the patch at patches/checker-framework.diff using the command git apply ../../patches/checker-framework.diff. This patches makes these changes:
      • Add the JAR files that you copied to the build path of the enclosing Eclipse project.
      • Ensure that list of packages in the field Export-Package are correct.
    • Copy the JAR files listed in attribute Bundle-ClassPath from checker-framework/checkers/binary to checker-framework/eclipse/checker-framework-eclipse-plugin/lib.
  9. Your workspace should look like the screenshot below after importing the above projects. List of expected Java projects

  10. Create an Eclipse launch configuration as shown below to run the inference tool. Eclipse launch configuration

  11. This step should be safe to skip with the latest release of Eclipse that supports Java 8. To use Java 8 syntax in an Eclipse project, create a folder called .settings in the project. Then, add a file to this folder with name org.eclipse.jdt.core.prefs and the following contents:

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
Clone this wiki locally