diff --git a/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.feature/pom.xml b/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.feature/pom.xml
index cf98bf5..74fcfaf 100755
--- a/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.feature/pom.xml
+++ b/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.feature/pom.xml
@@ -4,14 +4,14 @@
 	<modelVersion>4.0.0</modelVersion>
 	
 	<parent>
-		<artifactId>org.eclipse.papyrus.interoperability.dd.features</artifactId>
+		<artifactId>org.eclipse.papyrus.interoperability.releng</artifactId>
 		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<version>0.7.0-SNAPSHOT</version>
-    </parent>
-	
+		<relativePath>../../../releng/main/pom.xml</relativePath>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
 	<artifactId>org.eclipse.papyrus.interoperability.dd.feature</artifactId>
-	<name>Papyrus Interoperability diagram definition Feature</name>
-	<description>diagram definition feature</description>
+	<groupId>org.eclipse.papyrus</groupId>
+	<version>0.7.0-SNAPSHOT</version>
 	<packaging>eclipse-feature</packaging>
 	
 	<build>
diff --git a/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/pom.xml b/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/pom.xml
deleted file mode 100755
index 5cf76ab..0000000
--- a/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<!-- Parent POM (i.e., the one owned by the releng folder) -->
-	<parent>
-		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<artifactId>org.eclipse.papyrus.interoperability.dd.features</artifactId>
-		<version>0.7.0-SNAPSHOT</version>
-	</parent>
-	
-	<!-- POM description -->
-	<artifactId>org.eclipse.papyrus.interoperability.dd.p2</artifactId>
-	<name>Papyrus Interoperability diagram definition P2</name>
-	<description>diagram definition p2</description>
-	<packaging>eclipse-repository</packaging>
-
-</project>
\ No newline at end of file
diff --git a/diagram-definition/features/pom.xml b/diagram-definition/features/pom.xml
deleted file mode 100755
index 373a3cd..0000000
--- a/diagram-definition/features/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-		<artifactId>org.eclipse.papyrus.interoperability.dd</artifactId>
-		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<version>0.7.0-SNAPSHOT</version>
-    </parent>
-	
-	<artifactId>org.eclipse.papyrus.interoperability.dd.features</artifactId>
-	<name>Papyrus Interoperability diagram definition Features and P2</name>
-	<description>The top container of diagram definition features and P2 for Interoperability.</description>
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>org.eclipse.papyrus.interoperability.dd.feature</module>
-		<module>org.eclipse.papyrus.interoperability.dd.p2</module>
-	</modules>
-</project>
\ No newline at end of file
diff --git a/diagram-definition/plugins/pom.xml b/diagram-definition/plugins/pom.xml
index b3d6b51..3488449 100755
--- a/diagram-definition/plugins/pom.xml
+++ b/diagram-definition/plugins/pom.xml
@@ -4,9 +4,10 @@
 	<modelVersion>4.0.0</modelVersion>
 	
 	<parent>
-		<artifactId>org.eclipse.papyrus.interoperability.dd</artifactId>
 		<groupId>org.eclipse.papyrus.interoperability</groupId>
-		<version>0.7.0-SNAPSHOT</version>
+	    <artifactId>org.eclipse.papyrus.interoperability.releng</artifactId>
+	    <version>1.0.0-SNAPSHOT</version>
+	    <relativePath>../../releng/main/pom.xml</relativePath>
     </parent>
 	
 	<artifactId>org.eclipse.papyrus.interoperability.dd.plugins</artifactId>
diff --git a/diagram-definition/pom.xml b/diagram-definition/pom.xml
deleted file mode 100755
index 8a238da..0000000
--- a/diagram-definition/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	
-	<parent>
-	    <groupId>org.eclipse.papyrus.interoperability</groupId>
-	    <artifactId>org.eclipse.papyrus.interoperability.releng</artifactId>
-	    <version>1.0.0-SNAPSHOT</version>
-	    <relativePath>../releng/main/pom.xml</relativePath>
-    </parent>
-	
-	<artifactId>org.eclipse.papyrus.interoperability.dd</artifactId>
-	<description>The top container of diagram definition plug-ins and features</description>
-	<version>0.7.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-
-	<modules>
-		<module>features</module>
-		<module>plugins</module>
-	</modules>
-</project>
\ No newline at end of file
diff --git a/diagram-definition/releng/.project b/diagram-definition/releng/.project
new file mode 100644
index 0000000..e63de15
--- /dev/null
+++ b/diagram-definition/releng/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.dd.releng</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/diagram-definition/releng/main/pom.xml b/diagram-definition/releng/main/pom.xml
new file mode 100644
index 0000000..7453b35
--- /dev/null
+++ b/diagram-definition/releng/main/pom.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.eclipse.papyrus.interoperability.dd.releng</artifactId>
+	<packaging>pom</packaging>
+	<version>0.7.0-SNAPSHOT</version>
+	<parent>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<artifactId>org.eclipse.papyrus.interoperability.releng</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+		<relativePath>../../../releng/main/pom.xml</relativePath>
+	</parent>
+	<modules>
+		<module>targetplatform</module>
+	</modules>
+</project>
diff --git a/rpy/features/org.eclipse.papyrus.interoperability.rpy.p2/.project b/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/.project
old mode 100755
new mode 100644
similarity index 81%
copy from rpy/features/org.eclipse.papyrus.interoperability.rpy.p2/.project
copy to diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/.project
index 3755ddd..1b885ad
--- a/rpy/features/org.eclipse.papyrus.interoperability.rpy.p2/.project
+++ b/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.papyrus.interoperability.rpy.p2</name>
+	<name>org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen.target b/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen.target
new file mode 100644
index 0000000..8e663be
--- /dev/null
+++ b/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen.target
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="Tycho Tutorial" sequenceNumber="1465317051">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.gmf.runtime.sdk.feature.group" version="1.10.0.201606071959"/>
+<repository location="http://download.eclipse.org/modeling/gmp/gmf-runtime/updates/releases"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.papyrus.sdk.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.papyrus.sdk.feature.source.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.papyrus.toolsmiths.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.papyrus.toolsmiths.feature.source.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/modeling/mdt/papyrus/updates/nightly/oxygen/main/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<repository location="http://download.eclipse.org/mylyn/drops/3.21.1/v20161129-2023"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.m2m.qvt.oml.sdk.feature.group" version="3.7.0.v20161102-0315"/>
+<unit id="org.eclipse.m2m.qvt.oml.tools.coverage.feature.group" version="1.2.0.v20161102-0315"/>
+<repository location="http://download.eclipse.org/mmt/qvto/updates/milestones/3.7.0"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.uml2.sdk.feature.group" version="5.2.3.v20170227-0935"/>
+<repository location="http://download.eclipse.org/modeling/mdt/uml2/updates/5.2.x"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.ocl.uml.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/releases/oxygen"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.gmf.runtime.notation.sdk.feature.group" version="1.10.0.201606071631"/>
+<repository location="http://download.eclipse.org/modeling/gmp/gmf-notation/updates/releases"/>
+</location>
+</locations>
+</target>
diff --git a/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/pom.xml b/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/pom.xml
new file mode 100644
index 0000000..4e25276
--- /dev/null
+++ b/diagram-definition/releng/main/targetplatform/org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.dd.target.parent</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>0.7.0-SNAPSHOT</version>
+	</parent>	
+	<artifactId>org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen</artifactId>
+	<packaging>eclipse-target-definition</packaging>
+	<name>Interoperability Diagram Definition Oxygen Target Definition</name>
+	<description>This plug-in contains the target definition for Papyrus Interoperability Diagram Definition in Oxygen</description>
+</project>
\ No newline at end of file
diff --git a/diagram-definition/releng/main/targetplatform/pom.xml b/diagram-definition/releng/main/targetplatform/pom.xml
new file mode 100644
index 0000000..e4de72e
--- /dev/null
+++ b/diagram-definition/releng/main/targetplatform/pom.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project>
+	<modelVersion>4.0.0</modelVersion>
+
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.dd.releng</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>0.7.0-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>org.eclipse.papyrus.interoperability.dd.target.parent</artifactId>
+	<packaging>pom</packaging>
+	<version>0.7.0-SNAPSHOT</version>
+
+	<modules>
+		<module>org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen</module>
+	</modules>
+</project>
\ No newline at end of file
diff --git a/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/.project b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/.project
old mode 100755
new mode 100644
similarity index 100%
rename from diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/.project
rename to diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/.project
diff --git a/diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/category.xml b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/category.xml
old mode 100755
new mode 100644
similarity index 100%
rename from diagram-definition/features/org.eclipse.papyrus.interoperability.dd.p2/category.xml
rename to diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/category.xml
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/pom.xml b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/pom.xml
new file mode 100644
index 0000000..1d7e7ed
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/pom.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.releng</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+		<relativePath>../../../releng/main/pom.xml</relativePath>
+	</parent>
+	<artifactId>org.eclipse.papyrus.interoperability.dd.p2</artifactId>
+	<packaging>eclipse-repository</packaging>
+	<pluginRepositories>
+		<pluginRepository>
+			<id>jboss-public-repository-group</id>
+			<name>JBoss Public Repository Group</name>
+			<url>http://repository.jboss.org/nexus/content/groups/public/</url>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<build>
+		<plugins>
+			<plugin>
+				<!-- https://github.com/jbosstools/jbosstools-maven-plugins/wiki -->
+				<groupId>org.jboss.tools.tycho-plugins</groupId>
+				<artifactId>repository-utils</artifactId>
+				<version>0.23.2</version>
+				<executions>
+					<execution>
+						<id>generate-facade</id>
+						<phase>package</phase>
+						<goals>
+							<goal>generate-repository-facade</goal>
+						</goals>
+						<configuration>
+							<symbols>
+								<update.site.name>Papyrus Interoperability</update.site.name>
+								<update.site.description>Use this URL in Eclipse to install
+									Papyrus Interoperability</update.site.description>
+								<update.site.version>${project.version}</update.site.version>
+								<project.website>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</project.website>
+								<project.issues>${project.issueManagement.url}</project.issues>
+								<eclipse.target>${eclipse.targetrelease}</eclipse.target>
+								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-dd-oxygen/ws/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/target/repository/</update.site.nightly>
+							</symbols>
+							<associateSites>
+								<site>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</site>
+							</associateSites>
+							<siteTemplateFolder>siteTemplate</siteTemplateFolder>
+							<p2StatsUrl>http://download.eclipse.org/stats</p2StatsUrl>
+						</configuration>
+					</execution>
+				</executions>
+				<dependencies>
+					<dependency>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-packaging-plugin</artifactId>
+						<version>${tycho-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+		</plugins>
+	</build>
+	<description>This plugin defines the update site of Papyrus Interoperability Diagram Definition plugins and feature.</description>
+
+</project>
\ No newline at end of file
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/publish.README b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/publish.README
new file mode 100644
index 0000000..66b977d
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/publish.README
@@ -0,0 +1,3 @@
+The publish.sh script may be used to publish the build results (update site). The script may be called
+without parameters and prompts for everything it requires for publishing an update site, or it may be 
+invoked with respective command line parameters.
\ No newline at end of file
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/publish.sh b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/publish.sh
new file mode 100644
index 0000000..c56ae8f
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/publish.sh
@@ -0,0 +1,403 @@
+#!/bin/sh
+#Based upon Gef4 publish.sh script
+
+#causes the shell to exit if any subcommand or pipeline returns a non-zero status.
+#set -e
+
+# Script may take 10-11 command line parameters:
+# $1: Hudson job name: <name>
+# $2: Hudson build id: <id>
+# $3: Build type: i(ntegration), s(table), r(elease)
+# $4: Whether to promote to an update-site: (y)es, (n)o
+# $5: Whether to merge the site with an existing one: (y)es, (n)o
+# $6: Whether to generate drop files: (y)es, (n)o
+# $7: The release label used to label the drop files and (nested) update site, e.g. 3.10.0 or 3.10.1
+# $8: The eclipse target version, e.g. mars or neon
+# $9: Whether to generate rcp files: (y)es, (n)o
+# $10: Papyrus component 
+# $11: An optional release label suffix to be appended to drop files and (nested) update site name, e.g. M1, RC1 
+
+#The publish.sh script may be used to publish the build results (update site and drop files and rcp). The script may be called
+#without parameters and prompts for everything it requires for publishing an update site, or it may be 
+#invoked with respective command line parameters.
+if [ $# -eq 10 -o $# -eq 11  ];
+then
+	jobName=$1
+	echo "jobName: $jobName"
+	buildId=$2
+	echo "buildId: $buildId"
+	buildType=$3
+	echo "buildType: $buildType"
+	site=$4
+	echo "site: $site"
+	merge=$5
+	echo "merge: $merge"
+	dropFiles=$6
+	echo "dropFiles: $dropFiles"
+	releaseLabel=$7	
+	echo "releaseLabel: $releaseLabel"
+	eclipseTarget=$8	
+	echo "eclipseTarget: $eclipseTarget"
+	rcpFiles=$9	
+	echo "rcpFiles: $rcpFiles"
+	component=${10}	
+	echo "component: $component"
+	if [ -n "${11}" ];
+	then
+		releaseLabelSuffix=${11}
+		echo "releaseLabelSuffix: $releaseLabelSuffix"
+	fi
+else
+	if [ $# -ne 0 ];
+	then
+		exit 1
+	fi
+fi
+
+#The root url that enables to find the job with ${hudsonJobRootUrl}/$jobName/$buildId
+hudsonJobRootUrl="https://hudson.eclipse.org/papyrus/job/"
+
+#The localization of the local build target update site
+targetUpdateSite="archive/releng/org.eclipse.papyrus.${component}.p2/target/repository"
+targetRCPRoot="archive/releng/org.eclipse.papyrus.${component}.product/target/products/org.eclipse.papyrus.${component}.product"
+
+#The feature to parse to retrieve the qualifierversion
+feature2Parse4QualifierVersion="org.eclipse.papyrus.${component}.feature"
+
+#The specific localization
+hudsonRoot="/home/data/httpd/download.eclipse.org/"
+
+remoteUpdateSiteRoot="modeling/mdt/papyrus/components/${component}"
+remoteDropDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/drops
+remoteUpdateSite="${hudsonRoot}/${remoteUpdateSiteRoot}/${remoteSite}"
+remoteRcpDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/rcps
+
+
+
+if [ -z "$jobName" ];
+then
+	echo -n "Please enter the name of the Hudson job you want to promote:"
+	read jobName
+fi
+
+if [ -z "$buildId" ];
+then
+	for i in $( find ~/.hudson/jobs/$jobName/builds -type l | sed 's!.*/!!' | sort)
+	do
+		echo -n "$i, "
+	done
+	echo "lastStable, lastSuccessful"
+	echo -n "Please enter the id of the $jobName build you want to promote:"
+	read buildId
+fi
+
+if [ "$buildId" = "lastStable" -o "$buildId" = "lastSuccessful" ];
+then
+	# Reverse lookup the build id (in case lastSuccessful or lastStable was used)
+	for i in $(find ~/.hudson/jobs/$jobName/builds/ -type l)
+	do
+		if [ "$(readlink -f $i)" = "$(readlink -f ~/.hudson/jobs/$jobName/$buildId)" ];
+		then
+			buildId=${i##*/}
+		fi
+	done
+	echo "Reverse lookup (lastStable/lastSuccessful) yielded buildId: $buildId"
+fi
+
+# Determine the local update site we want to publish to
+jobDir=$(readlink -f ~/.hudson/jobs/${jobName}/builds/${buildId})
+if [ ! -d $jobDir ];
+then
+	echo "The specified buildId does not refer to an existing build: $buildId"
+	exit 1
+fi
+
+
+localUpdateSite=${jobDir}/${targetUpdateSite}
+echo "jobDir=${jobDir}"
+echo "targetUpdateSite=${targetUpdateSite}"
+echo "localUpdateSite=${localUpdateSite}"
+
+localRCPSiteRoot=${jobDir}/${targetRCPRoot}
+echo "localRCPSiteRoot=${localRCPSiteRoot}"
+
+echo "Publishing from local update site: $localUpdateSite"
+
+# Select the build type
+if [ -z "$buildType" ];
+then
+    echo -n "Please select which type of build you want to publish to [i(integration), s(table), r(elease)]: "
+    read buildType
+fi
+echo "Publishing as $buildType build"
+
+# check if we are going to promote to an update-site
+if [ -z "$site" ];
+then
+	echo -n "Do you want to promote to an remote update site? [(y)es, (n)o]:"
+	read site
+fi
+if [ "$site" != y -a "$site" != n ];
+then
+	echo "Parameter site has to be 'y'(es) or 'n'(o) but was: $site"
+    exit 0
+fi
+echo "Promoting to remote update site: $site"
+
+if [ "$site" = y ];
+then
+	# Determine remote update site we want to promote to
+	case $buildType in
+		i|I) remoteSite=integration;;
+		s|S) remoteSite=milestones;;
+		r|R) remoteSite=releases;;
+		*) 
+		echo "Parameter buildType has to be 'i'(ntegration), 's'(stable), or 'r'(elease), but was: $buildType"
+		exit 1 ;;
+	esac
+
+	echo "Publishing to remote update-site: $remoteUpdateSite"
+
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -z "$merge" ];
+		then
+			echo -n "Do you want to merge with the existing update-site? [(y)es, (n)o]:"
+			read merge
+		fi
+		if [ "$merge" != y -a "$merge" != n ];
+		then
+			echo "Parameter merge has to be 'y'(es) or 'n'(o) but was: $merge"
+			exit 1
+		fi
+	else
+		merge=n
+	fi
+	echo "Merging with existing site: $merge"
+fi
+
+# check if we are going to create drop files
+if [ -z "$dropFiles" ];
+then
+	echo -n "Do you want to create drop files? [(y)es, (n)o]:"
+	read dropFiles
+fi
+if [ "$dropFiles" != y -a "$dropFiles" != n ];
+then
+	echo "Parameter dropFiles has to be 'y'(es) or 'n'(o) but was: $dropFiles"
+	exit 1
+fi
+echo "Generating drop files: $dropFiles"
+
+# Determine releaseLabel
+if [ -z "$releaseLabel" ];
+then
+    echo -n "Please enter release label (e.g. 3.10.0, 3.10.1M2):"
+    read releaseLabel
+fi
+
+# Prepare a temp directory
+mkdir -p target
+cd target
+tmpDir="$jobName-publish-tmp"
+rm -fr $tmpDir
+mkdir -p $tmpDir
+cd $tmpDir
+
+# Download and prepare Eclipse SDK, which is needed to merge update site and postprocess repository 
+echo "Downloading eclipse to $PWD"
+
+cp /home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz .
+ls -la
+tar -xzf eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz
+cd eclipse
+chmod 700 eclipse
+cd ..
+if [ ! -d "eclipse" ];
+then
+    echo "Failed to download an Eclipse SDK, being needed for provisioning."
+    exit
+fi
+# Prepare Eclipse SDK to provide WTP releng tools (used to postprocess repository, i.e set p2.mirrorsURL property)
+echo "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
+echo "Cleaning up"
+rm eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz
+
+# Generate drop files
+if [ "$dropFiles" = y ];
+	then
+	
+	# Prepare local update site (for drop files)
+	mkdir -p update-site
+	cp -R $localUpdateSite/* update-site/
+	echo "Copied $localUpdateSite to local directory update-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+    localDropDir=drops/$dropDir
+    echo "Creating drop files in local directory $localDropDir"
+    mkdir -p $localDropDir
+    
+    cd update-site
+    zip -r ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip features plugins artifacts.jar content.jar
+    md5sum ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip > ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip.md5
+    echo "Created ${component}-Update-Site-${releaseLabel}${releaseLabelSuffix}.zip" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr update-site
+
+	#generating build.cfg file to be referenced from downloads web page
+	echo "generating build.cfg file to be referenced from downloads web page"
+    echo "hudson.job.name=$jobName" > $localDropDir/build.cfg
+    echo "hudson.job.id=$buildId (${jobDir##*/})" >> $localDropDir/build.cfg
+    echo "hudson.job.url= ${hudsonJobRootUrl}/$jobName/$buildId" >> $localDropDir/build.cfg
+    
+	mkdir -p $remoteDropDir
+    cp -R $localDropDir/* $remoteDropDir/
+         
+fi
+
+# Generate RCP files
+if [ "$rcpFiles" = y ];
+	then
+	
+	# Prepare local rcp site (for rcp files)
+	mkdir -p rcp-site
+	cp ${localRCPSiteRoot}-linux.gtk.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip
+	echo "Copied ${localRCPSiteRoot}-linux.gtk.x86_64.zip to local directory rcp-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+
+	localRcpDir=rcps/$dropDir
+    echo "Creating rcp files in local directory $localRcpDir"
+    mkdir -p $localRcpDir
+    
+    cd rcp-site
+    cp * ../$localRcpDir/
+    
+    echo "Created org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip in ../$localRcpDir/" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr rcp-site
+
+	mkdir -p ${remoteRcpDir}/${eclipseTarget}/${releaseLabel}
+    cp -R $localRcpDir/* $remoteRcpDir/${eclipseTarget}/${releaseLabel}/
+       
+fi
+
+if [ "$site" = y ];
+then
+	mkdir -p update-site
+	updateSiteLabel=${releaseLabel}${releaseLabelSuffix}_${jobName}_${buildId}
+	# Prepare composite local update site (transfer into composite if needed)
+	if [ "$merge" = y ];
+	then
+		# check if the remote site is a composite update site
+		echo "Merging existing site into local one."
+		if [ -e "$remoteUpdateSite/compositeArtifacts.xml" ];
+		then
+			cp -R $remoteUpdateSite/* update-site/
+		else
+			mkdir -p update-site/pre_${updateSiteLabel}
+			cp -R $remoteUpdateSite/* update-site/pre_${updateSiteLabel}/
+		fi
+	else 
+		echo "Skipping merge operation."    
+	fi
+	# move local update site below composite one
+	mkdir -p update-site/${updateSiteLabel}
+	cp -R $localUpdateSite/* update-site/${updateSiteLabel}/
+    	
+	cd update-site
+	children=$(find . -maxdepth 1 -type d -print | wc -l)
+	children=$(($children-1))
+	timestamp=$(date +%s000)
+
+content="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeMetadataRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $content > compositeContent.xml
+
+artifact="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeArtifactRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $artifact > compositeArtifacts.xml
+
+	cd ..
+
+	# Ensure p2.mirrorURLs property is used in update site
+	echo "Updating p2.mirrorURLs property."
+	./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$PWD/update-site/${updateSiteLabel} -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/${remoteUpdateSiteRoot}/${remoteSite}/${updateSiteLabel}"
+
+	# Create p2.index file
+	if [ ! -e "update-site/p2.index" ];
+	then
+		echo "Creating p2.index file."
+		echo "version = 1" > update-site/p2.index
+		echo "metadata.repository.factory.order=compositeContent.xml,\!" >> update-site/p2.index
+		echo "artifact.repository.factory.order=compositeArtifacts.xml,\!" >> update-site/p2.index
+	fi
+
+	# Backup then clean remote update site
+	echo "Creating backup of remote update site."
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -d BACKUP ];
+		then
+			rm -fr BACKUP
+		fi
+		mkdir BACKUP
+		cp -R $remoteUpdateSite/* BACKUP/
+		rm -fr $remoteUpdateSite
+	fi
+
+	echo "Publishing contents of local update-site directory to remote update site $remoteUpdateSite"
+	mkdir -p $remoteUpdateSite
+	cp -R update-site/* $remoteUpdateSite/
+fi
+
+# Clean up
+echo "Cleaning up"
+rm -fr eclipse
+rm -fr update-site
\ No newline at end of file
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/index.html b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/index.html
new file mode 100644
index 0000000..0c1cd2c
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/index.html
@@ -0,0 +1,107 @@
+<html>
+<head>
+<title>${update.site.name} Update Site: ${update.site.version}</title>
+<link rel="stylesheet" type="text/css" href="web/site.css">
+</head>
+<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
+<center>
+<table cellspacing="0" cellpadding="0" class="table">
+	<tr>
+		<td colspan="3" class="td_header">&nbsp;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>
+		<h2 class="title">${update.site.name} Update Site</h2>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span>Latest Build: ${update.site.version}</span></td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<p class="bodyText">This is the <b>${update.site.description}</b>
+				Update Site for ${update.site.name}.
+								<blockquote style="border: 1px dashed #1778be; padding: 2px">
+									<ol>
+										<li>To install
+											from this site, start up Eclipse ${eclipse.target}, then do:
+											<ul>
+												<code><strong>Help > Install New Software... ></strong></code>
+											</ul>
+										</li>
+										<li>Copy this site's URL into Eclipse, and hit Enter.</li>
+										<li>When the site loads, select the features to install,
+											or click the <code><strong>Select All</strong></code> button.</li>
+										<li>To properly resolve all dependencies, check
+										<ul><code><strong>[x] Contact all update sites during install to find required software</strong></code></ul>
+
+										<li>Click <code><strong>Next</strong></code>, agree to the license
+											terms, and install.</li>
+										</p>
+									</ol>
+								</blockquote>
+							</td>
+						</tr>
+		</table>
+		</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+	        ${site.contents}
+		</td>
+		<td></td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span> More informations</span></td>
+			</tr>
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Documentation</h4>
+				<p class="bodyText">You can check here the web site <a href="${project.website}">documentation</a>.</p>
+				<br />
+
+				</td>
+			</tr>
+
+			<tr class="dark-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Report issues</h4>
+
+				<p>We'd greatly
+				appreciate the assistance in testing and <a
+					href="${project.issues}">reporting of
+				issues in our issue tracker</a>.</p><br/>
+
+				</td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Nightly Builds</h4>
+
+				<p>The <a
+					href="${update.site.nightly}">bleeding
+				edge</a> contains the latest and greatest new features, but nothing is
+				stable or guaranteed - yet. If you're using a Milestone and need a
+				fix, you can update to the latest Nightly, or wait for the next
+				Milestone.</p><br/>
+				</td>
+			</tr>
+		</table>
+		</td>
+	</tr>
+</table>
+</center>
+</html>
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/web/img/dd-banner.png b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/web/img/dd-banner.png
new file mode 100644
index 0000000..2797993
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/web/img/dd-banner.png
Binary files differ
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/web/site.css b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/web/site.css
new file mode 100644
index 0000000..fcdc8a3
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/web/site.css
@@ -0,0 +1,82 @@
+<
+STYLE type ="text/css">td.spacer {
+	padding-bottom: 10px;
+	padding-top: 10px;
+}
+
+.title {
+	font-family: sans-serif;
+	color: #1778be;
+}
+
+.table {
+	margin-top: 0px;
+	margin-left: 0px;
+	width: 920px;
+}
+
+.bodyText {
+	font-family: sans-serif;
+	font-size: 9pt;
+	color: #000000;
+	width: 100%
+}
+
+.sub-header {
+	background: url('http://download.eclipse.org/eclipse.org-common/themes/solstice/public/images/template/breadcrumbs-large-bg.jpg') center #1b1732;
+    background-size: 100%;
+    color: #fff;
+    text-align: center;
+}
+
+.log-text {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: lighter;
+	font-size: 8pt;
+	color: black;
+}
+
+.big-header {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: bold;
+	font-size: 9pt;
+	color: white;
+	border-top: 10px solid white;
+}
+
+.light-row {
+	background: #FFFFFF
+}
+
+.dark-row {
+	background: #EEEEEE
+}
+
+.header {
+	background: #445562
+}
+
+#indent {
+	word-wrap: break-word;
+	width: 300px;
+	text-indent: 10px;
+}
+
+.link {
+	color: #187dc6;
+}
+
+.td_header {
+	background: url("img/dd-banner.png") 0 no-repeat;
+	height: 100px;
+}
+
+.column-header {
+	font-size:small;
+}
+
+</
+STYLE
+>
\ No newline at end of file
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/xslt/site.properties.xsl b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/xslt/site.properties.xsl
new file mode 100644
index 0000000..127c98d
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/xslt/site.properties.xsl
@@ -0,0 +1,20 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="text" indent="yes" />
+	<xsl:template match="/site">
+		<xsl:for-each select="category-def">
+			<xsl:sort select="@name" />
+			<xsl:variable name="catg"><xsl:value-of select="@name"/></xsl:variable>
+# 
+<xsl:value-of select="$catg" />.category.features = \
+<xsl:for-each select="//feature">
+				<xsl:sort select="@id" />
+				<xsl:if test="count(./category[contains(@name,$catg)])>0"><xsl:value-of select="@id" />,
+</xsl:if>
+			</xsl:for-each>
+		</xsl:for-each>
+# 
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/xslt/site.xsl b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/xslt/site.xsl
new file mode 100644
index 0000000..235f683
--- /dev/null
+++ b/diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2/siteTemplate/xslt/site.xsl
@@ -0,0 +1,128 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="html" indent="yes" />
+	<xsl:template match="/site">
+		<table cellspacing="2" cellpadding="0" border="0">
+			<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<!-- papyrus features -->
+				<xsl:for-each select="feature[contains(@id,'papyrus')]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if>
+			<!-- xsl:if test="count(feature[not(contains(@id,'papyrus'))])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<xsl:for-each select="feature[not(contains(@id,'papyrus'))]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if-->
+
+			<tr style="background-color:#DDDDDD">
+				<th class="column-header">Feature</th>
+				<th class="column-header">Version</th>
+				<th class="column-header">Feature Categor(ies)</th>
+			</tr>
+			<tr style="background-color:#EEEEEE">
+				<td class="rowLine" colspan="1">
+					<a href="artifacts.jar" style="font-size:x-small">artifacts.jar</a>
+					::
+					<a href="content.jar" style="font-size:x-small">content.jar</a>
+				</td>
+				<td class="rowLine" colspan="1">
+					::
+					<a href="plugins/" style="font-size:x-small">plugins</a>
+				<xsl:if test="count(feature)>0">
+					::
+					<a href="features/" style="font-size:x-small">features</a>
+				</xsl:if>
+				</td>
+				<td class="rowLine" colspan="1">
+				<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+					<a href="category.xml" style="font-size:x-small">category.xml</a>
+					::
+					<a href="buildinfo.json" style="font-size:x-small">buildinfo.json</a>
+					::
+					<a href="site.properties" style="font-size:x-small">site.properties</a>
+				</xsl:if>
+				</td>
+			</tr>
+		</table>
+		<br />
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/releng/Papyrus - All - Main.launch b/releng/Papyrus - All - Main.launch
new file mode 100644
index 0000000..fb52169
--- /dev/null
+++ b/releng/Papyrus - All - Main.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="true"/>
+<stringAttribute key="M2_GOALS" value="clean install"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="buildAll"/>
+<listAttribute key="M2_PROPERTIES">
+<listEntry value="eclipse.p2.mirrors=false"/>
+</listAttribute>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:releng}/main"/>
+</launchConfiguration>
diff --git a/releng/Papyrus - All - Tests.launch b/releng/Papyrus - All - Tests.launch
new file mode 100644
index 0000000..2149632
--- /dev/null
+++ b/releng/Papyrus - All - Tests.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean verify"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="buildAll"/>
+<listAttribute key="M2_PROPERTIES">
+<listEntry value="papyrus.repo.interoperability.main=file:/${project_loc:releng}/../org.eclipse.papyrus.interoperability.all.p2/target/repository"/>
+</listAttribute>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:releng}/tests"/>
+</launchConfiguration>
diff --git a/releng/Papyrus - DD - Main.launch b/releng/Papyrus - DD - Main.launch
new file mode 100644
index 0000000..3d2f996
--- /dev/null
+++ b/releng/Papyrus - DD - Main.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="clean install"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value="DiagramDefinition"/>
+<listAttribute key="M2_PROPERTIES">
+<listEntry value="eclipse.p2.mirrors=false"/>
+</listAttribute>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<stringAttribute key="M2_USER_SETTINGS" value=""/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:releng}/"/>
+</launchConfiguration>
diff --git a/releng/main/pom.xml b/releng/main/pom.xml
index cd3285b..35b84fe 100644
--- a/releng/main/pom.xml
+++ b/releng/main/pom.xml
@@ -245,15 +245,13 @@
 			
 			<modules>
 				<module>targetplatform</module>
-				<module>../../rpy/releng/main</module>
 				<module>../../rpy/plugins</module>
-				<module>../../rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2</module>
 				<module>../../rpy/features/org.eclipse.papyrus.interoperability.rpy.feature</module>
-				<!--module>../../sysml14/releng/main</module>
-				<module>../../sysml14/plugins</module>
-				<module>../../sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2</module>
+				<!--module>../../sysml14/plugins</module>
 				<module>../../sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature</module-->
-				<module>../../diagram-definition</module>
+				<module>../../diagram-definition/plugins</module>
+				<module>../../diagram-definition/features/org.eclipse.papyrus.interoperability.dd.feature</module>
+				<module>../org.eclipse.papyrus.interoperability.all.p2</module>
 			</modules>
 		</profile>
 		
@@ -328,8 +326,8 @@
 				<module>../../sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature</module>
 			</modules>
 		</profile>
-          
-          	<profile>
+
+		<profile>
 			<id>DiagramDefinition</id>
 
 			<build>
@@ -352,17 +350,19 @@
 			</build>
 			
 			<properties>
-				<target.platform>org.eclipse.papyrus.interoperability.targetplatform.oxygen</target.platform>
+				<target.platform>org.eclipse.papyrus.interoperability.dd.targetplatform.oxygen</target.platform>
 				<target.platform.groupid>org.eclipse.papyrus.interoperability</target.platform.groupid>
-				<target.version>1.0.0-SNAPSHOT</target.version>
+				<target.version>0.7.0-SNAPSHOT</target.version>
 			</properties>
 			
 			<modules>
-				<module>../../diagram-definition</module>
+				<module>../../diagram-definition/releng/main</module>
+				<module>../../diagram-definition/plugins</module>
+				<module>../../diagram-definition/releng/org.eclipse.papyrus.interoperability.dd.p2</module>
+				<module>../../diagram-definition/features/org.eclipse.papyrus.interoperability.dd.feature</module>
 			</modules>
 		</profile>
 
-
 		<profile>
 			<id>packAndSign</id> <!-- Stable release profile. Takes +30min. Eclipse servers only -->
 			<!-- Pack200 -->
diff --git a/rpy/features/org.eclipse.papyrus.interoperability.rpy.p2/.project b/releng/org.eclipse.papyrus.interoperability.all.p2/.project
old mode 100755
new mode 100644
similarity index 85%
rename from rpy/features/org.eclipse.papyrus.interoperability.rpy.p2/.project
rename to releng/org.eclipse.papyrus.interoperability.all.p2/.project
index 3755ddd..cf0a0b4
--- a/rpy/features/org.eclipse.papyrus.interoperability.rpy.p2/.project
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.papyrus.interoperability.rpy.p2</name>
+	<name>org.eclipse.papyrus.interoperability.main.p2</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/category.xml b/releng/org.eclipse.papyrus.interoperability.all.p2/category.xml
new file mode 100644
index 0000000..3310f4b
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/category.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/org.eclipse.papyrus.interoperability.rpy.feature_0.7.0.qualifier.jar" id="org.eclipse.papyrus.interoperability.rpy.feature" version="0.7.0.qualifier">
+      <category name="org.eclipse.papyrus.category"/>
+   </feature>
+   <feature url="features/org.eclipse.papyrus.interoperability.dd.feature_0.7.0.qualifier.jar" id="org.eclipse.papyrus.interoperability.dd.feature" version="0.7.0.qualifier">
+      <category name="org.eclipse.papyrus.category"/>
+   </feature>
+   <category-def name="org.eclipse.papyrus.category" label="Papyrus Interoperability">
+      <description>
+         Papyrus Interoperability Category
+      </description>
+   </category-def>
+</site>
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/pom.xml b/releng/org.eclipse.papyrus.interoperability.all.p2/pom.xml
new file mode 100644
index 0000000..6752f29
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/pom.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<artifactId>org.eclipse.papyrus.interoperability.releng</artifactId>
+		<groupId>org.eclipse.papyrus.interoperability</groupId>
+		<version>1.0.0-SNAPSHOT</version>
+		<relativePath>../main/pom.xml</relativePath>
+	</parent>
+	<artifactId>org.eclipse.papyrus.interoperability.all.p2</artifactId>
+	<packaging>eclipse-repository</packaging>
+	<pluginRepositories>
+		<pluginRepository>
+			<id>jboss-public-repository-group</id>
+			<name>JBoss Public Repository Group</name>
+			<url>http://repository.jboss.org/nexus/content/groups/public/</url>
+		</pluginRepository>
+	</pluginRepositories>
+
+	<build>
+		<plugins>
+			<plugin>
+				<!-- https://github.com/jbosstools/jbosstools-maven-plugins/wiki -->
+				<groupId>org.jboss.tools.tycho-plugins</groupId>
+				<artifactId>repository-utils</artifactId>
+				<version>0.23.2</version>
+				<executions>
+					<execution>
+						<id>generate-facade</id>
+						<phase>package</phase>
+						<goals>
+							<goal>generate-repository-facade</goal>
+						</goals>
+						<configuration>
+							<symbols>
+								<update.site.name>Papyrus Interoperability</update.site.name>
+								<update.site.description>Use this URL in Eclipse to install
+									Papyrus Interoperability</update.site.description>
+								<update.site.version>${project.version}</update.site.version>
+								<project.website>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</project.website>
+								<project.issues>${project.issueManagement.url}</project.issues>
+								<eclipse.target>${eclipse.targetrelease}</eclipse.target>
+								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-all-oxygen/ws/releng/org.eclipse.papyrus.interoperability.all.p2/target/repository/</update.site.nightly>
+							</symbols>
+							<associateSites>
+								<site>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</site>
+							</associateSites>
+							<siteTemplateFolder>siteTemplate</siteTemplateFolder>
+							<p2StatsUrl>http://download.eclipse.org/stats</p2StatsUrl>
+						</configuration>
+					</execution>
+				</executions>
+				<dependencies>
+					<dependency>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-packaging-plugin</artifactId>
+						<version>${tycho-version}</version>
+					</dependency>
+				</dependencies>
+			</plugin>
+		</plugins>
+	</build>
+	<description>This plugin defines the update site of All Papyrus Interoperability plugins and features.</description>
+</project>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/publish.README b/releng/org.eclipse.papyrus.interoperability.all.p2/publish.README
new file mode 100644
index 0000000..66b977d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/publish.README
@@ -0,0 +1,3 @@
+The publish.sh script may be used to publish the build results (update site). The script may be called
+without parameters and prompts for everything it requires for publishing an update site, or it may be 
+invoked with respective command line parameters.
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/publish.sh b/releng/org.eclipse.papyrus.interoperability.all.p2/publish.sh
new file mode 100644
index 0000000..c56ae8f
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/publish.sh
@@ -0,0 +1,403 @@
+#!/bin/sh
+#Based upon Gef4 publish.sh script
+
+#causes the shell to exit if any subcommand or pipeline returns a non-zero status.
+#set -e
+
+# Script may take 10-11 command line parameters:
+# $1: Hudson job name: <name>
+# $2: Hudson build id: <id>
+# $3: Build type: i(ntegration), s(table), r(elease)
+# $4: Whether to promote to an update-site: (y)es, (n)o
+# $5: Whether to merge the site with an existing one: (y)es, (n)o
+# $6: Whether to generate drop files: (y)es, (n)o
+# $7: The release label used to label the drop files and (nested) update site, e.g. 3.10.0 or 3.10.1
+# $8: The eclipse target version, e.g. mars or neon
+# $9: Whether to generate rcp files: (y)es, (n)o
+# $10: Papyrus component 
+# $11: An optional release label suffix to be appended to drop files and (nested) update site name, e.g. M1, RC1 
+
+#The publish.sh script may be used to publish the build results (update site and drop files and rcp). The script may be called
+#without parameters and prompts for everything it requires for publishing an update site, or it may be 
+#invoked with respective command line parameters.
+if [ $# -eq 10 -o $# -eq 11  ];
+then
+	jobName=$1
+	echo "jobName: $jobName"
+	buildId=$2
+	echo "buildId: $buildId"
+	buildType=$3
+	echo "buildType: $buildType"
+	site=$4
+	echo "site: $site"
+	merge=$5
+	echo "merge: $merge"
+	dropFiles=$6
+	echo "dropFiles: $dropFiles"
+	releaseLabel=$7	
+	echo "releaseLabel: $releaseLabel"
+	eclipseTarget=$8	
+	echo "eclipseTarget: $eclipseTarget"
+	rcpFiles=$9	
+	echo "rcpFiles: $rcpFiles"
+	component=${10}	
+	echo "component: $component"
+	if [ -n "${11}" ];
+	then
+		releaseLabelSuffix=${11}
+		echo "releaseLabelSuffix: $releaseLabelSuffix"
+	fi
+else
+	if [ $# -ne 0 ];
+	then
+		exit 1
+	fi
+fi
+
+#The root url that enables to find the job with ${hudsonJobRootUrl}/$jobName/$buildId
+hudsonJobRootUrl="https://hudson.eclipse.org/papyrus/job/"
+
+#The localization of the local build target update site
+targetUpdateSite="archive/releng/org.eclipse.papyrus.${component}.p2/target/repository"
+targetRCPRoot="archive/releng/org.eclipse.papyrus.${component}.product/target/products/org.eclipse.papyrus.${component}.product"
+
+#The feature to parse to retrieve the qualifierversion
+feature2Parse4QualifierVersion="org.eclipse.papyrus.${component}.feature"
+
+#The specific localization
+hudsonRoot="/home/data/httpd/download.eclipse.org/"
+
+remoteUpdateSiteRoot="modeling/mdt/papyrus/components/${component}"
+remoteDropDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/drops
+remoteUpdateSite="${hudsonRoot}/${remoteUpdateSiteRoot}/${remoteSite}"
+remoteRcpDir=${hudsonRoot}/${remoteUpdateSiteRoot}/downloads/rcps
+
+
+
+if [ -z "$jobName" ];
+then
+	echo -n "Please enter the name of the Hudson job you want to promote:"
+	read jobName
+fi
+
+if [ -z "$buildId" ];
+then
+	for i in $( find ~/.hudson/jobs/$jobName/builds -type l | sed 's!.*/!!' | sort)
+	do
+		echo -n "$i, "
+	done
+	echo "lastStable, lastSuccessful"
+	echo -n "Please enter the id of the $jobName build you want to promote:"
+	read buildId
+fi
+
+if [ "$buildId" = "lastStable" -o "$buildId" = "lastSuccessful" ];
+then
+	# Reverse lookup the build id (in case lastSuccessful or lastStable was used)
+	for i in $(find ~/.hudson/jobs/$jobName/builds/ -type l)
+	do
+		if [ "$(readlink -f $i)" = "$(readlink -f ~/.hudson/jobs/$jobName/$buildId)" ];
+		then
+			buildId=${i##*/}
+		fi
+	done
+	echo "Reverse lookup (lastStable/lastSuccessful) yielded buildId: $buildId"
+fi
+
+# Determine the local update site we want to publish to
+jobDir=$(readlink -f ~/.hudson/jobs/${jobName}/builds/${buildId})
+if [ ! -d $jobDir ];
+then
+	echo "The specified buildId does not refer to an existing build: $buildId"
+	exit 1
+fi
+
+
+localUpdateSite=${jobDir}/${targetUpdateSite}
+echo "jobDir=${jobDir}"
+echo "targetUpdateSite=${targetUpdateSite}"
+echo "localUpdateSite=${localUpdateSite}"
+
+localRCPSiteRoot=${jobDir}/${targetRCPRoot}
+echo "localRCPSiteRoot=${localRCPSiteRoot}"
+
+echo "Publishing from local update site: $localUpdateSite"
+
+# Select the build type
+if [ -z "$buildType" ];
+then
+    echo -n "Please select which type of build you want to publish to [i(integration), s(table), r(elease)]: "
+    read buildType
+fi
+echo "Publishing as $buildType build"
+
+# check if we are going to promote to an update-site
+if [ -z "$site" ];
+then
+	echo -n "Do you want to promote to an remote update site? [(y)es, (n)o]:"
+	read site
+fi
+if [ "$site" != y -a "$site" != n ];
+then
+	echo "Parameter site has to be 'y'(es) or 'n'(o) but was: $site"
+    exit 0
+fi
+echo "Promoting to remote update site: $site"
+
+if [ "$site" = y ];
+then
+	# Determine remote update site we want to promote to
+	case $buildType in
+		i|I) remoteSite=integration;;
+		s|S) remoteSite=milestones;;
+		r|R) remoteSite=releases;;
+		*) 
+		echo "Parameter buildType has to be 'i'(ntegration), 's'(stable), or 'r'(elease), but was: $buildType"
+		exit 1 ;;
+	esac
+
+	echo "Publishing to remote update-site: $remoteUpdateSite"
+
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -z "$merge" ];
+		then
+			echo -n "Do you want to merge with the existing update-site? [(y)es, (n)o]:"
+			read merge
+		fi
+		if [ "$merge" != y -a "$merge" != n ];
+		then
+			echo "Parameter merge has to be 'y'(es) or 'n'(o) but was: $merge"
+			exit 1
+		fi
+	else
+		merge=n
+	fi
+	echo "Merging with existing site: $merge"
+fi
+
+# check if we are going to create drop files
+if [ -z "$dropFiles" ];
+then
+	echo -n "Do you want to create drop files? [(y)es, (n)o]:"
+	read dropFiles
+fi
+if [ "$dropFiles" != y -a "$dropFiles" != n ];
+then
+	echo "Parameter dropFiles has to be 'y'(es) or 'n'(o) but was: $dropFiles"
+	exit 1
+fi
+echo "Generating drop files: $dropFiles"
+
+# Determine releaseLabel
+if [ -z "$releaseLabel" ];
+then
+    echo -n "Please enter release label (e.g. 3.10.0, 3.10.1M2):"
+    read releaseLabel
+fi
+
+# Prepare a temp directory
+mkdir -p target
+cd target
+tmpDir="$jobName-publish-tmp"
+rm -fr $tmpDir
+mkdir -p $tmpDir
+cd $tmpDir
+
+# Download and prepare Eclipse SDK, which is needed to merge update site and postprocess repository 
+echo "Downloading eclipse to $PWD"
+
+cp /home/data/httpd/download.eclipse.org/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz .
+ls -la
+tar -xzf eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz
+cd eclipse
+chmod 700 eclipse
+cd ..
+if [ ! -d "eclipse" ];
+then
+    echo "Failed to download an Eclipse SDK, being needed for provisioning."
+    exit
+fi
+# Prepare Eclipse SDK to provide WTP releng tools (used to postprocess repository, i.e set p2.mirrorsURL property)
+echo "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
+echo "Cleaning up"
+rm eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz
+
+# Generate drop files
+if [ "$dropFiles" = y ];
+	then
+	
+	# Prepare local update site (for drop files)
+	mkdir -p update-site
+	cp -R $localUpdateSite/* update-site/
+	echo "Copied $localUpdateSite to local directory update-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+    localDropDir=drops/$dropDir
+    echo "Creating drop files in local directory $localDropDir"
+    mkdir -p $localDropDir
+    
+    cd update-site
+    zip -r ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip features plugins artifacts.jar content.jar
+    md5sum ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip > ../$localDropDir/${component}-Update-${releaseLabel}${releaseLabelSuffix}.zip.md5
+    echo "Created ${component}-Update-Site-${releaseLabel}${releaseLabelSuffix}.zip" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr update-site
+
+	#generating build.cfg file to be referenced from downloads web page
+	echo "generating build.cfg file to be referenced from downloads web page"
+    echo "hudson.job.name=$jobName" > $localDropDir/build.cfg
+    echo "hudson.job.id=$buildId (${jobDir##*/})" >> $localDropDir/build.cfg
+    echo "hudson.job.url= ${hudsonJobRootUrl}/$jobName/$buildId" >> $localDropDir/build.cfg
+    
+	mkdir -p $remoteDropDir
+    cp -R $localDropDir/* $remoteDropDir/
+         
+fi
+
+# Generate RCP files
+if [ "$rcpFiles" = y ];
+	then
+	
+	# Prepare local rcp site (for rcp files)
+	mkdir -p rcp-site
+	cp ${localRCPSiteRoot}-linux.gtk.x86_64.zip rcp-site/org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip
+	echo "Copied ${localRCPSiteRoot}-linux.gtk.x86_64.zip to local directory rcp-site."
+	
+	qualifiedVersion=$(find update-site/features/ -maxdepth 1 | grep "${feature2Parse4QualifierVersion}")
+	qualifiedVersion=${qualifiedVersion%.jar}
+    qualifiedVersion=${qualifiedVersion#*_}
+    qualifier=${qualifiedVersion##*.}
+    dropDir="${releaseLabel}/$(echo $buildType | tr '[:lower:]' '[:upper:]')$qualifier"
+
+	localRcpDir=rcps/$dropDir
+    echo "Creating rcp files in local directory $localRcpDir"
+    mkdir -p $localRcpDir
+    
+    cd rcp-site
+    cp * ../$localRcpDir/
+    
+    echo "Created org.eclipse.papyrus.${component}.product-${releaseLabel}-${releaseLabelSuffix}-linux.gtk.x86_64.zip in ../$localRcpDir/" 
+    cd ..  
+
+    # Cleanup local update site (for drop files generation)
+	rm -fr rcp-site
+
+	mkdir -p ${remoteRcpDir}/${eclipseTarget}/${releaseLabel}
+    cp -R $localRcpDir/* $remoteRcpDir/${eclipseTarget}/${releaseLabel}/
+       
+fi
+
+if [ "$site" = y ];
+then
+	mkdir -p update-site
+	updateSiteLabel=${releaseLabel}${releaseLabelSuffix}_${jobName}_${buildId}
+	# Prepare composite local update site (transfer into composite if needed)
+	if [ "$merge" = y ];
+	then
+		# check if the remote site is a composite update site
+		echo "Merging existing site into local one."
+		if [ -e "$remoteUpdateSite/compositeArtifacts.xml" ];
+		then
+			cp -R $remoteUpdateSite/* update-site/
+		else
+			mkdir -p update-site/pre_${updateSiteLabel}
+			cp -R $remoteUpdateSite/* update-site/pre_${updateSiteLabel}/
+		fi
+	else 
+		echo "Skipping merge operation."    
+	fi
+	# move local update site below composite one
+	mkdir -p update-site/${updateSiteLabel}
+	cp -R $localUpdateSite/* update-site/${updateSiteLabel}/
+    	
+	cd update-site
+	children=$(find . -maxdepth 1 -type d -print | wc -l)
+	children=$(($children-1))
+	timestamp=$(date +%s000)
+
+content="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeMetadataRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $content > compositeContent.xml
+
+artifact="
+<?xml version='1.0' encoding='UTF-8'?>
+<?compositeArtifactRepository version='1.0.0'?>
+<repository name='${component} ${remoteSite}' type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'>
+<properties size='1'>
+<property name='p2.timestamp' value='${timestamp}'/>
+</properties>
+<children size='${children}'>
+$(
+for file in *; do
+  if [ -d $file ]; then
+printf "<child location='${file}'/>"
+  fi
+done
+)
+</children>
+</repository>
+"
+	echo $artifact > compositeArtifacts.xml
+
+	cd ..
+
+	# Ensure p2.mirrorURLs property is used in update site
+	echo "Updating p2.mirrorURLs property."
+	./eclipse/eclipse -nosplash --launcher.suppressErrors -clean -debug -application org.eclipse.wtp.releng.tools.addRepoProperties -vmargs -DartifactRepoDirectory=$PWD/update-site/${updateSiteLabel} -Dp2MirrorsURL="http://www.eclipse.org/downloads/download.php?format=xml&file=/${remoteUpdateSiteRoot}/${remoteSite}/${updateSiteLabel}"
+
+	# Create p2.index file
+	if [ ! -e "update-site/p2.index" ];
+	then
+		echo "Creating p2.index file."
+		echo "version = 1" > update-site/p2.index
+		echo "metadata.repository.factory.order=compositeContent.xml,\!" >> update-site/p2.index
+		echo "artifact.repository.factory.order=compositeArtifacts.xml,\!" >> update-site/p2.index
+	fi
+
+	# Backup then clean remote update site
+	echo "Creating backup of remote update site."
+	if [ -d "$remoteUpdateSite" ];
+	then
+		if [ -d BACKUP ];
+		then
+			rm -fr BACKUP
+		fi
+		mkdir BACKUP
+		cp -R $remoteUpdateSite/* BACKUP/
+		rm -fr $remoteUpdateSite
+	fi
+
+	echo "Publishing contents of local update-site directory to remote update site $remoteUpdateSite"
+	mkdir -p $remoteUpdateSite
+	cp -R update-site/* $remoteUpdateSite/
+fi
+
+# Clean up
+echo "Cleaning up"
+rm -fr eclipse
+rm -fr update-site
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/index.html b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/index.html
new file mode 100644
index 0000000..9674e71
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/index.html
@@ -0,0 +1,113 @@
+<html>
+<head>
+<title>${update.site.name} Update Site: ${update.site.version}</title>
+<link rel="stylesheet" type="text/css" href="web/site.css">
+</head>
+<body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0">
+<center>
+<table cellspacing="0" cellpadding="0" class="table">
+	<tr>
+		<td colspan="3" class="td_header">&nbsp;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+		<td>
+		<h2 class="title">${update.site.name} Update Site</h2>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span>Latest Build: ${update.site.version}</span></td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<p class="bodyText">This is the <b>${update.site.description}</b>
+				Update Site for ${update.site.name}.
+								<blockquote style="border: 1px dashed #1778be; padding: 2px">
+									<ol>
+										<li>To install
+											from this site, start up Eclipse ${eclipse.target}, then do:
+											<ul>
+												<code><strong>Help > Install New Software... ></strong></code>
+											</ul>
+										</li>
+										<li>Copy this site's URL into Eclipse, and hit Enter.</li>
+										<li>When the site loads, select the features to install,
+											or click the <code><strong>Select All</strong></code> button.</li>
+										<li>To properly resolve all dependencies, check
+										<ul><code><strong>[x] Contact all update sites during install to find required software</strong></code></ul>
+
+										<li>Click <code><strong>Next</strong></code>, agree to the license
+											terms, and install.</li>
+
+										<p class="bodyText">
+											You can also download SysML 1.4 as individual zips for
+											offline installation. See <a class="link"
+												href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-nightly-build/ws/releng/org.eclipse.papyrus.sysml14.p2/target/repository/*zip*/repository.zip">SysML 1.4 product
+												Downloads</a>.<br />
+										</p>
+									</ol>
+								</blockquote>
+							</td>
+						</tr>
+		</table>
+		</td>
+		<td>&#160;&#160;&#160;&#160;&#160;&#160;</td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+	        ${site.contents}
+		</td>
+		<td></td>
+	</tr>
+	<tr>
+		<td></td>
+		<td>
+		<table width="100%">
+			<tr class="header">
+				<td class="sub-header" width="100%"><span> More informations</span></td>
+			</tr>
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Documentation</h4>
+				<p class="bodyText">You can check here the web site <a href="${project.website}">documentation</a>.</p>
+				<br />
+
+				</td>
+			</tr>
+
+			<tr class="dark-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Report issues</h4>
+
+				<p>We'd greatly
+				appreciate the assistance in testing and <a
+					href="${project.issues}">reporting of
+				issues in our issue tracker</a>.</p><br/>
+
+				</td>
+			</tr>
+
+			<tr class="light-row" style="height: 30px">
+				<td class="bodyText">
+				<h4>Nightly Builds</h4>
+
+				<p>The <a
+					href="${update.site.nightly}">bleeding
+				edge</a> contains the latest and greatest new features, but nothing is
+				stable or guaranteed - yet. If you're using a Milestone and need a
+				fix, you can update to the latest Nightly, or wait for the next
+				Milestone.</p><br/>
+				</td>
+			</tr>
+		</table>
+		</td>
+	</tr>
+</table>
+</center>
+</html>
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/web/img/main-banner.png b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/web/img/main-banner.png
new file mode 100644
index 0000000..2797993
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/web/img/main-banner.png
Binary files differ
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/web/site.css b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/web/site.css
new file mode 100644
index 0000000..1ed9a86
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/web/site.css
@@ -0,0 +1,82 @@
+<
+STYLE type ="text/css">td.spacer {
+	padding-bottom: 10px;
+	padding-top: 10px;
+}
+
+.title {
+	font-family: sans-serif;
+	color: #1778be;
+}
+
+.table {
+	margin-top: 0px;
+	margin-left: 0px;
+	width: 920px;
+}
+
+.bodyText {
+	font-family: sans-serif;
+	font-size: 9pt;
+	color: #000000;
+	width: 100%
+}
+
+.sub-header {
+	background: url('http://download.eclipse.org/eclipse.org-common/themes/solstice/public/images/template/breadcrumbs-large-bg.jpg') center #1b1732;
+    background-size: 100%;
+    color: #fff;
+    text-align: center;
+}
+
+.log-text {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: lighter;
+	font-size: 8pt;
+	color: black;
+}
+
+.big-header {
+	font-family: sans-serif;
+	font-style: normal;
+	font-weight: bold;
+	font-size: 9pt;
+	color: white;
+	border-top: 10px solid white;
+}
+
+.light-row {
+	background: #FFFFFF
+}
+
+.dark-row {
+	background: #EEEEEE
+}
+
+.header {
+	background: #445562
+}
+
+#indent {
+	word-wrap: break-word;
+	width: 300px;
+	text-indent: 10px;
+}
+
+.link {
+	color: #187dc6;
+}
+
+.td_header {
+	background: url("img/main-banner.png") 0 no-repeat;
+	height: 100px;
+}
+
+.column-header {
+	font-size:small;
+}
+
+</
+STYLE
+>
\ No newline at end of file
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/xslt/site.properties.xsl b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/xslt/site.properties.xsl
new file mode 100644
index 0000000..127c98d
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/xslt/site.properties.xsl
@@ -0,0 +1,20 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="text" indent="yes" />
+	<xsl:template match="/site">
+		<xsl:for-each select="category-def">
+			<xsl:sort select="@name" />
+			<xsl:variable name="catg"><xsl:value-of select="@name"/></xsl:variable>
+# 
+<xsl:value-of select="$catg" />.category.features = \
+<xsl:for-each select="//feature">
+				<xsl:sort select="@id" />
+				<xsl:if test="count(./category[contains(@name,$catg)])>0"><xsl:value-of select="@id" />,
+</xsl:if>
+			</xsl:for-each>
+		</xsl:for-each>
+# 
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/xslt/site.xsl b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/xslt/site.xsl
new file mode 100644
index 0000000..235f683
--- /dev/null
+++ b/releng/org.eclipse.papyrus.interoperability.all.p2/siteTemplate/xslt/site.xsl
@@ -0,0 +1,128 @@
+<xsl:stylesheet version="2.0"
+	xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="http://xml.apache.org/xalan"
+	xmlns:saxon="http://saxon.sf.net/" xmlns="http://www.w3.org/1999/xhtml"
+	extension-element-prefixes="saxon">
+	<xsl:output method="html" indent="yes" />
+	<xsl:template match="/site">
+		<table cellspacing="2" cellpadding="0" border="0">
+			<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<!-- papyrus features -->
+				<xsl:for-each select="feature[contains(@id,'papyrus')]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if>
+			<!-- xsl:if test="count(feature[not(contains(@id,'papyrus'))])>0">
+				<tr style="background-color:#DDDDDD">
+					<th class="column-header">Feature</th>
+					<th class="column-header">Version</th>
+					<th class="column-header">Feature Categor(ies)</th>
+				</tr>
+				<xsl:for-each select="feature[not(contains(@id,'papyrus'))]">
+					<xsl:sort select="@id" />
+					<xsl:variable name="rowCol">
+						<xsl:if test="position() mod 2 = 1">
+							#EEEEEE
+						</xsl:if>
+						<xsl:if test="position() mod 2 = 0">
+							#FFFFFF
+						</xsl:if>
+					</xsl:variable>
+
+					<tr style="background-color:{$rowCol}">
+						<td class="rowLine">
+							<a href="{@url}" style="font-size:x-small">
+								<xsl:value-of select="@id" />
+							</a>
+						</td>
+						<td>
+							<span style="font-size:x-small">
+								<xsl:value-of select="@version" />
+							</span>
+						</td>
+						<td>
+							<xsl:choose>
+								<xsl:when test="category">
+									<xsl:for-each select="category">
+										<span style="font-size:x-small">
+											|
+											<xsl:value-of select="@name" />
+										</span>
+									</xsl:for-each>
+								</xsl:when>
+							</xsl:choose>
+						</td>
+					</tr>
+				</xsl:for-each>
+			</xsl:if-->
+
+			<tr style="background-color:#DDDDDD">
+				<th class="column-header">Feature</th>
+				<th class="column-header">Version</th>
+				<th class="column-header">Feature Categor(ies)</th>
+			</tr>
+			<tr style="background-color:#EEEEEE">
+				<td class="rowLine" colspan="1">
+					<a href="artifacts.jar" style="font-size:x-small">artifacts.jar</a>
+					::
+					<a href="content.jar" style="font-size:x-small">content.jar</a>
+				</td>
+				<td class="rowLine" colspan="1">
+					::
+					<a href="plugins/" style="font-size:x-small">plugins</a>
+				<xsl:if test="count(feature)>0">
+					::
+					<a href="features/" style="font-size:x-small">features</a>
+				</xsl:if>
+				</td>
+				<td class="rowLine" colspan="1">
+				<xsl:if test="count(feature[contains(@id,'papyrus')])>0">
+					<a href="category.xml" style="font-size:x-small">category.xml</a>
+					::
+					<a href="buildinfo.json" style="font-size:x-small">buildinfo.json</a>
+					::
+					<a href="site.properties" style="font-size:x-small">site.properties</a>
+				</xsl:if>
+				</td>
+			</tr>
+		</table>
+		<br />
+	</xsl:template>
+</xsl:stylesheet>
diff --git a/releng/tests/pom.xml b/releng/tests/pom.xml
index 8939392..8c1b4ec 100644
--- a/releng/tests/pom.xml
+++ b/releng/tests/pom.xml
@@ -180,11 +180,9 @@
 			
 			<modules>
 				<module>targetplatform</module>
-				<module>../../rpy/releng/tests</module>
 				<module>../../rpy/tests</module>
 				<module>../../rpy/features/org.eclipse.papyrus.interoperability.rpy.tests.feature</module>
-				<!-->module>../../sysml14/releng/tests</module>
-				<module>../../sysml14/tests</module>
+				<!--module>../../sysml14/tests</module>
 				<module>../../sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature</module-->
 			</modules>
 		</profile>
@@ -219,11 +217,9 @@
 			
 			<modules>
 				<module>targetplatform</module>
-				<module>../../rpy/releng/tests</module>
 				<module>../../rpy/tests</module>
 				<module>../../rpy/features/org.eclipse.papyrus.interoperability.rpy.tests.feature</module>
-				<!--module>../../sysml14/releng/tests</module>
-				<module>../../sysml14/tests</module>
+				<!--module>../../sysml14/tests</module>
 				<module>../../sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature</module-->
 			</modules>
 		</profile>
@@ -383,5 +379,38 @@
 				<module>../../sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature</module>
 			</modules>
 		</profile>
+		
+		<profile>
+			<id>DiagramDefinition</id>
+			
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.eclipse.tycho</groupId>
+						<artifactId>tycho-p2-plugin</artifactId>
+						<version>${tycho-version}</version>
+						<executions>
+							<execution>
+								<id>attach-p2-metadata</id>
+								<phase>package</phase>
+								<goals>
+									<goal>p2-metadata</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+			
+			<properties>
+				<target.platform>org.eclipse.papyrus.interoperability.targetplatform.oxygen</target.platform>
+				<target.platform.groupid>org.eclipse.papyrus.interoperability.tests</target.platform.groupid>
+				<target.version>1.0.0-SNAPSHOT</target.version>
+			</properties>
+			
+			<modules>
+				<module>targetplatform</module>
+			</modules>
+		</profile>
 	</profiles>
 </project>
diff --git a/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/pom.xml b/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/pom.xml
index 9107cd3..a8c58df 100644
--- a/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/pom.xml
+++ b/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/pom.xml
@@ -41,7 +41,7 @@
 								<project.website>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</project.website>
 								<project.issues>${project.issueManagement.url}</project.issues>
 								<eclipse.target>${eclipse.targetrelease}</eclipse.target>
-								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-rpy-oxygen/ws/releng/org.eclipse.papyrus.interoperability.rpy.p2/target/repository/</update.site.nightly>
+								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-rpy-oxygen/ws/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/target/repository/</update.site.nightly>
 							</symbols>
 							<associateSites>
 								<site>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</site>
diff --git a/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/siteTemplate/index.html b/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/siteTemplate/index.html
index 9674e71..0c1cd2c 100644
--- a/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/siteTemplate/index.html
+++ b/rpy/releng/org.eclipse.papyrus.interoperability.rpy.p2/siteTemplate/index.html
@@ -43,12 +43,6 @@
 
 										<li>Click <code><strong>Next</strong></code>, agree to the license
 											terms, and install.</li>
-
-										<p class="bodyText">
-											You can also download SysML 1.4 as individual zips for
-											offline installation. See <a class="link"
-												href="https://hudson.eclipse.org/papyrus/view/Sysml/job/papyrus-sysml-nightly-build/ws/releng/org.eclipse.papyrus.sysml14.p2/target/repository/*zip*/repository.zip">SysML 1.4 product
-												Downloads</a>.<br />
 										</p>
 									</ol>
 								</blockquote>
