diff --git a/build.gradle b/build.gradle
index 60840d773e633ab408c265545b847af5605dce21..e81f083b42ee9ae2a4f8c000e404113ee65a293d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,22 +1,14 @@
-buildscript {
-  repositories.mavenCentral()
-  repositories.mavenLocal()
-  dependencies {
-    classpath 'org.jastadd:jastaddgradle:1.11.0'
-  }
+plugins {
+  id 'java'
+  id 'maven'
+  id 'org.jastadd' version '1.12.0'
 }
 
-repositories {
-  maven { url uri('lib') }
-  mavenCentral()
-  mavenLocal()
+if (!file('extendj/jastadd_modules').exists()) {
+  throw new GradleException('ExtendJ seems to be missing. '
+      + 'Please run "git submodule init", then "git submodule update".')
 }
 
-
-apply plugin: 'java'
-apply plugin: 'jastadd'
-apply plugin: 'maven'
-
 version = '1.3.0'
 group = 'org.extendj'
 archivesBaseName = 'rd-builder'
@@ -24,7 +16,6 @@ archivesBaseName = 'rd-builder'
 sourceSets {
   main {
     java {
-      srcDir 'src/java'
       srcDir 'extendj/src/frontend'
       srcDir 'extendj/java8/src'
     }
@@ -33,7 +24,22 @@ sourceSets {
 
 jastadd {
   configureModuleBuild()
-  modules 'jastadd_modules'
+
+  modules {
+    include("extendj/jastadd_modules")
+
+    module "rd-builder", {
+      imports "java8 frontend"
+
+      jastadd {
+        basedir "src/main/jastadd"
+        include "**/*.ast"
+        include "**/*.jadd"
+        include "**/*.jrag"
+      }
+    }
+  }
+
   module = 'rd-builder'
 
   astPackage = 'org.extendj.ast'
@@ -45,6 +51,11 @@ jastadd {
 
 sourceCompatibility = targetCompatibility = '1.7'
 
+repositories {
+  mavenLocal()
+  mavenCentral()
+}
+
 dependencies {
   compile 'se.llbit:jo-json:1.3.0'
   compile 'org.extendj:trace:0.1'
diff --git a/jastadd_modules b/jastadd_modules
deleted file mode 100644
index 6ff8917dc7a3cdb62634c9b763b9063c8fc0176c..0000000000000000000000000000000000000000
--- a/jastadd_modules
+++ /dev/null
@@ -1,19 +0,0 @@
-include("extendj/jastadd_modules")
-
-module "rd-builder", {
-
-	imports "java8 frontend"
-
-	java {
-		basedir "src/java/"
-		include "**/*.java"
-	}
-
-	jastadd {
-		basedir "src/jastadd/"
-		include "**/*.ast"
-		include "**/*.jadd"
-		include "**/*.jrag"
-	}
-}
-
diff --git a/src/jastadd/Inheritance.jrag b/src/main/jastadd/Inheritance.jrag
similarity index 100%
rename from src/jastadd/Inheritance.jrag
rename to src/main/jastadd/Inheritance.jrag
diff --git a/src/jastadd/ToJson.jrag b/src/main/jastadd/ToJson.jrag
similarity index 100%
rename from src/jastadd/ToJson.jrag
rename to src/main/jastadd/ToJson.jrag
diff --git a/src/jastadd/Typenames.jrag b/src/main/jastadd/Typenames.jrag
similarity index 100%
rename from src/jastadd/Typenames.jrag
rename to src/main/jastadd/Typenames.jrag
diff --git a/src/java/org/extendj/ragdoc/DocTag.java b/src/main/java/org/extendj/ragdoc/DocTag.java
similarity index 100%
rename from src/java/org/extendj/ragdoc/DocTag.java
rename to src/main/java/org/extendj/ragdoc/DocTag.java
diff --git a/src/java/org/extendj/ragdoc/InlineTagExpander.java b/src/main/java/org/extendj/ragdoc/InlineTagExpander.java
similarity index 100%
rename from src/java/org/extendj/ragdoc/InlineTagExpander.java
rename to src/main/java/org/extendj/ragdoc/InlineTagExpander.java
diff --git a/src/java/org/extendj/ragdoc/JavaDocParser.java b/src/main/java/org/extendj/ragdoc/JavaDocParser.java
similarity index 100%
rename from src/java/org/extendj/ragdoc/JavaDocParser.java
rename to src/main/java/org/extendj/ragdoc/JavaDocParser.java
diff --git a/src/java/org/extendj/ragdoc/JsonBuilder.java b/src/main/java/org/extendj/ragdoc/JsonBuilder.java
similarity index 100%
rename from src/java/org/extendj/ragdoc/JsonBuilder.java
rename to src/main/java/org/extendj/ragdoc/JsonBuilder.java
diff --git a/src/java/org/extendj/ragdoc/RagDocBuilder.java b/src/main/java/org/extendj/ragdoc/RagDocBuilder.java
similarity index 100%
rename from src/java/org/extendj/ragdoc/RagDocBuilder.java
rename to src/main/java/org/extendj/ragdoc/RagDocBuilder.java
diff --git a/src/java/org/extendj/util/RelativePath.java b/src/main/java/org/extendj/util/RelativePath.java
similarity index 100%
rename from src/java/org/extendj/util/RelativePath.java
rename to src/main/java/org/extendj/util/RelativePath.java