diff --git a/build.gradle b/build.gradle
index 58840b2af00e93024da6e17fd940b68c202997ad..0c9aca6507bd9f3484ab48f1021b03a5cb9641ea 100644
--- a/build.gradle
+++ b/build.gradle
@@ -37,15 +37,14 @@ dependencies {
     compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
 }
 
-sourceSets {
-    main {
-        java.srcDir "src/gen/java"
-        java.srcDir "buildSrc/gen/java"
-    }
-    test {
-        java.srcDir "src/test/java-gen"
-    }
-}
+File genSrc = file("src/gen/java")
+File testGenSrc = file("src/test/java-gen")
+sourceSets.main.java.srcDir genSrc
+sourceSets.main.java.srcDir "buildSrc/gen/java"
+sourceSets.test.java.srcDir testGenSrc
+
+idea.module.generatedSourceDirs += genSrc
+idea.module.generatedSourceDirs += testGenSrc
 
 def versionFile = 'src/main/resources/RelASTVersion.properties'
 def oldProps = new Properties()
@@ -53,7 +52,7 @@ def oldProps = new Properties()
 try {
     file(versionFile).withInputStream { stream -> oldProps.load(stream) }
     version = oldProps['version']
-} catch (e) {
+} catch (ignored) {
     // this happens, if either the properties file is not present, or cannot be read from
     throw new GradleException("File ${versionFile} not found or unreadable. Aborting.")
 }