diff --git a/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/.project b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/.project
new file mode 100644
index 0000000..7347218
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.interoperability.sysml14.sysml.doc/.project
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.sysml14.sysml.doc</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.oomph.version.VersionBuilder</name>
+			<arguments>
+				<dictionary>
+					<key>check.maven.pom</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>ignore.lower.bound.dependency.ranges</key>
+					<value>true</value>
+				</dictionary>
+				<dictionary>
+					<key>release.path</key>
+					<value>/org.eclipse.papyrus.releng.main.release/release.xml</value>
+				</dictionary>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.oomph.version.VersionNature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml b/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml
index 5cedf53..ffb103a 100644
--- a/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml
+++ b/sysml14/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/pom.xml
@@ -41,7 +41,7 @@
 								<project.website>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</project.website>
 								<project.issues>${project.issueManagement.url}</project.issues>
 								<eclipse.target>${eclipse.targetrelease}</eclipse.target>
-								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-sysml14-neon/ws/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/target/repository/</update.site.nightly>
+								<update.site.nightly>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-sysml14-oxygen/ws/releng/org.eclipse.papyrus.interoperability.sysml14.sysml.p2/target/repository/</update.site.nightly>
 							</symbols>
 							<associateSites>
 								<site>https://hudson.eclipse.org/papyrus/view/Interoperability/job/papyrus-interoperability-website/ws/site-staging/index.html</site>
