diff --git a/org.eclipse.gmf.notation.releng/pom.xml b/org.eclipse.gmf.notation.releng/pom.xml
index 94130ef..efe6157 100644
--- a/org.eclipse.gmf.notation.releng/pom.xml
+++ b/org.eclipse.gmf.notation.releng/pom.xml
@@ -1,224 +1,214 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
-	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.eclipse.gmf.notation</groupId>
-	<artifactId>org.eclipse.gmf.notation.releng</artifactId>
-	<version>1.12.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+    xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.eclipse.gmf.notation</groupId>
+  <artifactId>org.eclipse.gmf.notation.releng</artifactId>
+  <version>1.12.0-SNAPSHOT</version>
+  <packaging>pom</packaging>
 
-	<!-- this is the parent POM from which all modules inherit common settings -->
-	<properties>
-		<tycho-version>1.0.0</tycho-version>
-		<cbi-plugins.version>1.1.4</cbi-plugins.version>
-		<antrun-version>1.6</antrun-version>
-		<maven.test.failure.ignore>true</maven.test.failure.ignore>
-	</properties>
+  <!-- this is the parent POM from which all modules inherit common settings -->
+  <properties>
+    <tycho-version>1.4.0</tycho-version>
+    <cbi-plugins.version>1.1.5</cbi-plugins.version>
+    <antrun-version>1.6</antrun-version>
+    <maven.test.failure.ignore>true</maven.test.failure.ignore>
+  </properties>
 
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.eclipse.tycho</groupId>
-				<artifactId>tycho-maven-plugin</artifactId>
-				<version>${tycho-version}</version>
-				<extensions>true</extensions>
-			</plugin>
-			<plugin>
-				<groupId>org.eclipse.tycho</groupId>
-				<artifactId>tycho-source-plugin</artifactId>
-				<version>${tycho-version}</version>
-				<executions>
-					<execution>
-						<id>plugin-source</id>
-						<goals>
-							<goal>plugin-source</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-antrun-plugin</artifactId>
-				<version>${antrun-version}</version>
-				<executions>
-					<execution>
-						<id>replace-build-token</id>
-						<phase>generate-sources</phase>
-						<configuration>
-							<tasks>
-								<taskdef resource="net/sf/antcontrib/antcontrib.properties"
-									classpathref="maven.plugin.classpath" />
-								<if>
-									<available file="about.mappings" />
-									<then>
-										<echo
-											message="Replacing @build@ token within about.mappings with build id" />
-										<replace file="about.mappings">
-											<replacefilter token="@build@"
-												value="${unqualifiedVersion}.${buildQualifier}" />
-										</replace>
-									</then>
-								</if>
-								<if>
-									<available file="javadocOptions.txt" />
-									<then>
-										<echo
-											message="Replacing @build@ token within javadocOptions.txt with build id" />
-										<replace file="javadocOptions.txt">
-											<replacefilter token="@build@"
-												value="${unqualifiedVersion}.${buildQualifier}" />
-										</replace>
-									</then>
-								</if>
-							</tasks>
-						</configuration>
-						<goals>
-							<goal>run</goal>
-						</goals>
-					</execution>
-					<execution>
-						<id>replace-back-build-token</id>
-						<phase>install</phase>
-						<configuration>
-							<tasks>
-								<taskdef resource="net/sf/antcontrib/antcontrib.properties"
-									classpathref="maven.plugin.classpath" />
-								<if>
-									<available file="about.mappings" />
-									<then>
-										<echo
-											message="Replacing back build id within about.mappings with @build@ token" />
-										<replace file="about.mappings">
-											<replacefilter token="${unqualifiedVersion}.${buildQualifier}"
-												value="@build@" />
-										</replace>
-									</then>
-								</if>
-								<if>
-									<available file="javadocOptions.txt" />
-									<then>
-										<echo
-											message="Replacing back build id within javadocOptions.txt with @build@ token" />
-										<replace file="javadocOptions.txt">
-											<replacefilter token="${unqualifiedVersion}.${buildQualifier}"
-												value="@build@" />
-										</replace>
-									</then>
-								</if>
-							</tasks>
-						</configuration>
-						<goals>
-							<goal>run</goal>
-						</goals>
-					</execution>
-				</executions>
-				<dependencies>
-					<dependency>
-						<groupId>ant-contrib</groupId>
-						<artifactId>ant-contrib</artifactId>
-						<version>20020829</version>
-					</dependency>
-				</dependencies>
-			</plugin>
-		</plugins>
-	</build>
+  <build>
+    <plugins>
+      <plugin>
+	<groupId>org.eclipse.tycho</groupId>
+	<artifactId>tycho-maven-plugin</artifactId>
+	<version>${tycho-version}</version>
+	<extensions>true</extensions>
+      </plugin>
+      <plugin>
+	<groupId>org.eclipse.tycho</groupId>
+	<artifactId>tycho-source-plugin</artifactId>
+	<version>${tycho-version}</version>
+	<executions>
+	  <execution>
+	    <id>plugin-source</id>
+	    <goals>
+	      <goal>plugin-source</goal>
+	    </goals>
+	  </execution>
+	</executions>
+      </plugin>
+      <plugin>
+	<groupId>org.apache.maven.plugins</groupId>
+	<artifactId>maven-antrun-plugin</artifactId>
+	<version>${antrun-version}</version>
+	<executions>
+	  <execution>
+	    <id>replace-build-token</id>
+	    <phase>generate-sources</phase>
+	    <configuration>
+	      <tasks>
+		<taskdef resource="net/sf/antcontrib/antcontrib.properties"
+			 classpathref="maven.plugin.classpath" />
+		<if>
+		  <available file="about.mappings" />
+		  <then>
+		    <echo
+			message="Replacing @build@ token within about.mappings with build id" />
+		    <replace file="about.mappings">
+		      <replacefilter token="@build@"
+				     value="${unqualifiedVersion}.${buildQualifier}" />
+		    </replace>
+		  </then>
+		</if>
+		<if>
+		  <available file="javadocOptions.txt" />
+		  <then>
+		    <echo
+			message="Replacing @build@ token within javadocOptions.txt with build id" />
+		    <replace file="javadocOptions.txt">
+		      <replacefilter token="@build@"
+				     value="${unqualifiedVersion}.${buildQualifier}" />
+		    </replace>
+		  </then>
+		</if>
+	      </tasks>
+	    </configuration>
+	    <goals>
+	      <goal>run</goal>
+	    </goals>
+	  </execution>
+	  <execution>
+	    <id>replace-back-build-token</id>
+	    <phase>install</phase>
+	    <configuration>
+	      <tasks>
+		<taskdef resource="net/sf/antcontrib/antcontrib.properties"
+			 classpathref="maven.plugin.classpath" />
+		<if>
+		  <available file="about.mappings" />
+		  <then>
+		    <echo
+			message="Replacing back build id within about.mappings with @build@ token" />
+		    <replace file="about.mappings">
+		      <replacefilter token="${unqualifiedVersion}.${buildQualifier}"
+				     value="@build@" />
+		    </replace>
+		  </then>
+		</if>
+		<if>
+		  <available file="javadocOptions.txt" />
+		  <then>
+		    <echo
+			message="Replacing back build id within javadocOptions.txt with @build@ token" />
+		    <replace file="javadocOptions.txt">
+		      <replacefilter token="${unqualifiedVersion}.${buildQualifier}"
+				     value="@build@" />
+		    </replace>
+		  </then>
+		</if>
+	      </tasks>
+	    </configuration>
+	    <goals>
+	      <goal>run</goal>
+	    </goals>
+	  </execution>
+	</executions>
+	<dependencies>
+	  <dependency>
+	    <groupId>ant-contrib</groupId>
+	    <artifactId>ant-contrib</artifactId>
+	    <version>20020829</version>
+	  </dependency>
+	</dependencies>
+      </plugin>
+    </plugins>
+  </build>
 
