diff --git a/trainbenchmark-tool-jastadd-namelookup-base/build.gradle b/trainbenchmark-tool-jastadd-namelookup-base/build.gradle
index 3e0855328a51b5a3160238b8d6c9095651666b55..5fd43979ba479053085adb1ee8b878e1c638cae0 100644
--- a/trainbenchmark-tool-jastadd-namelookup-base/build.gradle
+++ b/trainbenchmark-tool-jastadd-namelookup-base/build.gradle
@@ -1,13 +1,43 @@
+task jastadd(type: JavaExec) {
+    group = 'Build'
+    main = "-jar"
+    args = [
+            "../trainbenchmark-tool-jastadd-base/libs/jastadd2.jar",
+            "--cache=all",
+            "--flush=full",
+            "--incremental=param",
+            "--package=de.tudresden.inf.st.train.jastadd.ast",
+            "--rewrite=cnta",
+            "--o=src/main/java-gen",
+            "--tracing=api",
+    ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("src/main/jastadd/")
+    doFirst {
+        delete fileTree('src/main/java-gen')
+    }
 
-dependencies {
+    inputs.files fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("./src/main/jastadd/")
+    outputs.files file("src/main/java-gen")
+}
 
-    sourceSets {
-        main {
-            java {
-                // exclude everything. this is only input for another project
-                exclude '**'
-            }
+sourceSets {
+    main {
+        java {
+            srcDir 'src/main/java'
+            srcDir 'src/main/java-gen'
+            srcDir '../trainbenchmark-tool-jastadd-base/src/main/java'
+            srcDir './src/main/java'
         }
     }
-  // no dependencies, this does not (have to) compile
 }
+
+clean {
+    delete fileTree('src/main/java-gen')
+}
+
+dependencies {
+    compile project(':trainbenchmark-tool')
+    compile project(':trainbenchmark-tool-jastadd-base')
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
+}
+
+compileJava.dependsOn jastadd
diff --git a/trainbenchmark-tool-jastadd-namelookup-base/src/main/java-gen/.gitignore b/trainbenchmark-tool-jastadd-namelookup-base/src/main/java-gen/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..d6b7ef32c8478a48c3994dcadc86837f4371184d
--- /dev/null
+++ b/trainbenchmark-tool-jastadd-namelookup-base/src/main/java-gen/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/trainbenchmark-tool-jastadd-optimized-base/build.gradle b/trainbenchmark-tool-jastadd-optimized-base/build.gradle
index 3e0855328a51b5a3160238b8d6c9095651666b55..5fd43979ba479053085adb1ee8b878e1c638cae0 100644
--- a/trainbenchmark-tool-jastadd-optimized-base/build.gradle
+++ b/trainbenchmark-tool-jastadd-optimized-base/build.gradle
@@ -1,13 +1,43 @@
+task jastadd(type: JavaExec) {
+    group = 'Build'
+    main = "-jar"
+    args = [
+            "../trainbenchmark-tool-jastadd-base/libs/jastadd2.jar",
+            "--cache=all",
+            "--flush=full",
+            "--incremental=param",
+            "--package=de.tudresden.inf.st.train.jastadd.ast",
+            "--rewrite=cnta",
+            "--o=src/main/java-gen",
+            "--tracing=api",
+    ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("src/main/jastadd/")
+    doFirst {
+        delete fileTree('src/main/java-gen')
+    }
 
-dependencies {
+    inputs.files fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("./src/main/jastadd/")
+    outputs.files file("src/main/java-gen")
+}
 
-    sourceSets {
-        main {
-            java {
-                // exclude everything. this is only input for another project
-                exclude '**'
-            }
+sourceSets {
+    main {
+        java {
+            srcDir 'src/main/java'
+            srcDir 'src/main/java-gen'
+            srcDir '../trainbenchmark-tool-jastadd-base/src/main/java'
+            srcDir './src/main/java'
         }
     }
-  // no dependencies, this does not (have to) compile
 }
+
+clean {
+    delete fileTree('src/main/java-gen')
+}
+
+dependencies {
+    compile project(':trainbenchmark-tool')
+    compile project(':trainbenchmark-tool-jastadd-base')
+    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
+}
+
+compileJava.dependsOn jastadd
diff --git a/trainbenchmark-tool-jastadd-optimized-base/src/main/java-gen/.gitignore b/trainbenchmark-tool-jastadd-optimized-base/src/main/java-gen/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..d6b7ef32c8478a48c3994dcadc86837f4371184d
--- /dev/null
+++ b/trainbenchmark-tool-jastadd-optimized-base/src/main/java-gen/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore