diff --git a/.gitignore b/.gitignore
index a78076875b36829500e0d58bf05998ee5ade757a..8e7d63ec40cb8b81aaa7fe19cf4f672d3fca548a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
 .classpath
 .idea/
 .gradle/
+/build/
diff --git a/build.gradle b/build.gradle
index 2ea7c1321f7145fbe59da6e4db45ff55e6a13fc6..468b680d364195038056ac2b196e326191887e01 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,10 @@
 plugins {
-    id "com.github.ben-manes.versions" version "0.20.0"
+    id "com.github.ben-manes.versions" version "0.34.0"
 }
 
+dependencyUpdates.gradleReleaseChannel="current"
+dependencyUpdates.revision="release"
+
 allprojects  {
     group = 'de.tudresden.inf.st'
     version = '0.1'
@@ -10,6 +13,7 @@ allprojects  {
 subprojects {
     apply plugin: 'java-library'
     apply plugin: 'idea'
+    apply plugin: "com.github.ben-manes.versions"
 
     sourceCompatibility = 1.8
     targetCompatibility = 1.8
@@ -38,7 +42,9 @@ subprojects {
     }
 
     dependencies {
-        testImplementation group: 'org.hamcrest', name: 'hamcrest-junit', version: '2.0.0.0'
+        testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: "${jupiter_version}"
+        testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: "${jupiter_version}"
+        testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.18.0'
     }
 
     test {
diff --git a/dumpAst/build.gradle b/dumpAst/build.gradle
index 84b5e8972a6d7da3df94099b54d50b259ee4b412..7c3c3a361ad4166202aa68fdfdacf19443839e0a 100644
--- a/dumpAst/build.gradle
+++ b/dumpAst/build.gradle
@@ -15,12 +15,9 @@ buildscript {
 }
 
 dependencies {
-    implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: '0.9.6'
+    implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: "${mustache_java_version}"
     api group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
 
-    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.4.0'
-    testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.4.0'
-    testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.12.1'
 }
 
 def versionFile = 'src/main/resources/dumpAstVersion.properties'
diff --git a/dumpAstWithPlantuml/build.gradle b/dumpAstWithPlantuml/build.gradle
index 8742ea8d786770d05e1a34d1c1a7d56c7e2c4a6c..0dae196ffc80e6e88975867987c589fe1dfe4269 100644
--- a/dumpAstWithPlantuml/build.gradle
+++ b/dumpAstWithPlantuml/build.gradle
@@ -17,12 +17,8 @@ buildscript {
 dependencies {
     implementation fileTree(include: ['plantuml.jar'], dir: '../libs')
 
-    implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: '0.9.6'
+    implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: "${mustache_java_version}"
     api group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
-
-    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.4.0'
-    testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.4.0'
-    testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.12.1'
 }
 
 def versionFile = '../dumpAst/src/main/resources/dumpAstVersion.properties'
diff --git a/gradle.properties b/gradle.properties
index 8dfaf2b21cba4862b382e4bb5d7a3173956f99d0..0b9ca1a9e095602aa642d4f103b301728a005d3c 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,3 @@
-jackson_version = 2.9.8
-apache_httpcomponents_version = 4.5.8
+log4j_version = 2.13.3
+jupiter_version = 5.7.0
+mustache_java_version = 0.9.7
diff --git a/grammar2uml/build.gradle b/grammar2uml/build.gradle
index d4e998bd3c5ee2c284c38da757f8e7f61d45383c..4dc350e842e13bfafabe45e92cf62fc39631907a 100644
--- a/grammar2uml/build.gradle
+++ b/grammar2uml/build.gradle
@@ -20,14 +20,9 @@ buildscript {
 dependencies {
     implementation project(':relast.preprocessor')
 
-    implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: '0.9.6'
-    implementation group: 'org.apache.logging.log4j', name: 'log4j-jul', version: '2.11.2'
+    implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: "${mustache_java_version}"
     runtime group: 'org.jastadd', name: 'jastadd', version: '2.3.4'
     api group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
-
-    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.4.0'
-    testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.4.0'
-    testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.12.1'
 }
 
 def versionFile = 'src/main/resources/grammar2umlVersion.properties'
@@ -56,7 +51,7 @@ jar {
 
     from {
         configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
-        configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
+        // configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
     }
 
     archiveBaseName = 'grammar2uml'
diff --git a/testDumper/build.gradle b/testDumper/build.gradle
index d17865230d96006e899e1b4f85373887debe8dcb..dac0574a50977c5843472a52fa6a45ed34d29a2d 100644
--- a/testDumper/build.gradle
+++ b/testDumper/build.gradle
@@ -16,9 +16,6 @@ dependencies {
 //    runtime group: 'org.jastadd', name: 'jastadd', version: '2.3.4'
 
     testImplementation project(':dumpAst')
-    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.4.0'
-    testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.4.0'
-    testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.12.1'
 }
 
 File genSrc = file("src/gen/java")