-	<profiles>
-		<profile>
-			<id>gmf-notation.target</id>
-			<activation>
-				<activeByDefault>true</activeByDefault>
-			</activation>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.eclipse.tycho</groupId>
-						<artifactId>target-platform-configuration</artifactId>
-						<version>${tycho-version}</version>
-						<configuration>
-							<!-- add target file content to target platform -->
-							<target>
-								<artifact>
-									<groupId>org.eclipse.gmf.notation</groupId>
-									<artifactId>org.eclipse.gmf.notation.target</artifactId>
-									<version>1.12.0-SNAPSHOT</version>
-									<classifier>gmf-notation</classifier>
-								</artifact>
-							</target>
-							<environments>
-								<environment>
-									<os>linux</os>
-									<ws>gtk</ws>
-									<arch>x86</arch>
-								</environment>
-								<environment>
-									<os>linux</os>
-									<ws>gtk</ws>
-									<arch>x86_64</arch>
-								</environment>
-								<environment>
-									<os>win32</os>
-									<ws>win32</ws>
-									<arch>x86</arch>
-								</environment>
-								<environment>
-									<os>win32</os>
-									<ws>win32</ws>
-									<arch>x86_64</arch>
-								</environment>
-								<environment>
-									<os>macosx</os>
-									<ws>cocoa</ws>
-									<arch>x86_64</arch>
-								</environment>
-							</environments>
-						</configuration>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-		<profile>
-			<id>hudson.eclipse.org</id>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.eclipse.cbi.maven.plugins</groupId>
-						<artifactId>eclipse-jarsigner-plugin</artifactId>
-						<version>${cbi-plugins.version}</version>
-						<executions>
-							<execution>
-								<id>sign</id>
-								<phase>verify</phase>
-								<goals>
-									<goal>sign</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-	</profiles>
+  <profiles>
+    <profile>
+      <id>gmf-notation.target</id>
+      <activation>
+	<activeByDefault>true</activeByDefault>
+      </activation>
+      <build>
+	<plugins>
+	  <plugin>
+	    <groupId>org.eclipse.tycho</groupId>
+	    <artifactId>target-platform-configuration</artifactId>
+	    <version>${tycho-version}</version>
+	    <configuration>
+	      <!-- add target file content to target platform -->
+	      <target>
+		<artifact>
+		  <groupId>org.eclipse.gmf.notation</groupId>
+		  <artifactId>org.eclipse.gmf.notation.target</artifactId>
+		  <version>1.12.0-SNAPSHOT</version>
+		  <classifier>gmf-notation</classifier>
+		</artifact>
+	      </target>
+	      <environments>
+		<environment>
+		  <os>linux</os>
+		  <ws>gtk</ws>
+		  <arch>x86_64</arch>
+		</environment>
+		<environment>
+		  <os>win32</os>
+		  <ws>win32</ws>
+		  <arch>x86_64</arch>
+		</environment>
+		<environment>
+		  <os>macosx</os>
+		  <ws>cocoa</ws>
+		  <arch>x86_64</arch>
+		</environment>
+	      </environments>
+	    </configuration>
+	  </plugin>
+	</plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>hudson.eclipse.org</id>
+      <build>
+	<plugins>
+	  <plugin>
+	    <groupId>org.eclipse.cbi.maven.plugins</groupId>
+	    <artifactId>eclipse-jarsigner-plugin</artifactId>
+	    <version>${cbi-plugins.version}</version>
+	    <executions>
+	      <execution>
+		<id>sign</id>
+		<phase>verify</phase>
+		<goals>
+		  <goal>sign</goal>
+		</goals>
+	      </execution>
+	    </executions>
+	  </plugin>
+	</plugins>
+      </build>
+    </profile>
+  </profiles>
 
