diff --git a/build.gradle b/build.gradle
index 115e814108790b95ad22f057f2be7979d2c125dc..4048e3daacfcfd3eb7f86a7f52e1c2a18c23bcfb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -18,20 +18,21 @@ sourceSets {
 ant.properties["org.eventb.core.ast.home"] = projectDir.toString()
 ant.importBuild 'tom/tom-task.xml'
 
-task tom() << {
-	ant.tom(
-		config: 'tools/tom-2.8/Tom.xml',
-		classpath: ant.references['tom.classpath'],
-		srcdir: 'src',
-		destdir: 'src',
-		options: "-I ${projectDir}/tom",
-		pretty: 'true',
-		optimize: 'true',
-	) {
-		include(name: '**/*.t')
-	}
+task tom() {
+	doLast {
+		ant.tom(
+			config: 'tools/tom-2.8/Tom.xml',
+			classpath: ant.references['tom.classpath'],
+			srcdir: 'src',
+			destdir: 'src',
+			options: "-I ${projectDir}/tom",
+			pretty: 'true',
+			optimize: 'true',
+		) {
+			include(name: '**/*.t')
+		}
 
-	def plugin_code = """\
+		def plugin_code = """\
 package org.eventb.internal.core.ast;
 
 public class ASTPlugin {
@@ -40,13 +41,15 @@ public class ASTPlugin {
 }
 """
 
-	File f = file('src/org/eventb/internal/core/ast/ASTPlugin.java')
-	f.delete()
-	f << plugin_code
+		File f = file('src/org/eventb/internal/core/ast/ASTPlugin.java')
+		f.delete()
+		f << plugin_code
+	}
 }
 
-task patch() << {
-	def patch_content = """\
+task patch() {
+	doLast {
+		def patch_content = """\
 diff --git a/src/org/eventb/internal/core/parser/SubParsers.java b/src/org/eventb/internal/core/parser/SubParsers.java
 index e71bf08..0977da1 100644
 --- a/src/org/eventb/internal/core/parser/SubParsers.java
@@ -62,10 +65,11 @@ index e71bf08..0977da1 100644
  		protected int getKind(AbstractGrammar grammar) {
 """
 
-	File p = file("SubParsers.patch")
-	p.delete()
-	p << patch_content
-	ant.patch(patchfile: 'SubParsers.patch', originalfile: 'src/org/eventb/internal/core/parser/SubParsers.java', failonerror: 'true')
+		File p = file("SubParsers.patch")
+		p.delete()
+		p << patch_content
+		ant.patch(patchfile: 'SubParsers.patch', originalfile: 'src/org/eventb/internal/core/parser/SubParsers.java', failonerror: 'true')
+	}
 }
 
 
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 9645e974c66c8e9176fd2ec90087b3a1810fb923..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 290541c738646a3212199241f726c707e47a459c..5028f28f8e4755a78a5bf0fef4644577b199c8c4 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
index cccdd3d517fc5249beaefa600691cf150f2fa3e6..83f2acfdc319a24e8766cca78f32474ad7a22dd6 100755
--- a/gradlew
+++ b/gradlew
@@ -1,5 +1,21 @@
 #!/usr/bin/env sh
 
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
 ##############################################################################
 ##
 ##  Gradle start up script for UN*X
@@ -28,7 +44,7 @@ APP_NAME="Gradle"
 APP_BASE_NAME=`basename "$0"`
 
 # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
 
 # Use the maximum available, or set MAX_FD != -1 to use that value.
 MAX_FD="maximum"
@@ -109,8 +125,8 @@ if $darwin; then
     GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
 fi
 
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin ; then
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
     APP_HOME=`cygpath --path --mixed "$APP_HOME"`
     CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
     JAVACMD=`cygpath --unix "$JAVACMD"`
diff --git a/gradlew.bat b/gradlew.bat
index e95643d6a2ca62258464e83c72f5156dc941c609..24467a141f791695fc1009c78d913b2c849d1412 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
 @if "%DEBUG%" == "" @echo off
 @rem ##########################################################################
 @rem
@@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0
 set APP_HOME=%DIRNAME%
 
 @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
 
 @rem Find java.exe
 if defined JAVA_HOME goto findJavaFromJavaHome