-	<pluginRepositories>
-		<pluginRepository>
-			<id>CBI</id>
-			<url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
-		</pluginRepository>
-	</pluginRepositories>
+  <pluginRepositories>
+    <pluginRepository>
+      <id>CBI</id>
+      <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url>
+    </pluginRepository>
+  </pluginRepositories>
 
-	<modules>
-		<module>../org.eclipse.gmf.notation.target</module>
-		<module>../org.eclipse.gmf.runtime.notation</module>
-		<module>../org.eclipse.gmf.runtime.notation.edit</module>
-		<module>../org.eclipse.gmf.runtime.notation.sdk</module>
-		<module>../org.eclipse.gmf.runtime.notation-feature</module>
-		<module>../org.eclipse.gmf.runtime.notation.source-feature</module>
-		<module>../org.eclipse.gmf.runtime.notation.sdk-feature</module>
-		<module>../org.eclipse.gmf.tests.runtime.notation</module>
-		<module>../org.eclipse.gmf.tests.runtime.notation-feature</module>
-		<module>../org.eclipse.gmf.notation.repository</module>
-	</modules>
+  <modules>
+    <module>../org.eclipse.gmf.notation.target</module>
+    <module>../org.eclipse.gmf.runtime.notation</module>
+    <module>../org.eclipse.gmf.runtime.notation.edit</module>
+    <module>../org.eclipse.gmf.runtime.notation.sdk</module>
+    <module>../org.eclipse.gmf.runtime.notation-feature</module>
+    <module>../org.eclipse.gmf.runtime.notation.source-feature</module>
+    <module>../org.eclipse.gmf.runtime.notation.sdk-feature</module>
+    <module>../org.eclipse.gmf.tests.runtime.notation</module>
+    <module>../org.eclipse.gmf.tests.runtime.notation-feature</module>
+    <module>../org.eclipse.gmf.notation.repository</module>
+  </modules>
 
 </project>
diff --git a/org.eclipse.gmf.notation.repository/gmf-notation-hipp-publish.sh b/org.eclipse.gmf.notation.repository/gmf-notation-hipp-publish.sh
index aa228a2..c4ec445 100644
--- a/org.eclipse.gmf.notation.repository/gmf-notation-hipp-publish.sh
+++ b/org.eclipse.gmf.notation.repository/gmf-notation-hipp-publish.sh
@@ -80,8 +80,8 @@
 
 # Download and prepare Eclipse SDK, which is needed to process the update site
 echo "`date +%Y-%m-%d-%H:%M:%S` Downloading eclipse to $PWD"
-cp /home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/R-4.8-201806110500/eclipse-SDK-4.8-linux-gtk-x86_64.tar.gz .
-tar -xzf eclipse-SDK-4.8-linux-gtk-x86_64.tar.gz
+cp /home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/R-4.11-201903070500/eclipse-SDK-4.11-linux-gtk-x86_64.tar.gz .
+tar -xzf eclipse-SDK-4.11-linux-gtk-x86_64.tar.gz
 cd eclipse
 chmod 700 eclipse
 cd ..
@@ -93,7 +93,7 @@
 echo "`date +%Y-%m-%d-%H:%M:%S` Installing WTP Releng tools"
 ./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/webtools/releng/repository/ -installIUs org.eclipse.wtp.releng.tools.feature.feature.group
 # Clean up
-rm eclipse-SDK-4.8-linux-gtk-x86_64.tar.gz
+rm eclipse-SDK-4.11-linux-gtk-x86_64.tar.gz
 
 # Generate drop files
 echo "`date +%Y-%m-%d-%H:%M:%S` Converting update site to runnable form"
@@ -200,7 +200,7 @@
 <project name="p2 composite repository">
 <target name="default">
 <p2.composite.repository>
-<repository compressed="true" location="${remoteUpdateSite}" name="${JOB_NAME}"/>
+<repository compressed="true" location="${remoteUpdateSite}" name="${JOB_NAME}" append="false"/>
 <add>
 <repository location="${dropDir}"/>
 </add>
@@ -225,7 +225,8 @@
 mkdir -p $remoteUpdateSite
 cp -R $stagedUpdateSite $remoteUpdateSite
 
-echo "`date +%Y-%m-%d-%H:%M:%S` Update the composite update site"
+echo "`date +%Y-%m-%d-%H:%M:%S` Refresh the composite update site"
+rm ${remoteUpdateSite}/compositeArtifacts.jar ${remoteUpdateSite}/compositeContent.jar
 ./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.ant.core.antRunner -buildfile p2.composite.repository.xml default
 
 # Clean up
