Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/developer')
-rw-r--r--plugins/developer/org.eclipse.papyrus.codegen/.project81
-rw-r--r--plugins/developer/org.eclipse.papyrus.codegen/META-INF/MANIFEST.MF40
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/.project125
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF31
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/.project15
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/META-INF/MANIFEST.MF47
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/.classpath2
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/.project15
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/META-INF/MANIFEST.MF39
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/plugin.xml115
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/AbstractChangeProjectVersionHandler.java129
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/SyncManifestAndPOMVersions.java271
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/features/ChangeFeatureVersionHandler.java59
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/AbstractManifestUpdateHandler.java140
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangeDependencyVersionNumberHandler.java257
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangePluginVersionHandler.java50
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/OptimizeDependenciesHandler.java38
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/UpdateDependencyRangesHandler.java40
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/AbstractManifestUpdateOperation.java68
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyAnalysisContext.java705
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyKind.java81
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/OptimizeDependenciesOperation.java104
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/UpdateDependencyRangesOperation.java81
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/VersionRules.java221
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project21
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF32
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project25
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF31
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml4
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/META-INF/MANIFEST.MF29
-rw-r--r--plugins/developer/org.eclipse.papyrus.developer.profile/.project74
-rw-r--r--plugins/developer/org.eclipse.papyrus.developer.profile/META-INF/MANIFEST.MF26
-rw-r--r--plugins/developer/org.eclipse.papyrus.doc/.project62
-rw-r--r--plugins/developer/org.eclipse.papyrus.doc/META-INF/MANIFEST.MF24
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project18
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF14
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project15
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF10
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/META-INF/MANIFEST.MF38
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen/.project81
-rw-r--r--plugins/developer/org.eclipse.papyrus.domaincontextcodegen/META-INF/MANIFEST.MF45
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmf.editpartview/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmf.editpartview/META-INF/MANIFEST.MF35
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/META-INF/MANIFEST.MF31
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmf.figureview/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmf.figureview/META-INF/MANIFEST.MF35
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF45
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.project21
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF14
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/.project80
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/META-INF/MANIFEST.MF36
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/META-INF/MANIFEST.MF19
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/.project17
-rw-r--r--plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF39
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/.classpath6
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/.project35
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/META-INF/MANIFEST.MF7
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/OSGI-INF/l10n/bundle.properties14
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/about.html28
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/build.properties7
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/pom.xml13
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/release.digestbin0 -> 2279 bytes
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/release.properties5
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.dev.release/release.xml80
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/.classpath6
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/.project35
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/META-INF/MANIFEST.MF7
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/OSGI-INF/l10n/bundle.properties14
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/about.html28
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/build.properties7
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/pom.xml13
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/release.digestbin0 -> 27551 bytes
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/release.properties5
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.main.release/release.xml780
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.tools/.project85
-rw-r--r--plugins/developer/org.eclipse.papyrus.releng.tools/META-INF/MANIFEST.MF38
-rw-r--r--plugins/developer/org.eclipse.papyrus.uml.developer.mde/.project69
-rw-r--r--plugins/developer/org.eclipse.papyrus.uml.developer.mde/META-INF/MANIFEST.MF55
84 files changed, 4068 insertions, 1433 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.codegen/.project b/plugins/developer/org.eclipse.papyrus.codegen/.project
index b64a36a87a7..baf242b17b7 100644
--- a/plugins/developer/org.eclipse.papyrus.codegen/.project
+++ b/plugins/developer/org.eclipse.papyrus.codegen/.project
@@ -1,34 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.codegen</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.openarchitectureware.base.oawBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.openarchitectureware.base.oawNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.codegen</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.openarchitectureware.base.oawBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.openarchitectureware.base.oawNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.codegen/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.codegen/META-INF/MANIFEST.MF
index 4b70d2d62ee..b899aaefdd3 100644
--- a/plugins/developer/org.eclipse.papyrus.codegen/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.codegen/META-INF/MANIFEST.MF
@@ -1,21 +1,19 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.codegen;x-internal:=true,
- org.eclipse.papyrus.codegen.actions;x-internal:=true
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gmf.codegen;bundle-version="2.1.0",
- org.eclipse.gmf.codegen.ui;bundle-version="1.1.0",
- org.eclipse.gmf.codegen.xtend;bundle-version="1.0.0",
- org.eclipse.gmf.codegen.xtend.ui;bundle-version="1.0.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.papyrus.def;bundle-version="1.2.0",
- org.eclipse.papyrus.gmfgenextension;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.papyrus.codegen.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.codegen;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.codegen;x-internal:=true,
+ org.eclipse.papyrus.codegen.actions;x-internal:=true
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.gmf.codegen.ui;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.gmf.codegen.xtend;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.gmf.codegen.xtend.ui;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.def;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.gmfgenextension;bundle-version="[1.2.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.papyrus.codegen.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.codegen;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/developer/org.eclipse.papyrus.def/.project b/plugins/developer/org.eclipse.papyrus.def/.project
index c70c4b4fa47..60684c34fbb 100644
--- a/plugins/developer/org.eclipse.papyrus.def/.project
+++ b/plugins/developer/org.eclipse.papyrus.def/.project
@@ -1,56 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.def</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.openarchitectureware.base.oawBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.gmf.xpand.oawBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.gmf.xpand.xpandBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.xtend.shared.ui.xtendBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.openarchitectureware.base.oawNature</nature>
- <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
- <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.def</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.openarchitectureware.base.oawBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.gmf.xpand.oawBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.gmf.xpand.xpandBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtend.shared.ui.xtendBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.openarchitectureware.base.oawNature</nature>
+ <nature>org.eclipse.xtend.shared.ui.xtendXPandNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF
index c5b4c74a36f..6508a073938 100644
--- a/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.def/META-INF/MANIFEST.MF
@@ -1,22 +1,17 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
- org.eclipse.emf.codegen.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
- org.eclipse.draw2d;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.gmf.runtime.notation,
- org.eclipse.gmf.common;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.gmf.validate;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.gmf.codegen;bundle-version="[2.0.0,3.1.0)",
- org.eclipse.gmf.graphdef;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.xtext;bundle-version="2.3.1",
- org.eclipse.xtext.builder;bundle-version="2.3.1",
- org.eclipse.xtend.lib,
- org.eclipse.ocl.ecore,
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.xtext.xbase.lib,
- org.eclipse.gmf.codegen.xtend;bundle-version="1.0.0",
- org.eclipse.papyrus.gmfgenextension;bundle-version="1.2.0"
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.codegen.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.draw2d;bundle-version="[3.10.0,4.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.gmf.common;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.gmf.validate;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.graphdef;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.xtext;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.xtext.builder;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.xtend.lib;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.gmf.codegen.xtend;bundle-version="[1.0.0,2.0.0)",
+ org.eclipse.papyrus.gmfgenextension;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
Bundle-ClassPath: .
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/.project b/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/.project
index 0f4baa86bfe..3aa1fd0795f 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/.project
+++ b/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/.project
@@ -21,8 +21,20 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
+ <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.dev.release/release.xml</value>
+ </dictionary>
</arguments>
</buildCommand>
</buildSpec>
@@ -30,5 +42,6 @@
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/META-INF/MANIFEST.MF
index bc0d0de5aa9..2bb63750a93 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.dev.assistants.codegen/META-INF/MANIFEST.MF
@@ -1,31 +1,16 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.uml2.uml;bundle-version="5.0.0",
- org.eclipse.gmf.runtime.emf.type.core;bundle-version="1.7.0",
- org.eclipse.papyrus.infra.types.core;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- com.google.guava;bundle-version="11.0.0",
- com.google.inject;bundle-version="3.0.0",
- org.eclipse.xtext.xbase.lib;bundle-version="2.8.0",
- org.eclipse.xtend.lib;bundle-version="2.8.0",
- org.eclipse.xtend.lib.macro;bundle-version="2.8.0",
- org.eclipse.ui.workbench;bundle-version="3.107.0",
- org.eclipse.ui.ide;bundle-version="3.10.100",
- org.eclipse.papyrus.infra.gmfdiag.assistant;bundle-version="1.2.0",
- org.eclipse.papyrus.uml.profile.assistants.generator;bundle-version="1.2.0",
- org.eclipse.papyrus.uml.profile.types.generator;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0",
- org.eclipse.gmf.codegen;bundle-version="2.11.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.dev.assistants.codegen.internal.Activator
-Bundle-Description: %description
-Bundle-SymbolicName: org.eclipse.papyrus.dev.assistants.codegen;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Manifest-Version: 1.0
+Require-Bundle: com.google.inject;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.xtend.lib;bundle-version="[2.10.0,3.0.0)",
+ org.eclipse.papyrus.uml.profile.assistants.generator;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.gmf.codegen;bundle-version="[2.11.0,3.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.dev.assistants.codegen.internal.Activator
+Bundle-Description: %description
+Bundle-SymbolicName: org.eclipse.papyrus.dev.assistants.codegen;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/.classpath b/plugins/developer/org.eclipse.papyrus.dev.project.management/.classpath
index 64c5e31b7a2..eca7bdba8f0 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/.classpath
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/.project b/plugins/developer/org.eclipse.papyrus.dev.project.management/.project
index f7bd68fe1d4..7aec7f23e53 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/.project
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/.project
@@ -16,13 +16,26 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
+ <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.dev.release/release.xml</value>
+ </dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/.settings/org.eclipse.jdt.core.prefs b/plugins/developer/org.eclipse.papyrus.dev.project.management/.settings/org.eclipse.jdt.core.prefs
index c585cc455ae..b3aa6d60f94 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.project.management/META-INF/MANIFEST.MF
index 31ac5c90774..d9d0c94d5a8 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/META-INF/MANIFEST.MF
@@ -1,17 +1,22 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.commands,
- org.eclipse.core.resources;bundle-version="3.8.0",
- org.eclipse.papyrus.eclipse.project.editors;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.pde.ui,
- org.eclipse.ui.ide;bundle-version="3.10.0"
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %Bundle-Name
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.dev.project.management.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.dev.project.management;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.eclipse.project.editors;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.tools;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.pde.ui;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.12.0,4.0.0)";visibility:=reexport
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.dev.project.management.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.dev.project.management;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.dev.project.management,
+ org.eclipse.papyrus.dev.project.management.dialog,
+ org.eclipse.papyrus.dev.project.management.handlers,
+ org.eclipse.papyrus.dev.project.management.handlers.features,
+ org.eclipse.papyrus.dev.project.management.handlers.plugins,
+ org.eclipse.papyrus.dev.project.management.internal.operations;x-internal:=true,
+ org.eclipse.papyrus.dev.project.management.utils
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/plugin.xml b/plugins/developer/org.eclipse.papyrus.dev.project.management/plugin.xml
index c56c5431a7a..a48f8b8effd 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/plugin.xml
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/plugin.xml
@@ -4,24 +4,6 @@
<extension
point="org.eclipse.ui.commands">
<command
- defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.plugins.ChangePluginVersionHandler"
- description="Change Plugin Version"
- id="org.eclipse.papyrus.dev.project.management.command.plugin.change.version"
- name="Change Plugin Version">
- </command>
- <command
- defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.features.ChangeFeatureVersionHandler"
- description="Change Feature Version"
- id="org.eclipse.papyrus.dev.project.management.command.feature.change.version"
- name="Change Feature Version">
- </command>
- <command
- defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.plugins.ChangeDependencyVersionNumberHandler"
- description="Change Dependencies Version"
- id="org.eclipse.papyrus.dev.project.management.command.plugin.change.dependency.version"
- name="Change Dependencies Version">
- </command>
- <command
defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.plugins.AddProjectAboutFileHandler"
id="org.eclipse.papyrus.dev.project.management.command.plugin.add.about"
name="Add the file about.html to the project">
@@ -45,9 +27,22 @@
name="Set Feature Copyright">
</command>
<command
- defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.features.ExternalizeFeatureStringHandler"
- id="org.eclipse.papyrus.dev.project.management.command.feature.externalize"
- name="Externalize String for Feature">
+ defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.plugins.UpdateDependencyRangesHandler"
+ description="Update bundle/package dependency ranges according to the current PDE target"
+ id="org.eclipse.papyrus.dev.project.management.command.updateDependencyRanges"
+ name="Update Dependency Ranges">
+ </command>
+ <command
+ defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.plugins.OptimizeDependenciesHandler"
+ description="Optimize bundle dependencies by removing redundancies and adding re-exports to cover the API"
+ id="org.eclipse.papyrus.dev.project.management.command.optimizeDependencies"
+ name="Optimize Bundle Dependencies">
+ </command>
+ <command
+ defaultHandler="org.eclipse.papyrus.dev.project.management.handlers.SyncManifestAndPOMVersions"
+ description="Ensure that POM versions match their plug-in/feature manifest"
+ id="org.eclipse.papyrus.dev.project.management.command.syncPOMVersions"
+ name="Synchronize POM Versions">
</command>
</extension>
<extension
@@ -74,22 +69,11 @@
style="push">
</command>
<command
- commandId="org.eclipse.papyrus.dev.project.management.command.feature.change.version"
- icon="icons/version.png"
- label="Change Feature Version (no undo)"
- style="push">
- </command>
- <command
commandId="org.eclipse.papyrus.dev.project.management.command.feature.set.copyright"
icon="icons/copyright_icon.png"
label="Set Copyright (doesn&apos;t erase existing value)"
style="push">
</command>
- <command
- commandId="org.eclipse.papyrus.dev.project.management.command.feature.externalize"
- label="Externalize String"
- style="push">
- </command>
</menu>
<menu
icon="icons/plugin_obj.gif"
@@ -100,21 +84,64 @@
label="Add about.html file (no undo)"
style="push">
</command>
- <command
- commandId="org.eclipse.papyrus.dev.project.management.command.plugin.change.dependency.version"
- icon="icons/plugin_mf_obj.gif"
- label="Change Dependencies Versions (no undo)"
- style="push">
- </command>
- <command
- commandId="org.eclipse.papyrus.dev.project.management.command.plugin.change.version"
- icon="icons/version.png"
- label="Change Plugin Version (no undo)"
- style="push">
- </command>
</menu>
+ <command
+ commandId="org.eclipse.papyrus.dev.project.management.command.syncPOMVersions"
+ icon="icons/version.png"
+ label="Synchronize POM Versions (no undo)"
+ style="push">
+ </command>
</menu>
</menuContribution>
+ <menuContribution
+ locationURI="popup:org.eclipse.pde.ui.tools?after=additions">
+ <command
+ commandId="org.eclipse.papyrus.dev.project.management.command.updateDependencyRanges"
+ icon="icons/version.png">
+ <visibleWhen
+ checkEnabled="false">
+ <iterate>
+ <reference
+ definitionId="org.eclipse.papyrus.dev.project.management.isPluginProjectOrManifest">
+ </reference>
+ </iterate>
+ </visibleWhen>
+ </command>
+ <command
+ commandId="org.eclipse.papyrus.dev.project.management.command.optimizeDependencies"
+ icon="icons/plugin_mf_obj.gif">
+ <visibleWhen
+ checkEnabled="false">
+ <iterate>
+ <reference
+ definitionId="org.eclipse.papyrus.dev.project.management.isPluginProjectOrManifest">
+ </reference>
+ </iterate>
+ </visibleWhen>
+ </command>
+ </menuContribution>
</extension>
+ <extension
+ point="org.eclipse.core.expressions.definitions">
+ <definition
+ id="org.eclipse.papyrus.dev.project.management.isPluginProjectOrManifest">
+ <or>
+ <adapt
+ type="org.eclipse.core.resources.IFile">
+ <test
+ property="org.eclipse.core.resources.name"
+ value="MANIFEST.MF">
+ </test>
+ </adapt>
+ <adapt
+ type="org.eclipse.core.resources.IProject">
+ <test
+ property="org.eclipse.core.resources.projectNature"
+ value="org.eclipse.pde.PluginNature">
+ </test>
+ </adapt>
+ </or>
+ </definition>
+ </extension>
</plugin>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/AbstractChangeProjectVersionHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/AbstractChangeProjectVersionHandler.java
deleted file mode 100644
index b55ad7cf452..00000000000
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/AbstractChangeProjectVersionHandler.java
+++ /dev/null
@@ -1,129 +0,0 @@
-package org.eclipse.papyrus.dev.project.management.handlers;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.dev.project.management.Activator;
-import org.eclipse.papyrus.dev.project.management.dialog.InputDialogWithCheckBox;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.eclipse.ui.progress.IProgressService;
-import org.eclipse.ui.statushandlers.StatusManager;
-
-
-public abstract class AbstractChangeProjectVersionHandler extends AbstractHandler {
-
- private static final String TITLE = "Enter the new version number for Papyrus plugin.";
-
- private static final String MESSAGE = "Enter the new version number.";
-
- private static final String INITIAL_VALUE = "0.0.0.qualifier";
-
- private static final String CHECKBOX_MESSAGE = "Only projects beginning with 'org.eclipse.papyrus.*'";
-
- private static final String WARNING_DIALOG_TITLE = "Change Version Name Report";
-
- private static final String WARNING_DIALOG_MESSAGE = "The following project were NOT managed : ";
-
- private static final String WARNING_DIALOG_MESSAGE2 = "Done.";
-
- private static final String PAPYRUS_NAME = "org.eclipse.papyrus";
-
-
- public Object execute(final ExecutionEvent event) throws ExecutionException {
-
- final IInputValidator validator = new IInputValidator() {
-
- public String isValid(final String newText) {
- final boolean match = newText.matches("[0-9]+\\.[0-9]+\\.[0-9]+\\.qualifier");
- if(!match) {
- return NLS.bind("The version number should be : something like this : {0}.", INITIAL_VALUE);
- }
- return null;
- }
- };
-
-
- final InputDialogWithCheckBox dialog = new InputDialogWithCheckBox(Display.getCurrent().getActiveShell(), TITLE, MESSAGE, INITIAL_VALUE, CHECKBOX_MESSAGE, true, validator);
- if(dialog.open() == Window.OK) {
- WorkspaceModifyOperation workspaceOperation = new WorkspaceModifyOperation(){
- protected void execute(IProgressMonitor monitor) throws CoreException ,InvocationTargetException ,InterruptedException {
- IStatus result = runAsJob(dialog.getValue(), dialog.isChecked(), monitor);
- StatusManager.getManager().handle(result, StatusManager.SHOW);
- }
- };
-
- try {
- IProgressService service = PlatformUI.getWorkbench().getProgressService();
- service.run(true, true, workspaceOperation);
- } catch (InvocationTargetException e) {
- Activator.log.error(e);
- } catch (InterruptedException e) {
- Activator.log.error(e);
- }
-
- }
-
- return null;
- }
-
- protected IStatus runAsJob(final String newVersion, final boolean papyrusProjectsOnly, IProgressMonitor monitor) {
- String notManagedProjectNames = "";
- final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-
- monitor.beginTask("Update version numbers", projects.length);
-
- for(final IProject current : projects) {
-
- if (monitor.isCanceled()){
- return new Status(IStatus.CANCEL, Activator.PLUGIN_ID, "Operation canceled");
- }
-
- final String name = current.getName();
- if(papyrusProjectsOnly) {
- if(name.startsWith(PAPYRUS_NAME)) {//we test the project name
- setVersionNumber(current, newVersion, notManagedProjectNames);
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", current.getName());
- }
- } else {
- setVersionNumber(current, newVersion, notManagedProjectNames);
- }
-
- monitor.worked(1);
- }
-
- if ("".equals(notManagedProjectNames)){
- return Status.OK_STATUS;
- } else {
- return new Status(IStatus.WARNING, Activator.PLUGIN_ID, WARNING_DIALOG_MESSAGE + "\n" + notManagedProjectNames);
- }
-
- }
-
- /**
- *
- * @param project
- * the project to manage
- * @param newVersion
- * the new version for the project
- * @param notManagedProjectNames
- * a String used to build the message with the not managed projects
- */
- protected abstract void setVersionNumber(final IProject project, final String newVersion, String notManagedProjectNames);
-
-
-
-}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/SyncManifestAndPOMVersions.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/SyncManifestAndPOMVersions.java
new file mode 100644
index 00000000000..8c1a3aa7e19
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/SyncManifestAndPOMVersions.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.handlers;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.StringWriter;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Stream;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Result;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.core.runtime.jobs.MultiRule;
+import org.eclipse.papyrus.dev.project.management.Activator;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.progress.IProgressService;
+import org.eclipse.ui.statushandlers.StatusManager;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * Ensures that <tt>pom.xml</tt> files have the same version number as their
+ * corresponding <tt>MANIFEST.MF</tt> or <tt>feature.xml</tt> file.
+ */
+public class SyncManifestAndPOMVersions extends AbstractHandler {
+ private static final Pattern BUNDLE_VERSION = Pattern.compile("^Bundle-Version:\\s*(\\S+)\\s*$", Pattern.MULTILINE); //$NON-NLS-1$
+ private static final Pattern POM_FIXUP = Pattern.compile("^(<\\?xml\\s.*?\\?>)\\s*(<project>)\\s*$", Pattern.MULTILINE);
+
+ public SyncManifestAndPOMVersions() {
+ super();
+ }
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ Map<IFile, IFile> pomsByManifest = getAllPOMsByManifest();
+
+ ISchedulingRule[] rules = Stream.concat(
+ pomsByManifest.keySet().stream(),
+ pomsByManifest.values().stream()).toArray(ISchedulingRule[]::new);
+ MultiRule jobRule = new MultiRule(rules);
+
+ Job updateJob = new Job("Synchronize POM versions") {
+
+ {
+ setRule(jobRule);
+ }
+
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ SubMonitor sub = SubMonitor.convert(monitor, "Updating POMs...", pomsByManifest.size());
+
+ pomsByManifest.forEach((manifest, pom) -> {
+ try {
+ if (sub.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+
+ String version = getVersion(manifest);
+ if (version != null) {
+ version = version.replace(".qualifier", "-SNAPSHOT"); //$NON-NLS-1$//$NON-NLS-2$
+ Document xml = slurpXML(pom);
+ Element versionElement = findVersion(xml);
+ if (versionElement != null) {
+ if (!version.equals(versionElement.getTextContent())) {
+ versionElement.setTextContent(version);
+ write(xml, pom);
+ }
+ }
+ }
+
+ sub.worked(1);
+ } catch (CoreException e) {
+ StatusManager.getManager().handle(e.getStatus(), StatusManager.SHOW);
+ }
+ });
+
+ sub.done();
+
+ return Status.OK_STATUS;
+ }
+ };
+ updateJob.schedule();
+
+ IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
+ IProgressService progress = window.getWorkbench().getProgressService();
+ progress.showInDialog(window.getShell(), updateJob);
+
+ return null;
+ }
+
+ Map<IFile, IFile> getAllPOMsByManifest() {
+ Map<IFile, IFile> result = new HashMap<>();
+
+ Stream.of(ResourcesPlugin.getWorkspace().getRoot().getProjects())
+ .filter(this::hasPluginOrFeatureNature)
+ .forEach(project -> {
+ IFile pom = project.getFile("pom.xml"); //$NON-NLS-1$
+ if (pom != null) {
+ IFile manifest = project.getFile("feature.xml");
+ if (!manifest.isAccessible()) {
+ manifest = project.getFile("META-INF/MANIFEST.MF");
+ }
+
+ if (manifest.isAccessible()) {
+ result.put(manifest, pom);
+ }
+ }
+ });
+
+ return result;
+ }
+
+ String slurpText(IFile file) throws CoreException {
+ StringBuilder result = new StringBuilder();
+ CharBuffer buf = CharBuffer.allocate(4096);
+
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(file.getContents(), Charset.forName(file.getCharset())))) {
+ for (;;) {
+ if (reader.read(buf) < 0) {
+ break; // Done
+ }
+ buf.flip();
+ result.append(buf);
+ buf.rewind();
+ }
+ } catch (IOException e) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to read manifest", e));
+ }
+
+ return result.toString();
+ }
+
+ Document slurpXML(IFile xmlFile) throws CoreException {
+ try {
+ DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ try (InputStream input = xmlFile.getContents()) {
+ return builder.parse(input);
+ }
+ } catch (Exception e) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to read manifest file", e)); //$NON-NLS-1$
+ }
+ }
+
+ void write(Document xml, IFile xmlFile) throws CoreException {
+ try (StringWriter writer = new StringWriter()) {
+ Transformer transformer = TransformerFactory.newInstance().newTransformer();
+
+ transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
+ xml.setXmlStandalone(true);
+ xml.setXmlVersion("1.0");
+
+ Result result = new StreamResult(writer);
+ transformer.transform(new DOMSource(xml), result);
+ String text = writer.toString();
+
+ // Fix up the transformer's sometime failure to put a newline after the XML declaration
+ Matcher fixup = POM_FIXUP.matcher(text);
+ if (fixup.find()) {
+ StringBuffer fixed = new StringBuffer(text.length() + 2);
+ fixup.appendReplacement(fixed, fixup.group(1) + '\n' + fixup.group(2));
+ fixup.appendTail(fixed);
+ text = fixed.toString();
+ }
+
+ // Write it out
+ ByteArrayInputStream input = new ByteArrayInputStream(text.getBytes(Charset.forName("UTF-8"))); //$NON-NLS-1$
+ xmlFile.setContents(input, false, true, null);
+ } catch (Exception e) {
+ throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Failed to update POM", e));
+ }
+ }
+
+ String getVersion(IFile manifest) throws CoreException {
+ String result = null;
+
+ switch (manifest.getName()) {
+ case "MANIFEST.MF": //$NON-NLS-1$
+ String text = slurpText(manifest);
+ Matcher m = BUNDLE_VERSION.matcher(text);
+ if (m.find()) {
+ result = m.group(1);
+ }
+ break;
+ case "feature.xml": //$NON-NLS-1$
+ Document xml = slurpXML(manifest);
+ result = xml.getDocumentElement().getAttribute("version"); //$NON-NLS-1$
+ }
+
+ return result;
+ }
+
+ Element findVersion(Document pom) {
+ Element project = pom.getDocumentElement();
+ return stream(project.getChildNodes())
+ .filter(n -> "version".equals(n.getNodeName()))
+ .filter(Element.class::isInstance).map(Element.class::cast)
+ .findFirst().orElse(null);
+ }
+
+ Stream<Node> stream(NodeList nodes) {
+ Stream.Builder<Node> result = Stream.builder();
+ for (int i = 0; i < nodes.getLength(); i++) {
+ result.add(nodes.item(i));
+ }
+ return result.build();
+ }
+
+ boolean hasPluginOrFeatureNature(IProject project) {
+ boolean result = false;
+
+ if (project.isAccessible()) {
+ try {
+ IProjectDescription desc = project.getDescription();
+ List<String> natures = Arrays.asList(desc.getNatureIds());
+ result = natures.contains("org.eclipse.pde.PluginNature") //$NON-NLS-1$
+ || natures.contains("org.eclipse.pde.FeatureNature"); //$NON-NLS-1$
+ } catch (CoreException e) {
+ // Guess it's not an interesting project
+ Activator.log.log(e.getStatus());
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/features/ChangeFeatureVersionHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/features/ChangeFeatureVersionHandler.java
deleted file mode 100644
index f87c81754da..00000000000
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/features/ChangeFeatureVersionHandler.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.papyrus.dev.project.management.handlers.features;
-
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.dev.project.management.Activator;
-import org.eclipse.papyrus.dev.project.management.handlers.AbstractChangeProjectVersionHandler;
-import org.eclipse.papyrus.dev.project.management.utils.Utils;
-import org.eclipse.papyrus.eclipse.project.editors.interfaces.IFeatureProjectEditor;
-import org.eclipse.papyrus.eclipse.project.editors.project.FeatureProjectEditor;
-import org.xml.sax.SAXException;
-
-
-public class ChangeFeatureVersionHandler extends AbstractChangeProjectVersionHandler {
-
-
- @Override
- protected void setVersionNumber(final IProject project, final String newVersion, String notManagedProjectNames) {
- if (project.isOpen()) {
- try {
- if (project.hasNature(Utils.FEATURE_NATURE)) {// for features
- try {
- final IFeatureProjectEditor editor = new FeatureProjectEditor(project);
- editor.init();
- // This test is necessary to bypass the plugins tagged 0.*.*
- if (editor.getVersion().matches("[1-9]+\\.[0-9]+\\.[0-9]+\\.qualifier")) {
- editor.setVersion(newVersion);
- editor.save();
- }
- } catch (final ParserConfigurationException e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- } catch (final SAXException e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- } catch (final IOException e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- } catch (final Throwable e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
-
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
- } catch (final CoreException e) {
- Activator.log.error(e);
- }
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
- }
-
-}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/AbstractManifestUpdateHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/AbstractManifestUpdateHandler.java
new file mode 100644
index 00000000000..4ff98fe50fc
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/AbstractManifestUpdateHandler.java
@@ -0,0 +1,140 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.handlers.plugins;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IOperationHistory;
+import org.eclipse.core.commands.operations.IUndoableOperation;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.ProjectEditors;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.ui.operations.IWorkbenchOperationSupport;
+import org.eclipse.ui.progress.IProgressService;
+
+/**
+ * Handler for the "update dependency ranges" command, which updates all dependencies
+ * in the selected <tt.MANIFEST.MF</tt> file(s) to be version ranges lower-bounded
+ * by the current PDE Target version, except for certain 3rd-party Orbit bundles
+ * (such as Guava, ICU4J) that are known to increase major versions frequently without
+ * breaking compatibility.
+ */
+abstract class AbstractManifestUpdateHandler extends AbstractHandler {
+
+ public AbstractManifestUpdateHandler() {
+ super();
+ }
+
+ protected abstract IUndoableOperation createUpdateOperation(Map<? extends IFile, ? extends IManifestEditor> manifests);
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ List<IFile> manifests = Stream.of(((IStructuredSelection) HandlerUtil.getCurrentSelection(event)).toArray())
+ .map(this::getManifestFile)
+ .filter(Objects::nonNull)
+ .filter(IResource::isAccessible)
+ .distinct()
+ .collect(Collectors.toList());
+
+ Map<IFile, IManifestEditor> editors = new HashMap<>();
+ try {
+ getEditors(manifests, editors);
+ } catch (CoreException e) {
+ throw new ExecutionException("Failed to open manifest(s) for editing", e);
+ }
+
+ IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
+ IWorkbench workbench = window.getWorkbench();
+ IWorkbenchOperationSupport support = workbench.getOperationSupport();
+
+ IUndoableOperation operation = createUpdateOperation(editors);
+ IOperationHistory history = support.getOperationHistory();
+ operation.addContext(support.getUndoContext());
+
+ IProgressService progress = workbench.getProgressService();
+
+ try {
+ IRunnableWithProgress run = new IRunnableWithProgress() {
+
+ @Override
+ public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+ try {
+ history.execute(operation, monitor, null);
+
+ // Save the manifests
+ for (IManifestEditor next : editors.values()) {
+ if (next.isDirty()) {
+ next.save();
+ }
+ }
+ } catch (ExecutionException e) {
+ throw new InvocationTargetException(e);
+ }
+
+ }
+ };
+
+ progress.busyCursorWhile(new WorkspaceModifyDelegatingOperation(run));
+ } catch (Exception e) {
+ if (e instanceof InvocationTargetException) {
+ Throwable wrapped = ((InvocationTargetException) e).getTargetException();
+ if (wrapped instanceof ExecutionException) {
+ throw ((ExecutionException) wrapped);
+ }
+ }
+ throw new ExecutionException("Failed to execute manifest update operation", e);
+ }
+
+ return null;
+ }
+
+ private IFile getManifestFile(Object object) {
+ IFile result = (object instanceof IFile) ? (IFile) object : ((IAdaptable) object).getAdapter(IFile.class);
+ if (result == null) {
+ IResource resource = (object instanceof IResource) ? (IResource) object : ((IAdaptable) object).getAdapter(IResource.class);
+ if (resource != null) {
+ result = resource.getProject().getFile(new Path("META-INF/MANIFEST.MF"));
+ }
+ }
+
+ return result;
+ }
+
+ private void getEditors(Collection<? extends IFile> manifests, Map<? super IFile, ? super IManifestEditor> editors) throws CoreException {
+ for (IFile next : manifests) {
+ editors.put(next, ProjectEditors.getManifestEditor(next.getProject()));
+ }
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangeDependencyVersionNumberHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangeDependencyVersionNumberHandler.java
deleted file mode 100644
index 6b95d1b135c..00000000000
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangeDependencyVersionNumberHandler.java
+++ /dev/null
@@ -1,257 +0,0 @@
-package org.eclipse.papyrus.dev.project.management.handlers.plugins;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringReader;
-import java.lang.reflect.InvocationTargetException;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.jar.Manifest;
-import java.util.jar.Attributes.Name;
-
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.window.Window;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.dev.project.management.Activator;
-import org.eclipse.papyrus.dev.project.management.dialog.TwoInputDialog;
-import org.eclipse.papyrus.dev.project.management.utils.Utils;
-import org.eclipse.papyrus.eclipse.project.editors.file.ManifestEditor;
-import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
-import org.eclipse.pde.core.project.IBundleProjectDescription;
-import org.eclipse.pde.core.project.IBundleProjectService;
-import org.eclipse.pde.core.project.IRequiredBundleDescription;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.ServiceReference;
-
-//TODO should be covered with JUnit test
-public class ChangeDependencyVersionNumberHandler extends AbstractHandler {
-
- private static final String TITLE = "Enter the new version number for Papyrus plugin.";
-
-
- private static final String INITIAL_VALUE = "0.0.0";
-
- private static final String WARNING_DIALOG_TITLE = "Change Version Name Report";
-
- private static final String WARNING_DIALOG_MESSAGE = "The following project were NOT managed : ";
-
- private static final String WARNING_DIALOG_MESSAGE2 = "Done.";
-
- private static final String PAPYRUS_NAME = "org.eclipse.papyrus";
-
- public Object execute(final ExecutionEvent event) throws ExecutionException {
-
- final IInputValidator validator = new IInputValidator() {
-
- public String isValid(final String newText) {
- final boolean match = newText.matches("[0-9]+\\.[0-9]+\\.[0-9]");
- if (!match) {
- return NLS.bind("The version number should be : something like this : {0}.", INITIAL_VALUE);
- }
- return null;
- }
- };
- final TwoInputDialog dialog = new TwoInputDialog(Display.getCurrent().getActiveShell(), TITLE, "Enter the new version for the Papyrus dependencies", "pattern plugin name", INITIAL_VALUE, PAPYRUS_NAME, validator);
-
- if (dialog.open() == Window.OK) {
- final String newVersion = dialog.getValue();
- final String pattern = dialog.getValue_2();
-
- Job job = new Job("Update dependency versions") {
-
- @Override
- protected IStatus run(IProgressMonitor monitor) {
-
- final AtomicReference<IStatus> result = new AtomicReference<IStatus>();
-
- WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-
- @Override
- protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
- result.set(runAsJob(newVersion, pattern, monitor));
- }
-
- };
-
- try {
- operation.run(monitor);
- } catch (InvocationTargetException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage());
- } catch (InterruptedException e) {
- return new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage());
- }
-
- return result.get();
- }
-
- };
- job.setUser(true);
- job.schedule();
- }
- return null;
- }
-
- protected IStatus runAsJob(final String newVersion, final String pattern, IProgressMonitor monitor) {
- String notManagedProjectNames = "";
-
- final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-
- monitor.beginTask("Update dependency versions", projects.length);
-
- for (final IProject current : projects) {
- final String name = current.getName();
-
- if (name.startsWith(PAPYRUS_NAME)) {// TODO : add the possibility to manage other plugins
- setVersionNumber(current, pattern, newVersion, notManagedProjectNames);
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", current.getName());
- }
-
- monitor.worked(1);
- }
-
-
- final String textResult = notManagedProjectNames;
- Display.getDefault().asyncExec(new Runnable() {
-
- public void run() {
- if (textResult.equals("")) {
- final MessageDialog informationDialog = new MessageDialog(Display.getCurrent().getActiveShell(), WARNING_DIALOG_TITLE, null, WARNING_DIALOG_MESSAGE2, MessageDialog.INFORMATION, new String[] { "OK" }, 0);
- informationDialog.open();
- } else {
- final MessageDialog informationDialog = new MessageDialog(Display.getCurrent().getActiveShell(), WARNING_DIALOG_TITLE, null, WARNING_DIALOG_MESSAGE + "\n" + textResult, MessageDialog.INFORMATION, new String[] { "OK" }, 0);
- informationDialog.open();
- }
- }
- });
-
- return Status.OK_STATUS;
- }
-
- /**
- *
- * @param project
- * the project to manage
- * @param dependencyPattern
- * the pattern used to find the dependency to update
- * @param newVersion
- * the new version for the project
- * @param notManagedProjectNames
- * a String used to build the message with the not managed projects
- */
- private void setVersionNumber(final IProject project, final String dependencyPattern, final String newValue, String notManagedProjectNames) {
- if (project.isOpen()) {
- try {
- final boolean pluginnature = project.hasNature(Utils.PLUGIN_NATURE);
- if (pluginnature) {
- try {
- MyManifestEditor editor = new MyManifestEditor(project);
- editor.init();
- editor.setDependenciesVersion(dependencyPattern, newValue);
- editor.save();
- } catch (final IOException e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- } catch (final Throwable e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
-
- }
- } catch (final CoreException e) {
- Activator.log.error(e);
- }
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
- }
-
-
- private class MyManifestEditor extends ManifestEditor {
-
- private static final String SEMICOLON = ";"; //$NON-NLS-1$
-
- private static final String COMMA = ","; //$NON-NLS-1$
-
- private static final String ASSIGN = "="; //$NON-NLS-1$
-
- private static final String BUNDLE_VERSION = "bundle-version"; //$NON-NLS-1$
-
- private static final String REQUIRED_BUNDLE = "Require-Bundle"; //$NON-NLS-1$
-
- private Manifest manifest;
-
- private IFile manifestFile;
-
- /**
- * Constructor.
- *
- * @param project
- * @throws IOException
- * @throws CoreException
- */
- public MyManifestEditor(IProject project) throws IOException, CoreException {
- super(project);
- manifestFile = project.getFile("META-INF/MANIFEST.MF");
- manifest = new Manifest(manifestFile.getContents());
- }
-
- /**
- * @see org.eclipse.papyrus.eclipse.project.editors.file.ManifestEditor#setDependenciesVersion(java.lang.String, java.lang.String)
- *
- * @param dependencyPattern
- * @param newVersion
- */
- @Override
- public void setDependenciesVersion(String dependencyPattern, String newVersion) {
- final Name rqBundle = new Name(REQUIRED_BUNDLE);
- final String requireBundles = manifest.getMainAttributes().getValue(rqBundle);
- final String[] bundles = requireBundles.split(COMMA);
- String newRequiredBundles = ""; //$NON-NLS-1$
- for (int ii = 0; ii < bundles.length; ii++) {// we iterate on the declared dependencies
- final String currentDependency = bundles[ii];
- final String[] dependencyValue = currentDependency.split(SEMICOLON);
- if (dependencyValue[0].contains(dependencyPattern)) {
- String[] test = dependencyValue[1].split("[0-9]+\\.[0-9]+\\.[0-9]");
- String oldVersion = dependencyValue[1].substring(test[0].length(), test[0].length() + 5);
- // This test is necessary to take into account the versions tagged 0.*.*
- String newBundleVersion = BUNDLE_VERSION + ASSIGN + '"' + newVersion + '"';
- if (!oldVersion.matches("[1-9]+\\.[0-9]+\\.[0-9]")) {
- newBundleVersion = BUNDLE_VERSION + ASSIGN + '"' + oldVersion + '"';
- }
- newRequiredBundles += dependencyValue[0] + SEMICOLON + newBundleVersion;
- for (int i = 1; i < dependencyValue.length; i++) {
- final String declaration = dependencyValue[i];
- if (declaration.contains(BUNDLE_VERSION + ASSIGN)) {
- // we ignore it
- } else {
- newRequiredBundles += SEMICOLON + dependencyValue[i];// we add the others declaration
- }
- }
- } else {
- newRequiredBundles += currentDependency;// we copy the existing declaration
- }
- if (ii < (bundles.length - 1)) {
- newRequiredBundles += COMMA;
- }
- }
- setValue(REQUIRED_BUNDLE, newRequiredBundles);
- }
- }
-
-}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangePluginVersionHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangePluginVersionHandler.java
deleted file mode 100644
index 223fa7a30f1..00000000000
--- a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/ChangePluginVersionHandler.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.papyrus.dev.project.management.handlers.plugins;
-
-import java.io.IOException;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.papyrus.dev.project.management.Activator;
-import org.eclipse.papyrus.dev.project.management.handlers.AbstractChangeProjectVersionHandler;
-import org.eclipse.papyrus.dev.project.management.utils.Utils;
-import org.eclipse.papyrus.eclipse.project.editors.file.ManifestEditor;
-import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
-
-
-public class ChangePluginVersionHandler extends AbstractChangeProjectVersionHandler {
-
-
- @Override
- protected void setVersionNumber(final IProject project, final String newVersion, String notManagedProjectNames) {
- if (project.isOpen()) {
- try {
- if (project.hasNature(Utils.PLUGIN_NATURE)) {
- try {
- final IManifestEditor editor = new ManifestEditor(project);
- editor.init();
- // This test is necessary to bypass the plugins tagged 0.*.*
- if (editor.getBundleVersion().matches("[1-9]+\\.[0-9]+\\.[0-9]+\\.qualifier")) {
- editor.setBundleVersion(newVersion);
- editor.save();
- }
- } catch (final IOException e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- } catch (final Throwable e) {
- Activator.log.error(e);
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
-
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
- } catch (final CoreException e) {
- Activator.log.error(e);
- }
- } else {
- notManagedProjectNames += NLS.bind("- {0} \n", project.getName());
- }
- }
-
-}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/OptimizeDependenciesHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/OptimizeDependenciesHandler.java
new file mode 100644
index 00000000000..d9a501e25ea
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/OptimizeDependenciesHandler.java
@@ -0,0 +1,38 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.handlers.plugins;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.operations.IUndoableOperation;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.papyrus.dev.project.management.internal.operations.OptimizeDependenciesOperation;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+
+/**
+ * Handler for the "optimize dependencies" command, which ensures re-exports of dependencies
+ * that contribute types to the exported API and removes redundancies (except where they are
+ * re-exported).
+ */
+public class OptimizeDependenciesHandler extends AbstractManifestUpdateHandler {
+
+ public OptimizeDependenciesHandler() {
+ super();
+ }
+
+ @Override
+ protected IUndoableOperation createUpdateOperation(Map<? extends IFile, ? extends IManifestEditor> manifests) {
+ return new OptimizeDependenciesOperation(manifests);
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/UpdateDependencyRangesHandler.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/UpdateDependencyRangesHandler.java
new file mode 100644
index 00000000000..048ef1cc953
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/handlers/plugins/UpdateDependencyRangesHandler.java
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.handlers.plugins;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.operations.IUndoableOperation;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.papyrus.dev.project.management.internal.operations.UpdateDependencyRangesOperation;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+
+/**
+ * Handler for the "update dependency ranges" command, which updates all dependencies
+ * in the selected <tt.MANIFEST.MF</tt> file(s) to be version ranges lower-bounded
+ * by the current PDE Target version, except for certain 3rd-party Orbit bundles
+ * (such as Guava, ICU4J) that are known to increase major versions frequently without
+ * breaking compatibility.
+ */
+public class UpdateDependencyRangesHandler extends AbstractManifestUpdateHandler {
+
+ public UpdateDependencyRangesHandler() {
+ super();
+ }
+
+ @Override
+ protected IUndoableOperation createUpdateOperation(Map<? extends IFile, ? extends IManifestEditor> manifests) {
+ return new UpdateDependencyRangesOperation(manifests);
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/AbstractManifestUpdateOperation.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/AbstractManifestUpdateOperation.java
new file mode 100644
index 00000000000..a1252300016
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/AbstractManifestUpdateOperation.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.internal.operations;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.AbstractOperation;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+
+abstract class AbstractManifestUpdateOperation extends AbstractOperation {
+
+ private Map<? extends IFile, ? extends IManifestEditor> manifests;
+
+ public AbstractManifestUpdateOperation(String label, Map<? extends IFile, ? extends IManifestEditor> manifests) {
+ super(label);
+
+ this.manifests = manifests;
+ }
+
+ @Override
+ public final IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ try {
+ return doExecute(monitor, manifests);
+ } finally {
+ // Don't need these any longer
+ manifests = null;
+ }
+ }
+
+ protected abstract IStatus doExecute(IProgressMonitor monitor, Map<? extends IFile, ? extends IManifestEditor> manifests) throws ExecutionException;
+
+ @Override
+ public boolean canUndo() {
+ return false;
+ }
+
+ @Override
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ return Status.CANCEL_STATUS;
+ }
+
+ @Override
+ public boolean canRedo() {
+ return false;
+ }
+
+ @Override
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ return Status.CANCEL_STATUS;
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyAnalysisContext.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyAnalysisContext.java
new file mode 100644
index 00000000000..d268b650432
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyAnalysisContext.java
@@ -0,0 +1,705 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.internal.operations;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Deque;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.osgi.service.resolver.BundleDescription;
+import org.eclipse.osgi.service.resolver.BundleSpecification;
+import org.eclipse.osgi.service.resolver.ExportPackageDescription;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.PluginRegistry;
+import org.osgi.framework.VersionRange;
+
+/**
+ * A context in which bundle dependency analysis is computed. It maintains
+ * shared state for analysis of the dependencies of any number of bundles
+ * in the workspace and PDE target.
+ */
+public class DependencyAnalysisContext {
+
+ private final Map<String, BundleAnalysis> bundles = new HashMap<>();
+ private final Map<String, BundleAnalysis> packageProviders = new HashMap<>();
+
+ private final VersionRules versionRules = new VersionRules();
+
+ private final Deque<SubMonitor> monitorStack = new LinkedList<SubMonitor>();
+ private SubMonitor currentMonitor;
+
+ private final Set<BundleAnalysis> roots;
+
+ public DependencyAnalysisContext(Collection<? extends IFile> bundleManifests) {
+ super();
+
+ pushMonitor(new NullProgressMonitor());
+
+ roots = Collections.unmodifiableSet(init(bundleManifests));
+ }
+
+ private Set<BundleAnalysis> init(Collection<? extends IFile> bundleManifests) {
+ return bundleManifests.stream()
+ .map(this::getBundleID)
+ .filter(Objects::nonNull)
+ .map(this::internalGetBundle)
+ .map(BundleAnalysis::checkCycle) // Bombs the analysis if there's any dependency cycle
+ .collect(Collectors.toSet());
+ }
+
+ private String getBundleID(IFile manifest) {
+ IPluginModelBase model = PluginRegistry.findModel(manifest.getProject());
+ return (model == null) ? null : model.getPluginBase().getId();
+ }
+
+ public Set<BundleAnalysis> getAnalysisRoots() {
+ return roots;
+ }
+
+ public boolean isAnalysisRoot(String bundleID) {
+ return roots.contains(internalGetBundle(bundleID));
+ }
+
+ public BundleAnalysis getBundle(String bundleID) {
+ return internalGetBundle(bundleID).analyze();
+ }
+
+ private BundleAnalysis internalGetBundle(String bundleID) {
+ return bundles.computeIfAbsent(bundleID, BundleAnalysis::new);
+ }
+
+ public BundleAnalysis getProvidingBundle(String packageName) {
+ return packageProviders.computeIfAbsent(packageName, this::findPackageProvider);
+ }
+
+ private BundleAnalysis findPackageProvider(String packageName) {
+ // Protect against concurrent modification
+ return new ArrayList<>(bundles.values()).stream()
+ .map(BundleAnalysis::getAPIExports)
+ .filter(api -> api.exports(packageName))
+ .findAny().map(APIExports::getBundle).orElse(null);
+ }
+
+ public final void pushMonitor(IProgressMonitor monitor) {
+ currentMonitor = (monitor instanceof SubMonitor) ? (SubMonitor) monitor : SubMonitor.convert(monitor);
+ monitorStack.push(currentMonitor);
+ }
+
+ public final void popMonitor() {
+ monitorStack.pop();
+ currentMonitor = monitorStack.peek();
+ }
+
+ //
+ // Nested types
+ //
+
+ /**
+ * An analysis of the transitive dependencies (by <tt>Require-Bundle</tt>) and public
+ * API exports of a bundle. Bundles sort dependencies before dependents.
+ */
+ public class BundleAnalysis {
+ private final String bundleID;
+
+ private DependencyGraph dependencyGraph;
+ private APIExports apiExports;
+
+ private BundleAnalysis(String bundleID) {
+ super();
+
+ this.bundleID = bundleID;
+ }
+
+ public String getBundleID() {
+ return bundleID;
+ }
+
+ public BundleAnalysis checkCycle() throws IllegalStateException {
+ getDependencyGraph().checkCycle();
+ return this;
+ }
+
+ public VersionRange getCompatibleVersionRange() {
+ return getAPIExports().getCompatibleVersionRange();
+ }
+
+ public DependencyGraph getDependencyGraph() {
+ analyze();
+ return dependencyGraph;
+ }
+
+ public APIExports getAPIExports() {
+ analyze();
+ return apiExports;
+ }
+
+ public BundleAnalysis getDependency(String bundleID) {
+ return getDependencyGraph().getDependency(bundleID);
+ }
+
+ public boolean isReexported(String bundleID) {
+ return getDependencyGraph().isReexported(bundleID);
+ }
+
+ /**
+ * Queries whether I express a dependency directly on the given bundle.
+ * Equivalent to {@link #hasDependency(String, boolean) hasDependency(bundleID, false)}.
+ *
+ * @param bundleID
+ * a bundle identifier
+ * @return whether my bundle directly requires it
+ */
+ public boolean hasDependency(String bundleID) {
+ return getDependencyGraph().hasDependency(bundleID);
+ }
+
+ /**
+ * Queries whether I express a dependency directly or, optionally,
+ * indirectly on the given bundle.
+ *
+ * @param bundleID
+ * a bundle identifier
+ * @param recursive
+ * whether to consider transitive (indirect) dependencies
+ *
+ * @return whether my bundle directly requires it
+ */
+ public boolean hasDependency(String bundleID, boolean recursive) {
+ return getDependencyGraph().hasDependency(bundleID, recursive);
+ }
+
+ /**
+ * Obtains the set of bundles that should be re-exported that are not
+ * explicitly required (they mmust be implicitly required because some
+ * other dependency re-exports them).
+ *
+ * @return the missing re-exported dependency declarations
+ */
+ public Set<BundleAnalysis> getMissingReexports() {
+ return getAPIExports().getMissingReexports();
+ }
+
+ private BundleAnalysis analyze() {
+ if (dependencyGraph == null) {
+ dependencyGraph = new DependencyGraph(bundleID);
+ }
+ if (apiExports == null) {
+ apiExports = new APIExports(bundleID);
+ }
+
+ return this;
+ }
+
+ public String toReexportDeclaration() {
+ return String.format("%s;bundle-version=\"%s\";visibility:=reexport",
+ getBundleID(),
+ getCompatibleVersionRange());
+ }
+
+ /**
+ * For bundles that are workspace projects, gets the manifest file.
+ *
+ * @return the workspace bundle's manifest, or {@code null} if I am
+ * a target bundle
+ */
+ public IFile getManifest() {
+ IFile result = null;
+
+ IPluginModelBase model = PluginRegistry.findModel(getBundleID());
+ IResource resource = (model == null) ? null : model.getUnderlyingResource();
+ if (resource != null) {
+ switch (resource.getType()) {
+ case IResource.FILE:
+ if ("MANIFEST.MF".equals(resource.getName())) {
+ result = (IFile) resource;
+ }
+ break;
+ case IResource.PROJECT:
+ IFile manifest = ((IProject) resource).getFile("META-INF/MANIFEST.MF"); //$NON-NLS-1$
+ if ((manifest != null) && manifest.isAccessible()) {
+ result = manifest;
+ }
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Queries whether I am an analysis root, which is a bundle selected
+ * by the user for optimization.
+ *
+ * @return whether I am an analysis root
+ */
+ public boolean isAnalysisRoot() {
+ return DependencyAnalysisContext.this.isAnalysisRoot(getBundleID());
+ }
+
+ /**
+ * A partial-ordering analoque of the {@link Comparable#compareTo(Object)} API.
+ * Bundles are only partially orderable by dependency relationships, so
+ * they are not actually {@link Comparable}.
+ *
+ * @param o
+ * another analysis bundle
+ *
+ * @return my partial ordering relative to {@code o}
+ */
+ public int partialCompare(BundleAnalysis o) {
+ int result;
+
+ if (o == this) {
+ // Trivial case
+ result = 0;
+ } else if (this.hasDependency(o.getBundleID(), true)) {
+ result = +1;
+ } else if (o.hasDependency(this.getBundleID(), true)) {
+ result = -1;
+ } else {
+ result = 0;
+ }
+
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ return "Analysis of " + bundleID;
+ }
+
+ public final void pushMonitor(IProgressMonitor monitor) {
+ DependencyAnalysisContext.this.pushMonitor(monitor);
+ }
+
+ public final void popMonitor() {
+ DependencyAnalysisContext.this.popMonitor();
+ }
+ }
+
+ /**
+ * An analysis of the dependency graph (by <tt>Require-Bundle</tt>) of a bundle.
+ */
+ public class DependencyGraph {
+ private final String bundleID;
+
+ private final Map<String, BundleAnalysis> dependencies = new HashMap<>();
+ private final Map<String, BundleAnalysis> reexports = new HashMap<>();
+
+ private Set<BundleAnalysis> cycle;
+ private Set<String> transitiveDependencies;
+
+ private DependencyGraph(String bundleID) {
+ super();
+
+ this.bundleID = bundleID;
+
+ IPluginModelBase model = PluginRegistry.findModel(bundleID);
+ if (model == null) {
+ throw new IllegalArgumentException("No such bundle: " + bundleID);
+ }
+
+ BundleDescription desc = model.getBundleDescription();
+
+ if (desc != null) {
+ for (BundleSpecification next : desc.getRequiredBundles()) {
+ // Optional dependencies may as well not be defined. If they are
+ // exposed by the API, they cannot be optional
+
+ if (next.isResolved() && !next.isOptional()
+ // The org.eclipse.utp.upr bundle actually does this!
+ && !bundleID.equals(next.getName())) {
+ BundleAnalysis dep = internalGetBundle(next.getSupplier().getName());
+
+ dependencies.put(dep.getBundleID(), dep);
+ if (next.isExported()) {
+ reexports.put(dep.getBundleID(), dep);
+ }
+ }
+ }
+ }
+ }
+
+ public BundleAnalysis getBundle() {
+ return internalGetBundle(bundleID);
+ }
+
+ public BundleAnalysis getDependency(String bundleID) {
+ BundleAnalysis result = dependencies.get(bundleID);
+
+ if (result == null) {
+ // Maybe it's a transitive dependency
+ result = dependencies.values().stream()
+ .map(bundle -> bundle.getDependency(bundleID))
+ .filter(Objects::nonNull)
+ .findAny().orElse(null);
+ }
+
+ return result;
+ }
+
+ public boolean isReexported(String bundleID) {
+ // I trivially "re-export" myself
+ boolean result = this.bundleID.equals(bundleID) || reexports.containsKey(bundleID);
+
+ if (!result) {
+ // Maybe it's a transitive re-export
+ result = reexports.values().stream()
+ .anyMatch(bundle -> bundle.isReexported(bundleID));
+ }
+
+ return result;
+ }
+
+ /**
+ * Queries whether I express a dependency directly on the given bundle.
+ * Equivalent to {@link #hasDependency(String, boolean) hasDependency(bundleID, false)}.
+ *
+ * @param bundleID
+ * a bundle identifier
+ * @return whether my bundle directly requires it
+ */
+ public boolean hasDependency(String bundleID) {
+ return dependencies.containsKey(bundleID);
+ }
+
+ /**
+ * Queries whether I express a dependency directly or, optionally,
+ * indirectly on the given bundle.
+ *
+ * @param bundleID
+ * a bundle identifier
+ * @param recursive
+ * whether to consider transitive (indirect) dependencies
+ *
+ * @return whether my bundle directly requires it
+ */
+ public boolean hasDependency(String bundleID, boolean recursive) {
+ boolean result = hasDependency(bundleID);
+
+ if (!result && recursive) {
+ result = transitiveDependencies.contains(bundleID);
+ }
+
+ return result;
+ }
+
+ public boolean isRedundant(String bundleID) {
+ boolean result;
+
+ if (isReexported(bundleID)) {
+ // If it's re-exported, then it's only redundant if it is also re-exported
+ // by some other bundle that I re-export. Account for re-exports that we
+ // would be adding
+ result = Stream.concat(reexports.values().stream(), getBundle().getMissingReexports().stream())
+ .filter(bundle -> !bundleID.equals(bundle.getBundleID())) // Excluding the bundle itself, of course!
+ .anyMatch(bundle -> bundle.isReexported(bundleID));
+ } else {
+ // Otherwise, it's redundant if it's re-exported by any of our dependencies
+ result = dependencies.values().stream()
+ .filter(bundle -> !bundle.getBundleID().equals(bundleID))
+ .anyMatch(bundle -> bundle.isReexported(bundleID));
+ }
+
+ return result;
+ }
+
+ public void checkCycle() throws IllegalStateException {
+ if (cycle == null) {
+ cycle = computeCycle(new LinkedHashSet<>());
+ }
+
+ if (!cycle.isEmpty()) {
+ List<String> list = cycle.stream()
+ .map(BundleAnalysis::getBundleID)
+ .collect(Collectors.toList());
+ list.add(cycle.iterator().next().getBundleID()); // Close the cycle
+ throw new IllegalStateException("Dependency cycle detected: " + list);
+ }
+ }
+
+ // use a LinkedHashSet specifically because the cycle has a defined order
+ private Set<BundleAnalysis> computeCycle(LinkedHashSet<BundleAnalysis> trace) {
+ if (cycle != null) {
+ // I've already been validated, so there's no possibility of finding
+ // a new cycle in me
+ return cycle;
+ }
+
+ BundleAnalysis self = getBundle();
+
+ if (!trace.add(self)) {
+ // We closed the cycle. Trim up to the first occurrence of myself
+ for (Iterator<BundleAnalysis> iter = trace.iterator(); iter.hasNext();) {
+ if (iter.next() == self) {
+ break;
+ } else {
+ iter.remove();
+ }
+ }
+ cycle = trace;
+ } else {
+ // Take this opportunity when we are exhaustively looking for a cycle, anyways,
+ // to compute everybody's transitive dependencies
+ transitiveDependencies = new HashSet<>();
+
+ // We didn't close the cycle, so keep looking
+ for (BundleAnalysis next : dependencies.values()) {
+ DependencyGraph child = next.getDependencyGraph();
+ cycle = child.computeCycle(trace);
+ if (!cycle.isEmpty()) {
+ // Got a cycle
+ break;
+ } else {
+ // Collect its dependencies and its transitive dependencies
+ transitiveDependencies.addAll(child.dependencies.keySet());
+ transitiveDependencies.addAll(child.transitiveDependencies);
+ }
+ }
+
+ // Cycle could be null if I had no dependencies
+ if ((cycle == null) || cycle.isEmpty()) {
+ // Some of my direct dependencies could be dependencies of some of
+ // my transitive dependencies, but they are direct to me
+ transitiveDependencies.removeAll(dependencies.keySet());
+
+ // Backtrack
+ trace.remove(self);
+
+ // And mark me cycle-free
+ cycle = Collections.emptySet();
+ }
+ }
+
+ return cycle;
+ }
+
+ public void removeDependency(String bundleID) {
+ dependencies.remove(bundleID);
+
+ // It's now just a transitive dependency because it was redundant
+ transitiveDependencies.add(bundleID);
+
+ // And it obviously can't be reexported
+ reexports.remove(bundleID);
+ }
+
+ public void reexport(String bundleID) {
+ reexports.put(bundleID, internalGetBundle(bundleID));
+
+ // This information is now stale
+ getBundle().getAPIExports().recomputeMissingReexports();
+ }
+
+ @Override
+ public String toString() {
+ return "Dependencies of " + bundleID;
+ }
+ }
+
+ /**
+ * An analysis of the public API exports of a bundle.
+ */
+ public class APIExports {
+ private final String bundleID;
+ private VersionRange compatibleVersionRange;
+
+ private Set<String> exports;
+ private Map<String, BundleAnalysis> exposedDependencies;
+ private Set<BundleAnalysis> missingReexports;
+
+ private APIExports(String bundleID) {
+ super();
+
+ this.bundleID = bundleID;
+ }
+
+ public BundleAnalysis getBundle() {
+ return internalGetBundle(bundleID);
+ }
+
+ public VersionRange getCompatibleVersionRange() {
+ return compatibleVersionRange;
+ }
+
+ public boolean exports(String packageName) {
+ analyze();
+
+ return exports.contains(packageName);
+ }
+
+ public boolean isExposed(String bundleID) {
+ analyze();
+
+ return exposedDependencies.containsKey(bundleID);
+ }
+
+ public Set<BundleAnalysis> getExposedDependencies() {
+ analyze();
+
+ return new HashSet<>(exposedDependencies.values());
+ }
+
+ /**
+ * Obtains the set of bundles that should be re-exported that are not
+ * explicitly required (they mmust be implicitly required because some
+ * other dependency re-exports them).
+ *
+ * @return the missing re-exported dependency declarations
+ */
+ public Set<BundleAnalysis> getMissingReexports() {
+ if (missingReexports == null) {
+ missingReexports = getExposedDependencies().stream()
+ .filter(bundle -> !getBundle().isReexported(bundle.getBundleID()))
+ .filter(bundle -> !getBundle().hasDependency(bundle.getBundleID()))
+ .filter(bundle -> !isReexportedByExposedDependency(bundle))
+ .collect(Collectors.toCollection(
+ () -> new TreeSet<>(Comparator.comparing(BundleAnalysis::getBundleID))));
+ }
+
+ return missingReexports;
+ }
+
+ void recomputeMissingReexports() {
+ missingReexports = null;
+ }
+
+ private APIExports analyze() {
+ if (exposedDependencies == null) {
+ exposedDependencies = new HashMap<>();
+
+ IPluginModelBase model = PluginRegistry.findModel(bundleID);
+ BundleDescription desc = model.getBundleDescription();
+ IProject project = (model.getUnderlyingResource() == null)
+ ? null
+ : model.getUnderlyingResource().getProject();
+ BundleAnalysis self = getBundle();
+
+ if (desc == null) {
+ // No exports if no bundle description
+ exports = Collections.emptySet();
+ compatibleVersionRange = VersionRange.valueOf("0.0.0"); //$NON-NLS-1$
+ } else {
+ compatibleVersionRange = versionRules.getDependencyVersionRange(
+ DependencyKind.REQUIRE_BUNDLE, bundleID);
+
+ if ((project == null) || !isAnalysisRoot(bundleID)) {
+ // It's a PDE target bundle. We don't need to compute uses constraints
+ // for it because we won't be attempting to edit its dependencies
+ exports = Stream.of(desc.getExportPackages())
+ .filter(this::isPublicExport)
+ .map(ExportPackageDescription::getName)
+ .collect(Collectors.toSet());
+ } else {
+ // It's a workspace bundle that is selected for optimization.
+ // We need to compute uses constraints for it
+ Map<String, ? extends Set<String>> uses = new MyCalculateUsesOperation(project, model).calculate();
+
+ currentMonitor.setTaskName("Computing re-exported dependencies...");
+ exports = new HashSet<>(uses.keySet());
+ Set<String> allUsedPackages = uses.values().stream()
+ .flatMap(Collection::stream)
+ .distinct()
+ .collect(Collectors.toSet());
+
+ // Don't consider my own exported packages, of course
+ allUsedPackages.removeAll(exports);
+
+ for (String next : allUsedPackages) {
+ BundleAnalysis provider = getProvidingBundle(next);
+ if ((provider != null) && (provider != self) && !exposedDependencies.containsKey(provider.getBundleID())) {
+ exposedDependencies.put(provider.getBundleID(), provider);
+ }
+ }
+ }
+ }
+
+ exports.forEach(x -> packageProviders.put(x, self));
+ }
+
+ return this;
+ }
+
+ private boolean isPublicExport(ExportPackageDescription exportPackage) {
+ Map<String, String> directives = exportPackage.getDeclaredDirectives();
+ return !"true".equals(directives.get("x-internal"))
+ && !directives.containsKey("x-friends");
+ }
+
+ /**
+ * Queries whether a {@code bundle} is re-exported by some existing dependency
+ * that is exposed in the API. Such a bundle would not have to be added as
+ * a missing re-export.
+ *
+ * @param bundle
+ * an exposed bundle
+ *
+ * @return whether it is re-exported by some other bundle that I expose
+ */
+ private boolean isReexportedByExposedDependency(BundleAnalysis bundle) {
+ return exposedDependencies.values().stream()
+ .anyMatch(dep -> dep.isReexported(bundle.getBundleID()));
+ }
+
+ @Override
+ public String toString() {
+ return "API of " + bundleID;
+ }
+
+ //
+ // Nested types
+ //
+
+ @SuppressWarnings("restriction")
+ private final class MyCalculateUsesOperation extends org.eclipse.pde.internal.ui.search.dependencies.CalculateUsesOperation {
+ MyCalculateUsesOperation(IProject project, IPluginModelBase model) {
+ // This cast is safe if the model if the model is a workspace bundle project
+ super(project, (org.eclipse.pde.internal.core.ibundle.IBundlePluginModelBase) model);
+ }
+
+ Map<String, ? extends Set<String>> calculate() {
+ Map<String, ? extends Set<String>> result;
+
+ Collection<String> packages = getPublicExportedPackages();
+ if (packages.isEmpty()) {
+ result = Collections.emptyMap();
+ } else {
+ result = findPackageReferences(packages, currentMonitor.split(1)); // Split doesn't matter for unknown total work
+ }
+
+ return result;
+ }
+ }
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyKind.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyKind.java
new file mode 100644
index 00000000000..b391273474b
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/DependencyKind.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.internal.operations;
+
+import java.util.List;
+import java.util.function.Function;
+
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+import org.eclipse.pde.core.project.IPackageImportDescription;
+import org.eclipse.pde.core.project.IRequiredBundleDescription;
+import org.osgi.framework.VersionRange;
+
+public enum DependencyKind {
+ /** A <tt>Require-Bundle</tt> type of dependency. */
+ REQUIRE_BUNDLE(IRequiredBundleDescription.class, IManifestEditor::getRequiredBundles, IRequiredBundleDescription::getName, IManifestEditor::addDependency),
+
+ /** An <tt>Import-Package</tt> type of dependency. */
+ IMPORT_PACKAGE(IPackageImportDescription.class, IManifestEditor::getImportedPackages, IPackageImportDescription::getName, IManifestEditor::addImportPackage);
+
+ private final Function<IManifestEditor, List<?>> dependenciesFunction;
+
+ private final Function<?, String> dependencyNameFunction;
+
+ private final DependencyUpdater dependencyUpdater;
+
+ private <T> DependencyKind(Class<T> dependencyType, Function<IManifestEditor, List<?>> dependenciesFunction, Function<T, String> dependencyNameFunction, DependencyUpdater dependencyUpdater) {
+ this.dependenciesFunction = dependenciesFunction;
+ this.dependencyNameFunction = dependencyNameFunction;
+ this.dependencyUpdater = dependencyUpdater;
+ }
+
+ String getVersionAttribute() {
+ return (this == REQUIRE_BUNDLE)
+ ? "bundle-version" //$NON-NLS-1$
+ : "version"; //$NON-NLS-1$
+ }
+
+ static DependencyKind forHeader(String headerName) {
+ switch (headerName) {
+ case "Require-Bundle":
+ return REQUIRE_BUNDLE;
+ case "Import-Package":
+ return IMPORT_PACKAGE;
+ default:
+ throw new IllegalArgumentException(headerName);
+ }
+ }
+
+ public List<?> getDependencies(IManifestEditor manifest) {
+ return dependenciesFunction.apply(manifest);
+ }
+
+ @SuppressWarnings("unchecked")
+ public String getDependencyName(Object dependency) {
+ return ((Function<Object, String>) dependencyNameFunction).apply(dependency);
+ }
+
+ public void setDependencyRange(IManifestEditor manifest, String dependencyName, VersionRange range) {
+ dependencyUpdater.setDependencyRange(manifest, dependencyName, range.toString());
+ }
+
+ //
+ // Nested types
+ //
+
+ @FunctionalInterface
+ private interface DependencyUpdater {
+ void setDependencyRange(IManifestEditor manifest, String dependencyName, String versionRange);
+ }
+} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/OptimizeDependenciesOperation.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/OptimizeDependenciesOperation.java
new file mode 100644
index 00000000000..87aed84f133
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/OptimizeDependenciesOperation.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.internal.operations;
+
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.papyrus.dev.project.management.internal.operations.DependencyAnalysisContext.APIExports;
+import org.eclipse.papyrus.dev.project.management.internal.operations.DependencyAnalysisContext.BundleAnalysis;
+import org.eclipse.papyrus.dev.project.management.internal.operations.DependencyAnalysisContext.DependencyGraph;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+import org.eclipse.papyrus.infra.tools.util.Iterables2;
+import org.eclipse.pde.core.project.IRequiredBundleDescription;
+
+/**
+ * Undoable "optimize dependencies" operation, which ensures re-exports of dependencies
+ * that contribute types to the exported API and removes redundancies (except where they are
+ * re-exported).
+ */
+public class OptimizeDependenciesOperation extends AbstractManifestUpdateOperation {
+
+ public OptimizeDependenciesOperation(Map<? extends IFile, ? extends IManifestEditor> manifests) {
+ super("Optimize Bundle Dependencies", manifests);
+ }
+
+ @Override
+ protected IStatus doExecute(IProgressMonitor monitor, Map<? extends IFile, ? extends IManifestEditor> manifests) throws ExecutionException {
+ SubMonitor sub = SubMonitor.convert(monitor, "Analyzing ...", manifests.size() + 1);
+
+ sub.split(1).beginTask("Initializing", IProgressMonitor.UNKNOWN);
+
+ DependencyAnalysisContext analysisContext = new DependencyAnalysisContext(manifests.keySet());
+
+ // This map is sorted from root to leaves of the dependency tree
+ List<BundleAnalysis> bundles = Iterables2.topoSort(
+ analysisContext.getAnalysisRoots(),
+ BundleAnalysis::partialCompare);
+
+ for (BundleAnalysis bundle : bundles) {
+ IManifestEditor editor = manifests.get(bundle.getManifest());
+
+ SubMonitor step = sub.split(1);
+
+ if (step.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+
+ editor.init();
+ optimizeDependencies(bundle, editor, step);
+ }
+
+ return Status.OK_STATUS;
+ }
+
+ private void optimizeDependencies(BundleAnalysis bundle, IManifestEditor manifest, IProgressMonitor monitor) {
+ monitor.beginTask(bundle.getBundleID(), IProgressMonitor.UNKNOWN);
+ bundle.pushMonitor(monitor);
+
+ try {
+ DependencyGraph graph = bundle.getDependencyGraph();
+ APIExports api = bundle.getAPIExports();
+
+ for (IRequiredBundleDescription requireBundle : manifest.getRequiredBundles()) {
+ String required = requireBundle.getName();
+
+ if (graph.isRedundant(required)) {
+ // Remove it from the manifest
+ manifest.removeRequiredBundle(required);
+
+ // Update the graph
+ graph.removeDependency(required);
+ } else if (api.isExposed(required) && !requireBundle.isExported()) {
+ // We need to retain this dependency and ensure that it is re-exported,
+ // unless it is already re-exported by some other dependency that we re-export
+ // (which would be the redundant case, above)
+ manifest.setRequiredBundleExported(required, true);
+
+ // Update the graph
+ graph.reexport(required);
+ } // else just retain this dependency as is
+ }
+ } finally {
+ bundle.popMonitor();
+ }
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/UpdateDependencyRangesOperation.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/UpdateDependencyRangesOperation.java
new file mode 100644
index 00000000000..4a87f700b2a
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/UpdateDependencyRangesOperation.java
@@ -0,0 +1,81 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.internal.operations;
+
+import java.util.Map;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.papyrus.eclipse.project.editors.interfaces.IManifestEditor;
+import org.osgi.framework.VersionRange;
+
+/**
+ * Undoable "update dependency ranges" operation, which updates all dependencies
+ * in the selected <tt.MANIFEST.MF</tt> file(s) to be version ranges lower-bounded
+ * by the current PDE Target version, except for certain 3rd-party Orbit bundles
+ * (such as Guava, ICU4J) that are known to increase major versions frequently without
+ * breaking compatibility.
+ */
+public class UpdateDependencyRangesOperation extends AbstractManifestUpdateOperation {
+
+ private final VersionRules versionRules = new VersionRules();
+
+ public UpdateDependencyRangesOperation(Map<? extends IFile, ? extends IManifestEditor> manifests) {
+ super("Update Dependency Ranges", manifests);
+ }
+
+ @Override
+ protected IStatus doExecute(IProgressMonitor monitor, Map<? extends IFile, ? extends IManifestEditor> manifests) throws ExecutionException {
+ SubMonitor sub = SubMonitor.convert(monitor, "Updating manifests...", manifests.size() * 2);
+
+ for (IManifestEditor editor : manifests.values()) {
+ if (sub.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+
+ editor.init();
+
+ updateDependencies(editor, DependencyKind.REQUIRE_BUNDLE);
+ sub.worked(1);
+
+ if (sub.isCanceled()) {
+ throw new OperationCanceledException();
+ }
+
+ updateDependencies(editor, DependencyKind.IMPORT_PACKAGE);
+ sub.worked(1);
+ }
+
+ sub.done();
+
+ return Status.OK_STATUS;
+ }
+
+ private void updateDependencies(IManifestEditor manifest, DependencyKind kind) {
+ // The API interfaces for dependencies have no common supertype
+ for (Object dependency : kind.getDependencies(manifest)) {
+ String dependencyName = kind.getDependencyName(dependency);
+
+ VersionRange range = versionRules.getDependencyVersionRange(kind, dependencyName);
+ if (range != null) {
+ kind.setDependencyRange(manifest, dependencyName, range);
+ } // else this bundle needs no update
+ }
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/VersionRules.java b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/VersionRules.java
new file mode 100644
index 00000000000..cf700faecae
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.dev.project.management/src/org/eclipse/papyrus/dev/project/management/internal/operations/VersionRules.java
@@ -0,0 +1,221 @@
+/*****************************************************************************
+ * Copyright (c) 2016 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.dev.project.management.internal.operations;
+
+import java.util.Objects;
+import java.util.function.BiFunction;
+import java.util.function.BiPredicate;
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+
+import org.eclipse.osgi.service.resolver.BundleDescription;
+import org.eclipse.osgi.service.resolver.ExportPackageDescription;
+import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.PluginRegistry;
+import org.osgi.framework.Version;
+import org.osgi.framework.VersionRange;
+
+/**
+ * Utility for management of bundle dependency version ranges, defining rules
+ * governing how various specific dependencies are to be managed.
+ */
+public class VersionRules {
+
+ private final VersionRule rule = VersionRule.composeAll(
+ new CurrentVersionRule(), // The default behaviour
+ new FixedRangeRule(dep -> dep.startsWith("org.apache.batik"), "[1.6.0,1.7.0)"), //$NON-NLS-1$//$NON-NLS-2$
+ new SkipRule("com.ibm.icu"), //$NON-NLS-1$
+ new FixedRangeRule("com.google.guava", "11.0.0") //$NON-NLS-1$
+ );
+
+ public VersionRules() {
+ super();
+ }
+
+ /**
+ * Queries the version range that should constraint a dependency of the given {@code kind}
+ * on a bundle or package.
+ *
+ * @param kind
+ * the dependency kind
+ * @param dependency
+ * the bundle or package dependency
+ *
+ * @return the appropriate version range, or {@code null} if unknown or the range
+ * currently specified in the manfiest can be retained as is
+ */
+ public VersionRange getDependencyVersionRange(DependencyKind kind, String dependency) {
+ return rule.apply(kind, dependency);
+ }
+
+ static Version getCurrentMinorVersion(String dependencyName, boolean isPackageImport) {
+ Version result = Version.emptyVersion;
+
+ if (!isPackageImport) {
+ IPluginModelBase model = PluginRegistry.findModel(dependencyName);
+ if (model != null) {
+ result = Version.valueOf(model.getPluginBase().getVersion());
+ }
+ } else {
+ // Look for a bundle that exports the package
+ result = Stream.of(PluginRegistry.getActiveModels(false))
+ .filter(p -> exports(p, dependencyName))
+ // TODO: Sort by longest prefix match to the package name
+ .map(p -> getExportedVersion(p, dependencyName))
+ .findFirst()
+ .orElse(Version.emptyVersion);
+ }
+
+ if (!result.equals(Version.emptyVersion)) {
+ // 'Minorize' it
+ result = new Version(result.getMajor(), result.getMinor(), 0);
+ }
+
+ return result;
+ }
+
+ private static boolean exports(IPluginModelBase pluginModel, String packageName) {
+ boolean result = false;
+
+ BundleDescription desc = pluginModel.getBundleDescription();
+ if (desc != null) {
+ result = Stream.of(desc.getExportPackages())
+ .anyMatch(ep -> packageName.equals(ep.getName()));
+ }
+
+ return result;
+ }
+
+ private static Version getExportedVersion(IPluginModelBase pluginModel, String packageName) {
+ // In case there is no bundle description, which would be odd at this point
+ Version result = Version.emptyVersion;
+
+ BundleDescription desc = pluginModel.getBundleDescription();
+ if (desc != null) {
+ result = Stream.of(desc.getExportPackages())
+ .filter(ep -> packageName.equals(ep.getName()))
+ .map(ExportPackageDescription::getVersion)
+ .filter(Objects::nonNull)
+ .findAny().orElse(Version.emptyVersion);
+ }
+
+ return result;
+ }
+
+ //
+ // Nested types
+ //
+
+ private interface VersionRule extends BiPredicate<DependencyKind, String>, BiFunction<DependencyKind, String, VersionRange> {
+ default VersionRule compose(VersionRule other) {
+ return new VersionRule() {
+
+ @Override
+ public VersionRange apply(DependencyKind kind, String dependencyName) {
+ return VersionRule.this.test(kind, dependencyName)
+ ? VersionRule.this.apply(kind, dependencyName)
+ : other.apply(kind, dependencyName);
+ }
+
+ @Override
+ public boolean test(DependencyKind kind, String dependencyName) {
+ return VersionRule.this.test(kind, dependencyName) || other.test(kind, dependencyName);
+ }
+ };
+ }
+
+ static VersionRule composeAll(VersionRule default_, VersionRule... rules) {
+ VersionRule result = default_;
+ for (VersionRule next : rules) {
+ result = next.compose(result);
+ }
+ return result;
+ }
+ }
+
+ private static abstract class AbstractRule implements VersionRule {
+ private final BiPredicate<DependencyKind, String> predicate;
+
+ AbstractRule(BiPredicate<DependencyKind, String> predicate) {
+ super();
+
+ this.predicate = predicate;
+ }
+
+ AbstractRule(Predicate<String> predicate) {
+ this((kind, dep) -> predicate.test(dep));
+ }
+
+ @Override
+ public boolean test(DependencyKind kind, String dependencyName) {
+ return predicate.test(kind, dependencyName);
+ }
+ }
+
+ private static final class FixedRangeRule extends AbstractRule {
+ private final VersionRange range;
+
+ FixedRangeRule(String bundleID, String range) {
+ this(bundleID::equals, VersionRange.valueOf(range));
+ }
+
+ FixedRangeRule(Predicate<String> predicate, String range) {
+ this(predicate, VersionRange.valueOf(range));
+ }
+
+ FixedRangeRule(Predicate<String> predicate, VersionRange range) {
+ super(predicate);
+
+ this.range = range;
+ }
+
+ @Override
+ public VersionRange apply(DependencyKind kind, String dependencyName) {
+ return range;
+ }
+ }
+
+ private static final class SkipRule extends AbstractRule {
+ SkipRule(String dependencyName) {
+ this(dependencyName::equals);
+ }
+
+ SkipRule(Predicate<String> predicate) {
+ super(predicate);
+ }
+
+ @Override
+ public VersionRange apply(DependencyKind kind, String dependencyName) {
+ return null;
+ }
+ }
+
+ private static class CurrentVersionRule extends AbstractRule {
+ private CurrentVersionRule() {
+ super((kind, dep) -> true);
+ }
+
+ @Override
+ public VersionRange apply(DependencyKind kind, String dependencyName) {
+ Version current = getCurrentMinorVersion(dependencyName, kind == DependencyKind.IMPORT_PACKAGE);
+ Version next = ((current == null) || current.equals(Version.emptyVersion))
+ ? null
+ : new Version(current.getMajor() + 1, 0, 0);
+
+ return (next == null)
+ ? null
+ : new VersionRange(VersionRange.LEFT_CLOSED, current, next, VersionRange.RIGHT_OPEN);
+ }
+ }
+}
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project
index 5fd10003319..9659dc74a02 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/.project
@@ -16,13 +16,29 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <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>ignore.missing.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.dev.release/release.xml</value>
+ </dictionary>
</arguments>
</buildCommand>
</buildSpec>
@@ -30,5 +46,6 @@
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF
index 2d47ce802ef..91543975946 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework.ui/META-INF/MANIFEST.MF
@@ -1,16 +1,16 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.core.resources;bundle-version="3.10.0",
- org.eclipse.papyrus.dev.tests.framework;bundle-version="1.2.0",
- org.eclipse.ui;bundle-version="3.107.0",
- org.eclipse.core.expressions;bundle-version="3.5.0"
-Export-Package: org.eclipse.papyrus.dev.tests.framework.internal.ui;x-internal:=true
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %Bundle-Name
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.dev.tests.framework.internal.ui.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.dev.tests.framework.ui;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.papyrus.dev.tests.framework;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.5.0,4.0.0)"
+Export-Package: org.eclipse.papyrus.dev.tests.framework.internal.ui;x-internal:=true
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.dev.tests.framework.internal.ui.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.dev.tests.framework.ui;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project
index 8b08e018ffe..47c5b02925a 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/.project
@@ -16,19 +16,30 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <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>ignore.missing.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.dev.release/release.xml</value>
+ </dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF
index f788ffa8d97..33bd03fc65b 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/META-INF/MANIFEST.MF
@@ -1,16 +1,15 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.core.resources;bundle-version="3.10.0",
- org.eclipse.jdt.launching;bundle-version="3.8.0",
- org.eclipse.jdt.core;bundle-version="3.11.0",
- org.eclipse.debug.core;bundle-version="3.10.0"
-Export-Package: org.eclipse.papyrus.dev.tests.framework.internal;x-internal:=true
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %Bundle-Name
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.dev.tests.framework.internal.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.dev.tests.framework;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.jdt.launching;bundle-version="[3.8.0,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.debug.core;bundle-version="[3.10.0,4.0.0)"
+Export-Package: org.eclipse.papyrus.dev.tests.framework.internal;x-internal:=true
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 2.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.dev.tests.framework.internal.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.dev.tests.framework;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7
diff --git a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml
index 85c5ad30046..1c4705af4b3 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml
+++ b/plugins/developer/org.eclipse.papyrus.dev.tests.framework/pom.xml
@@ -8,6 +8,6 @@
</parent>
<artifactId>org.eclipse.papyrus.dev.tests.framework</artifactId>
<groupId>org.eclipse.papyrus</groupId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
-</project>
+</project> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/.project b/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/.project
index 3ee19d0eee2..e6ca661b9c0 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/.project
+++ b/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.dev.view.services.edit.request</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.dev.view.services.edit.request</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/META-INF/MANIFEST.MF
index cd9ab1eeed4..113688fa26b 100644
--- a/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.dev.view.services.edit.request/META-INF/MANIFEST.MF
@@ -1,15 +1,14 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gmf.runtime.emf.type.core,
- org.eclipse.papyrus.emf.facet.common.ui;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.dev.view.services.edit.request.Activator
-Bundle-ManifestVersion: 2
-Bundle-Description: %pluginDescription
-Bundle-SymbolicName: org.eclipse.papyrus.dev.view.services.edit.request;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.papyrus.emf.facet.common.ui;bundle-version="[1.2.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.dev.view.services.edit.request.Activator
+Bundle-ManifestVersion: 2
+Bundle-Description: %pluginDescription
+Bundle-SymbolicName: org.eclipse.papyrus.dev.view.services.edit.request;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.developer.profile/.project b/plugins/developer/org.eclipse.papyrus.developer.profile/.project
index 85e092bc300..950dab76ca1 100644
--- a/plugins/developer/org.eclipse.papyrus.developer.profile/.project
+++ b/plugins/developer/org.eclipse.papyrus.developer.profile/.project
@@ -1,28 +1,46 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.developer.profile</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.developer.profile</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.developer.profile/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.developer.profile/META-INF/MANIFEST.MF
index a6a8eb3d823..0b2e17079de 100644
--- a/plugins/developer/org.eclipse.papyrus.developer.profile/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.developer.profile/META-INF/MANIFEST.MF
@@ -1,13 +1,13 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.papyrus.developer.profile.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.developer.profile;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.2.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-Activator: org.eclipse.papyrus.developer.profile.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.developer.profile;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/developer/org.eclipse.papyrus.doc/.project b/plugins/developer/org.eclipse.papyrus.doc/.project
index 8617a43572a..dc1932cbf81 100644
--- a/plugins/developer/org.eclipse.papyrus.doc/.project
+++ b/plugins/developer/org.eclipse.papyrus.doc/.project
@@ -1,22 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.doc</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.doc</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.doc/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.doc/META-INF/MANIFEST.MF
index f42116749ea..2916d725ccd 100644
--- a/plugins/developer/org.eclipse.papyrus.doc/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.doc/META-INF/MANIFEST.MF
@@ -1,12 +1,12 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.equinox.app,
- org.eclipse.ui,
- org.eclipse.help,
- org.eclipse.ui.intro,
- org.eclipse.pde.ui;bundle-version="3.6.100"
-Bundle-Vendor: %providerName
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.doc;singleton:=true
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.equinox.app;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.help;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.ui.intro;bundle-version="[3.5.0,4.0.0)",
+ org.eclipse.pde.ui;bundle-version="[3.9.0,4.0.0)"
+Bundle-Vendor: %providerName
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.doc;singleton:=true
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project
index 3a735d485c7..244f5d58644 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/.project
@@ -20,9 +20,27 @@
<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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF
index b1557336613..6af889ad3cf 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.domaincodegen.ui/META-INF/MANIFEST.MF
@@ -1,14 +1,8 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi,
- org.eclipse.ocl,
- org.eclipse.ocl.ecore,
- org.eclipse.acceleo.model,
- org.eclipse.acceleo.engine,
- org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0"
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.papyrus.domaincontextcodegen;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
Eclipse-LazyStart: true
Bundle-ActivationPolicy: lazy
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project
index 702734004ed..a10bc9e20b7 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/.project
@@ -16,13 +16,26 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
+ <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.dev.release/release.xml</value>
+ </dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF
index 4bc7a38775d..2ccce3270d2 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.edit/META-INF/MANIFEST.MF
@@ -1,9 +1,9 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0";visibility:=reexport,
- org.eclipse.emf.edit;visibility:=reexport,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.ecore.edit;visibility:=reexport
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.papyrus.domaincontextcodegen;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
Export-Package: org.eclipse.papyrus.domaincontextcodegen.provider
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/.project b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/.project
index e46918d33ce..40934551b23 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/.project
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.domaincontextcodegen.editor</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.domaincontextcodegen.editor</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/META-INF/MANIFEST.MF
index df727a5db6a..807baa93b99 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen.editor/META-INF/MANIFEST.MF
@@ -1,19 +1,19 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources;visibility:=reexport,
- org.eclipse.papyrus.domaincontextcodegen.edit;bundle-version="1.2.0";visibility:=reexport,
- org.eclipse.emf.ecore.xmi;visibility:=reexport,
- org.eclipse.emf.edit.ui;visibility:=reexport,
- org.eclipse.ui.ide;visibility:=reexport,
- org.eclipse.emf.ecore.edit;visibility:=reexport
-Export-Package: org.eclipse.papyrus.domaincontextcodegen.presentation
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.domaincontextcodegen.presentation.DomainContextEditorPlugin$Implementation
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.domaincontextcodegen.editor;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.domaincontextcodegen.edit;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.edit.ui;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.ui.ide;bundle-version="[3.12.0,4.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport
+Export-Package: org.eclipse.papyrus.domaincontextcodegen.presentation
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.domaincontextcodegen.presentation.DomainContextEditorPlugin$Implementation
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.domaincontextcodegen.editor;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/.project b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/.project
index 4c9aafe844e..ce65834fabc 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/.project
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/.project
@@ -1,34 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.domaincontextcodegen</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.domaincontextcodegen</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.acceleo.ide.ui.acceleoBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/META-INF/MANIFEST.MF
index 271f296962b..f02a592608b 100644
--- a/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.domaincontextcodegen/META-INF/MANIFEST.MF
@@ -1,23 +1,22 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore;visibility:=reexport,
- org.eclipse.emf.codegen,
- org.eclipse.ui;bundle-version="3.6.0",
- org.eclipse.acceleo.common;bundle-version="3.0.0",
- org.eclipse.acceleo.engine;bundle-version="3.0.0",
- org.eclipse.core.resources;bundle-version="3.6.0",
- org.eclipse.uml2.uml;bundle-version="3.1.0"
-Export-Package: org.eclipse.papyrus.domaincontextcodegen,
- org.eclipse.papyrus.domaincontextcodegen.impl,
- org.eclipse.papyrus.domaincontextcodegen.modules,
- org.eclipse.papyrus.domaincontextcodegen.modules.utils,
- org.eclipse.papyrus.domaincontextcodegen.util
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.domaincontextcodegen;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.codegen;bundle-version="[2.11.0,3.0.0)",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.acceleo.engine;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
+ org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)"
+Export-Package: org.eclipse.papyrus.domaincontextcodegen,
+ org.eclipse.papyrus.domaincontextcodegen.impl,
+ org.eclipse.papyrus.domaincontextcodegen.modules,
+ org.eclipse.papyrus.domaincontextcodegen.modules.utils,
+ org.eclipse.papyrus.domaincontextcodegen.util
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.domaincontextcodegen;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.gmf.editpartview/.project b/plugins/developer/org.eclipse.papyrus.gmf.editpartview/.project
index 4fe341a1c42..5dcae312190 100644
--- a/plugins/developer/org.eclipse.papyrus.gmf.editpartview/.project
+++ b/plugins/developer/org.eclipse.papyrus.gmf.editpartview/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.gmf.editpartview</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.gmf.editpartview</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.gmf.editpartview/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.gmf.editpartview/META-INF/MANIFEST.MF
index 45e9cfb15a3..a4b51476dae 100644
--- a/plugins/developer/org.eclipse.papyrus.gmf.editpartview/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.gmf.editpartview/META-INF/MANIFEST.MF
@@ -1,19 +1,16 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.gmf.editpartview,
- org.eclipse.papyrus.gmf.editpartview.view
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gmf.runtime.diagram.ui,
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.editor;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="1.2.0",
- org.eclipse.uml2.uml;bundle-version="4.0.1"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.gmf.editpartview.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.gmf.editpartview;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.gmf.editpartview,
+ org.eclipse.papyrus.gmf.editpartview.view
+Require-Bundle: org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.editor;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.gmf.editpartview.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.gmf.editpartview;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/.project b/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/.project
index 5644609803c..feb1264cdec 100644
--- a/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/.project
+++ b/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.gmf.editpoliciesstates</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.gmf.editpoliciesstates</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/META-INF/MANIFEST.MF
index 4ed7eb8af8e..944ab132610 100644
--- a/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.gmf.editpoliciesstates/META-INF/MANIFEST.MF
@@ -1,17 +1,14 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.emf.facet.common.ui;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.editor;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.gmf.editpoliciesstates.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.gmf.editpoliciesstates;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.papyrus.emf.facet.common.ui;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.editor;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.2.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.gmf.editpoliciesstates.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.gmf.editpoliciesstates;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.gmf.figureview/.project b/plugins/developer/org.eclipse.papyrus.gmf.figureview/.project
index 5359c719742..d7f2eb2d1b2 100644
--- a/plugins/developer/org.eclipse.papyrus.gmf.figureview/.project
+++ b/plugins/developer/org.eclipse.papyrus.gmf.figureview/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.gmf.figureview</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.gmf.figureview</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.gmf.figureview/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.gmf.figureview/META-INF/MANIFEST.MF
index e249b19724b..6ddf0f40740 100644
--- a/plugins/developer/org.eclipse.papyrus.gmf.figureview/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.gmf.figureview/META-INF/MANIFEST.MF
@@ -1,19 +1,16 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.gmf.figureview,
- org.eclipse.papyrus.gmf.figureview.view
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.emf.facet.common.ui;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.8.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.editor;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.gmf.figureview.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.gmf.figureview;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.gmf.figureview,
+ org.eclipse.papyrus.gmf.figureview.view
+Require-Bundle: org.eclipse.papyrus.emf.facet.common.ui;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.editor;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.2.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.gmf.figureview.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.gmf.figureview;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/.project b/plugins/developer/org.eclipse.papyrus.gmfgenextension/.project
index ae2d7be04b8..dcd801b6b9e 100644
--- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/.project
+++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.gmfgenextension</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.gmfgenextension</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF
index 4f68991afb3..0aa105c6d36 100644
--- a/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.gmfgenextension/META-INF/MANIFEST.MF
@@ -1,23 +1,22 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore;bundle-version="2.10.0";visibility:=reexport,
- org.eclipse.papyrus.domaincontextcodegen;bundle-version="1.2.0";visibility:=reexport,
- org.eclipse.emf.codegen.ecore;bundle-version="2.10.0";visibility:=reexport,
- org.eclipse.gmf.codegen;bundle-version="2.11.0";visibility:=reexport,
- org.eclipse.ui;bundle-version="3.5.0",
- org.eclipse.uml2.uml;bundle-version="3.0.0",
- org.eclipse.uml2.uml.edit;bundle-version="3.0.0",
- org.eclipse.uml2.codegen.ecore;bundle-version="1.6.0"
-Export-Package: org.eclipse.papyrus.papyrusgmfgenextension,
- org.eclipse.papyrus.papyrusgmfgenextension.impl,
- org.eclipse.papyrus.papyrusgmfgenextension.popupaction,
- org.eclipse.papyrus.papyrusgmfgenextension.util
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-ClassPath: .
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.gmfgenextension;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.domaincontextcodegen;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.emf.codegen.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
+ org.eclipse.gmf.codegen;bundle-version="[2.11.0,3.0.0)";visibility:=reexport,
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.uml2.uml.edit;bundle-version="[5.1.0,6.0.0)",
+ org.eclipse.uml2.codegen.ecore;bundle-version="[2.1.0,3.0.0)"
+Export-Package: org.eclipse.papyrus.papyrusgmfgenextension,
+ org.eclipse.papyrus.papyrusgmfgenextension.impl,
+ org.eclipse.papyrus.papyrusgmfgenextension.popupaction,
+ org.eclipse.papyrus.papyrusgmfgenextension.util
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.gmfgenextension;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.project b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.project
index d305eea197c..6ddb42c193b 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.project
+++ b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/.project
@@ -16,13 +16,32 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF
index 069e7c13fcc..8b535c34395 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.infra.emf.commandstack/META-INF/MANIFEST.MF
@@ -1,13 +1,9 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.emf.edit;bundle-version="2.7.1",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.common.core;bundle-version="1.4.1",
- org.eclipse.emf.workspace;bundle-version="1.4.0",
- org.eclipse.papyrus.infra.emf.gmf;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.7.0",
- org.eclipse.papyrus.emf.facet.common.ui;bundle-version="1.2.0"
+Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.emf.facet.common.ui;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/.project b/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/.project
index f9dad31a62c..50d3cbb97ea 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/.project
+++ b/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/.project
@@ -1,28 +1,52 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.infra.extendedtypes.elementtypeview</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.extendedtypes.elementtypeview</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/META-INF/MANIFEST.MF
index 465f774718d..19f01467c88 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.infra.extendedtypes.elementtypeview/META-INF/MANIFEST.MF
@@ -1,20 +1,16 @@
-Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.infra.extendedtypes.elementtypeview,
- org.eclipse.papyrus.infra.extendedtypes.elementtypeview.view
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.gmf.runtime.diagram.ui,
- org.eclipse.papyrus.editor;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.services.edit;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Localization: plugin
-Bundle-Name: %pluginName
-Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.elementtypeview.Activator
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes.elementtypeview;singleton:=true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.infra.extendedtypes.elementtypeview,
+ org.eclipse.papyrus.infra.extendedtypes.elementtypeview.view
+Require-Bundle: org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.editor;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[1.2.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Localization: plugin
+Bundle-Name: %pluginName
+Bundle-Activator: org.eclipse.papyrus.infra.extendedtypes.elementtypeview.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.infra.extendedtypes.elementtypeview;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/.project b/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/.project
index 16d40fe4672..84b2d16aff8 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/.project
+++ b/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.infra.gmfdiag.css.debug</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.gmfdiag.css.debug</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/META-INF/MANIFEST.MF
index e9c39204b8c..0c8cbd34153 100644
--- a/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.infra.gmfdiag.css.debug/META-INF/MANIFEST.MF
@@ -1,20 +1,7 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.notation;bundle-version="1.5.0",
- org.eclipse.papyrus.infra.widgets;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.properties.ui;bundle-version="1.2.0",
- org.eclipse.core.databinding;bundle-version="1.4.1",
- org.eclipse.emf.ecore;bundle-version="2.9.0",
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.2.0",
- org.eclipse.e4.ui.css.core;bundle-version="0.10.2",
- org.eclipse.papyrus.infra.gmfdiag.css.configuration;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.draw2d.ui;bundle-version="1.7.0",
- org.eclipse.draw2d;bundle-version="3.9.0",
- org.eclipse.papyrus.infra.gmfdiag.css3.xtext;bundle-version="1.2.0"
+Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css.configuration;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project b/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project
index 35da3c39db8..c5290b1e383 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/.project
@@ -21,13 +21,25 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <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.dev.release/release.xml</value>
+ </dictionary>
</arguments>
</buildCommand>
</buildSpec>
@@ -36,5 +48,6 @@
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
</natures>
</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF
index 3127addaaf3..f4e1d4ae2ea 100644
--- a/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.mwe2.utils/META-INF/MANIFEST.MF
@@ -1,20 +1,19 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.mwe.core,
- org.eclipse.uml2.uml,
- org.apache.commons.logging,
- org.eclipse.m2m.qvt.oml,
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.xtext.xbase.lib;bundle-version="2.8.3",
- org.eclipse.emf.mwe.utils;bundle-version="1.3.10"
-Export-Package: org.eclipse.papyrus.mwe2.utils,
- org.eclipse.papyrus.mwe2.utils.components,
- org.eclipse.papyrus.mwe2.utils.messages
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %Bundle-Name
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.mwe2.utils.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.mwe2.utils
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.emf.mwe.core;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)",
+ org.apache.commons.logging;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.m2m.qvt.oml;bundle-version="[3.6.0,4.0.0)";visibility:=reexport,
+ org.eclipse.xtext.xbase.lib;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.mwe.utils;bundle-version="[1.3.0,2.0.0)";visibility:=reexport
+Export-Package: org.eclipse.papyrus.mwe2.utils,
+ org.eclipse.papyrus.mwe2.utils.components,
+ org.eclipse.papyrus.mwe2.utils.messages
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.mwe2.utils.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.mwe2.utils
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/.classpath b/plugins/developer/org.eclipse.papyrus.releng.dev.release/.classpath
new file mode 100644
index 00000000000..075009d7745
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/.project b/plugins/developer/org.eclipse.papyrus.releng.dev.release/.project
new file mode 100644
index 00000000000..98d20bdbba9
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.releng.dev.release</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.releng.dev.release/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..98693159659
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 2.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.releng.dev.release;singleton:=true
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/OSGI-INF/l10n/bundle.properties b/plugins/developer/org.eclipse.papyrus.releng.dev.release/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..ae3c2cce87d
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,14 @@
+#
+# Copyright (c) 2016 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - initial API and implementation
+#
+
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus Main Release Definition
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/about.html b/plugins/developer/org.eclipse.papyrus.releng.dev.release/about.html
new file mode 100644
index 00000000000..42595040e90
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>December 22, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/build.properties b/plugins/developer/org.eclipse.papyrus.releng.dev.release/build.properties
new file mode 100644
index 00000000000..108325c83cb
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/build.properties
@@ -0,0 +1,7 @@
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ OSGI-INF/,\
+ OSGI-INF/l10n/bundle.properties
+src.includes = about.html,\
+ release.*
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/pom.xml b/plugins/developer/org.eclipse.papyrus.releng.dev.release/pom.xml
new file mode 100644
index 00000000000..06088626c08
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.developer</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.releng.dev.release</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.digest b/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.digest
new file mode 100644
index 00000000000..3a564a7489d
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.digest
Binary files differ
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.properties b/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.properties
new file mode 100644
index 00000000000..f92503e5a9a
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.properties
@@ -0,0 +1,5 @@
+#
+#Fri Feb 19 10:25:34 EST 2016
+baseline.for.integration=true
+root.projects=org.eclipse.papyrus.dev.feature org.eclipse.papyrus.releng.dev.release
+show.deviations=false
diff --git a/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.xml b/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.xml
new file mode 100644
index 00000000000..8be00f5381a
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.dev.release/release.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<release>
+ <feature name="org.eclipse.papyrus.dev.feature" version="1.1.3">
+ <feature name="org.eclipse.papyrus.junit.feature" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.codegen" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.def" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.view.services.edit.request" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmf.editpoliciesstates" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmf.editpartview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmf.figureview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmfgenextension" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.debug" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincontextcodegen" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincontextcodegen.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincontextcodegen.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.releng.tools" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.project.management" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.commandstack" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.assistants.codegen" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.developer.mde" version="1.1.3"/>
+ <plugin name="org.eclipse.b3.aggregator" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.aggregator.legacy" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.cli" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.p2" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.util" version="0.2.0"/>
+ <plugin name="org.eclipse.papyrus.mwe2.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.tests.framework" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.tests.framework.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.elementtypesconfigurations.developer" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.junit.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.junit.framework" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.junit.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.bundles.tests" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework.annotations" version="1.1.3"/>
+ <plugin name="org.eclipse.upr.utp" version="0.9.0"/>
+ </feature>
+ <plugin name="org.eclipse.b3.aggregator" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.aggregator.legacy" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.cli" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.p2" version="0.2.0"/>
+ <plugin name="org.eclipse.b3.util" version="0.2.0"/>
+ <plugin name="org.eclipse.papyrus.bundles.tests" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.codegen" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.def" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.assistants.codegen" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.project.management" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.tests.framework" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.tests.framework.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dev.view.services.edit.request" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.developer.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincontextcodegen" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincontextcodegen.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincontextcodegen.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.domaincodegen.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.elementtypesconfigurations.developer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmf.editpartview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmf.editpoliciesstates" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmf.figureview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.gmfgenextension" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.commandstack" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.elementtypeview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.debug" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.junit.framework" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.junit.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.mwe2.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.releng.tools" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework.annotations" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.tests.framework.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.developer.mde" version="1.1.3"/>
+ <plugin name="org.eclipse.upr.utp" version="0.9.0"/>
+
+ <plugin name="org.eclipse.papyrus.releng.dev.release" version="1.1.3"/>
+</release>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/.classpath b/plugins/developer/org.eclipse.papyrus.releng.main.release/.classpath
new file mode 100644
index 00000000000..075009d7745
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/.project b/plugins/developer/org.eclipse.papyrus.releng.main.release/.project
new file mode 100644
index 00000000000..7184f995779
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/.project
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.releng.main.release</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.missing.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>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.releng.main.release/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..4bd926dd9ee
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 2.0.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.releng.main.release;singleton:=true
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/OSGI-INF/l10n/bundle.properties b/plugins/developer/org.eclipse.papyrus.releng.main.release/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 00000000000..ae3c2cce87d
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,14 @@
+#
+# Copyright (c) 2016 Christian W. Damus and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Christian W. Damus - initial API and implementation
+#
+
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus Main Release Definition
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/about.html b/plugins/developer/org.eclipse.papyrus.releng.main.release/about.html
new file mode 100644
index 00000000000..42595040e90
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>December 22, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/build.properties b/plugins/developer/org.eclipse.papyrus.releng.main.release/build.properties
new file mode 100644
index 00000000000..108325c83cb
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/build.properties
@@ -0,0 +1,7 @@
+bin.includes = META-INF/,\
+ .,\
+ about.html,\
+ OSGI-INF/,\
+ OSGI-INF/l10n/bundle.properties
+src.includes = about.html,\
+ release.*
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/pom.xml b/plugins/developer/org.eclipse.papyrus.releng.main.release/pom.xml
new file mode 100644
index 00000000000..1c12d2aa0de
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.developer</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.releng.main.release</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/release.digest b/plugins/developer/org.eclipse.papyrus.releng.main.release/release.digest
new file mode 100644
index 00000000000..d2b73a5fe29
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/release.digest
Binary files differ
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/release.properties b/plugins/developer/org.eclipse.papyrus.releng.main.release/release.properties
new file mode 100644
index 00000000000..6386955392d
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/release.properties
@@ -0,0 +1,5 @@
+#
+#Tue Feb 16 15:00:11 EST 2016
+baseline.for.integration=true
+root.projects=org.eclipse.papyrus.releng.main.release org.eclipse.papyrus.sdk.feature
+show.deviations=false
diff --git a/plugins/developer/org.eclipse.papyrus.releng.main.release/release.xml b/plugins/developer/org.eclipse.papyrus.releng.main.release/release.xml
new file mode 100644
index 00000000000..85f9b73d6ca
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.releng.main.release/release.xml
@@ -0,0 +1,780 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<release>
+ <feature name="org.eclipse.papyrus.customization.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.customization.paletteconfiguration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.properties.generation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.properties.model.xwt" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.palette" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.expansion.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.expansion.editor" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.doc.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.cdo.ui.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.copypaste.ui.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dsml.validation.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.common.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.newchild.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.controlmode.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.layers.documentation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.req.reqif.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.profile.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelrepair.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.assistants.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.search.ui.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.properties.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.aggregate.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel.editor.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.doc" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.editor.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.editor" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.emf.facet.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.emf.facet.common.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.common.sdk.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.common.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.sdk.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.catalog" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.metamodel.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.ocl.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.ocl.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.catalog" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.jface.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.pde.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.swt" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.widgets.celleditors" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.widgets.celleditors.ecore" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.core.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.log" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.sasheditor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.sasheditor.di" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.sashwindows.di" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.pluginexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.tools" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.discovery.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.discovery" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.discovery.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.discovery.ui.menu" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.emf.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.diagram.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.appearance" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.readonly" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.gmf" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.onefile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.hyperlink" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.psf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.newchild" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.newchild.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.sync" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.filters" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.filters.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties.editor" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.gmfdiag.css.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.configuration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css3.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.theme" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.model" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.gmfdiag.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.commands" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.outline" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.preferences" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.gef" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.extensionpoints.editors" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.dnd" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.hyperlink" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.viewersearcher" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.export" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.canonical" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.welcome" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.nattable.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.nattable.model" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.model.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.model.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.views.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.views.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.gmfdiag" version="1.1.3"/>
+ <plugin name="org.eclipse.nebula.widgets.nattable.core" version="1.4.0"/>
+ <plugin name="ca.odell.glazedlists" version="1.9.0"/>
+ <plugin name="org.eclipse.nebula.widgets.nattable.extension.glazedlists" version="1.4.0"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.services.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.services.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.controlmode.history" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.decoration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.markerlistener" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.resourceloading" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.validation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.labelprovider" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.semantic" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.viewersearch" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.viewlabelprovider" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.openelement" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.localizer" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.ui.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.onefile.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.ui.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.ui.resources" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.emf.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.edit.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.resourceloading.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.editor.welcome" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.editor.welcome.nattable" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.viewpoints.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.configuration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.configuration.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.configuration.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.iso42010" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.iso42010.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.policy" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.preferences" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.infra.widget.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.infra.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.widgets.toolbox" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.sdk.feature" version="1.1.3">
+ <feature name="org.eclipse.papyrus.customization.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.editor.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.core.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.gmfdiag.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.services.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.ui.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.widget.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.sysml.diagram.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.sysml.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.modelexplorer.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.properties.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.tools.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.ui.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.views.modelexplorer.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.views.properties.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.diagram.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.sysml.properties.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.emf.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.sysml.modelexplorer.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.textedit.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.alf.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.discovery.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.views.validation.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.doc.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.views.search.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.search.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.xtext.integration.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.nattable.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.sysml.nattable.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.nattable.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.gmfdiag.css.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.diagram.css.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.emf.facet.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.infra.viewpoints.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.decoratormodel.feature" version="1.1.3"/>
+ <feature name="org.eclipse.papyrus.uml.assistants.feature" version="1.1.3"/>
+ <plugin name="com.google.guava" version="15.0.0"/>
+ <plugin name="org.eclipse.papyrus.eclipse.project.editors" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.sysml.diagram.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.sysml.diagram.blockdefinition" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.requirement" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.internalblock" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.parametric" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.css" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.sysml.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.sysml" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.service.types" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.edit" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.sysml.modelexplorer.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.sysml.modelexplorer" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.sysml.nattable.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.sysml.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.requirement" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.requirement.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.allocation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.allocation.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.menu" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.sysml.properties.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.sysml.properties" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.alf.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.alf.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.common.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.libraries" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.to.fuml" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.ui" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.assistants.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.profile.assistants.generator" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.assistants.generator.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.ui" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.decoratormodel.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.properties" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.diagram.css.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.diagram.css" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.css.palette" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.diagram.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.diagram.clazz" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common.groups" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common.palette.customaction" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.component" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.deployment" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.icons" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.paletteconfiguration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.paletteconfiguration.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.statemachine" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.usecase" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.wizards" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.communication" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.sequence" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.activity" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.composite" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.dnd" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.stereotype.edition" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.timing" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.interactionoverview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.symbols" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.symbols.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.linklf" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.commands" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.controlmode.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.extensionpoints" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.icons" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.import" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.perspective" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.drafter" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.resourceloading.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.service.types" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.service.types.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.templaterepository" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.documentation.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.appearance" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.oclconstraintevaluation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.service.validation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.services.decoration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelrepair" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.filters" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.filters.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.elementtypesconfigurations" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.modelexplorer.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelexplorer.widgets" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.nattable.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.generic" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.generic.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.xtext.integration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.clazz.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.xtext.valuespecification" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.stereotype.display" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.properties.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.properties.xtext" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.search.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.search.ui" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.textedit.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.textedit.collaborationuse.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.collaborationuse.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.common.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.common.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.connectionpointreference.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.connectionpointreference.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.message.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.message.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.parameter.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.parameter.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.property.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.property.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.state.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.state.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.transition.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.transition.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.javaconstraint" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.port.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.port.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.valuespecification.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.valuespecification.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.valuespecification.xtext.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.stereotypeproperty.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.stereotypeproperty.xtext.ui" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.tools.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.tools.extendedtypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.tools.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.tools" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.ui.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.ui" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.uml.xtext.integration.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.uml.xtext.integration.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.xtext.integration.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.xtext.integration.validation" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.views.modelexplorer.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.views.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer.resourceloading" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer.newchild" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.views.properties.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.views.properties" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.views.search.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.views.search" version="1.1.3"/>
+ </feature>
+ <feature name="org.eclipse.papyrus.views.validation.feature" version="1.1.3">
+ <plugin name="org.eclipse.papyrus.views.validation" version="1.1.3"/>
+ </feature>
+ <plugin name="ca.odell.glazedlists" version="1.9.0"/>
+ <plugin name="com.google.guava" version="15.0.0"/>
+ <plugin name="org.eclipse.nebula.widgets.nattable.core" version="1.4.0"/>
+ <plugin name="org.eclipse.nebula.widgets.nattable.extension.glazedlists" version="1.4.0"/>
+ <plugin name="org.eclipse.papyrus.cdo.ui.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.copypaste.ui.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.extendedtypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.extendedtypes.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.extendedtypes.uml" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.palette" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.paletteconfiguration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.properties.generation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.customization.properties.model.xwt" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.dsml.validation.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.eclipse.project.editors" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.aggregate.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.common.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.common.sdk.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.common.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.metamodel.editor.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.sdk.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.custom.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.catalog" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.metamodel.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.efacet.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.java.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.ocl.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.ocl.metamodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.query.ocl.sdk.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.catalog" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.emf.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.jface.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.pde.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.swt" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.util.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.widgets.celleditors" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.emf.facet.widgets.celleditors.ecore" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.extensionpoints.editors" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.constraints.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.log" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.pluginexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.sasheditor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.sasheditor.di" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.core.sashwindows.di" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.discovery" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.discovery.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.discovery.ui.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.editor.welcome" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.editor.welcome.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.emf.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.elementtypesconfigurations.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.appearance" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.diagram.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.gmf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.emf.readonly" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.extendedtypes.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.filters" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.filters.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.assistant.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.canonical" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.commands" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.common.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.configuration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.model" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css.theme" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css3.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.dnd" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.expansion.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.expansion.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.export" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.gef" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.hyperlink" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.outline" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.preferences" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.viewersearcher" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.welcome" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.gmfdiag.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.hyperlink" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.gmfdiag" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.model" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.model.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.model.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.views.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.nattable.views.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.newchild" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.newchild.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.newchild.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.onefile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.onefile.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.properties.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.psf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.controlmode.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.controlmode.history" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.decoration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.edit.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.labelprovider" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.localizer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.markerlistener" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.openelement" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.resourceloading" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.resourceloading.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.semantic" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.validation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.viewersearch" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.services.viewlabelprovider" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.sync" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.tools" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.ui.emf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.ui.resources" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.configuration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.configuration.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.configuration.editor" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.iso42010" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.iso42010.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.policy" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.viewpoints.preferences" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.infra.widgets.toolbox" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.layers.documentation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.req.reqif.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.blockdefinition" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.css" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.internalblock" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.parametric" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.requirement" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.diagram.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.allocation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.allocation.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.requirement" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.nattable.requirement.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.sysml.service.types" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.common.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.libraries" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.to.fuml" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.alf.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.appearance" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.commands" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.controlmode.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.controlmode" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.decoratormodel.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.activity" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.clazz" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common.groups" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.common.palette.customaction" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.communication" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.component" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.composite" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.css" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.css.palette" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.deployment" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.dnd" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.emftree" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.icons" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.interactionoverview" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.linklf" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.paletteconfiguration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.paletteconfiguration.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.profile.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.sequence" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.statemachine" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.stereotype.edition" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.symbols" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.symbols.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.timing" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.usecase" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.diagram.wizards" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.documentation.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.elementtypesconfigurations" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.extensionpoints" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.filters" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.filters.edit" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.icons" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.import" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelexplorer.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelrepair" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.modelrepair.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.clazz.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.generic" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.generic.config" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.menu" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.stereotype.display" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.xtext.integration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.nattable.xtext.valuespecification" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.navigation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.oclconstraintevaluation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.perspective" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.assistants.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.assistants.generator" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.assistants.generator.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.drafter" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.drafter.documentation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.elementtypesconfigurations.generator.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.newchildmenu.generator" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.profile.newchildmenu.generator.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.properties.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.resourceloading.profile" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.search.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.search.ui.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.service.types" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.service.types.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.service.validation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.services.decoration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.templaterepository" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.collaborationuse.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.collaborationuse.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.common.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.common.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.connectionpointreference.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.connectionpointreference.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.javaconstraint" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.message.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.message.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.parameter.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.parameter.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.port.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.port.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.property.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.property.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.state.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.state.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.stereotypeproperty.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.stereotypeproperty.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.transition.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.transition.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.valuespecification.xtext" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.valuespecification.xtext.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.textedit.valuespecification.xtext.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.tools" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.tools.extendedtypes" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.tools.utils" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.ui.perspectiveconfiguration" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.xtext.integration.core" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.xtext.integration.ui" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.uml.xtext.integration.validation" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer.newchild" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer.resourceloading" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.modelexplorer.widgets" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.properties" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.properties.doc" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.search" version="1.1.3"/>
+ <plugin name="org.eclipse.papyrus.views.validation" version="1.1.3"/>
+
+ <plugin name="org.eclipse.papyrus.releng.main.release" version="1.1.3"/>
+</release>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.tools/.project b/plugins/developer/org.eclipse.papyrus.releng.tools/.project
index b85bc70e191..122ecdcca98 100644
--- a/plugins/developer/org.eclipse.papyrus.releng.tools/.project
+++ b/plugins/developer/org.eclipse.papyrus.releng.tools/.project
@@ -1,34 +1,51 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.releng.tools</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.releng.tools</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>net.sf.eclipsecs.core.CheckstyleBuilder</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>ignore.missing.dependency.ranges</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>release.path</key>
+ <value>/org.eclipse.papyrus.releng.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.releng.tools/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.releng.tools/META-INF/MANIFEST.MF
index 6f654e72da3..3780cc3872b 100644
--- a/plugins/developer/org.eclipse.papyrus.releng.tools/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.releng.tools/META-INF/MANIFEST.MF
@@ -1,21 +1,17 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.emf.ecore;bundle-version="2.6.0",
- org.eclipse.ui,
- org.eclipse.core.resources,
- org.eclipse.b3.aggregator;bundle-version="0.2.0",
- org.eclipse.b3.aggregator.legacy;bundle-version="0.2.0",
- org.eclipse.oomph.setup.targlets;bundle-version="1.1.0",
- org.eclipse.oomph.p2;bundle-version="1.1.0",
- org.eclipse.emf.edit;bundle-version="2.10.0",
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.oomph.workingsets;bundle-version="1.1.0",
- org.eclipse.oomph.setup.workingsets;bundle-version="1.1.0"
-Bundle-Vendor: %Bundle-Vendor
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %Bundle-Name
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.releng.tools.internal.Activator
-Bundle-SymbolicName: org.eclipse.papyrus.releng.tools;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
+ org.eclipse.b3.aggregator;bundle-version="[0.2.0,1.0.0)",
+ org.eclipse.b3.aggregator.legacy;bundle-version="[0.2.0,1.0.0)",
+ org.eclipse.oomph.setup.targlets;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)",
+ com.google.guava;bundle-version="11.0.0",
+ org.eclipse.oomph.setup.workingsets;bundle-version="[1.3.0,2.0.0)"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.releng.tools.internal.Activator
+Bundle-SymbolicName: org.eclipse.papyrus.releng.tools;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/developer/org.eclipse.papyrus.uml.developer.mde/.project b/plugins/developer/org.eclipse.papyrus.uml.developer.mde/.project
index b293060ac8b..6a9d9eb813b 100644
--- a/plugins/developer/org.eclipse.papyrus.uml.developer.mde/.project
+++ b/plugins/developer/org.eclipse.papyrus.uml.developer.mde/.project
@@ -1,28 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.papyrus.uml.developer.mde</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.developer.mde</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</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.dev.release/release.xml</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.oomph.version.VersionNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/developer/org.eclipse.papyrus.uml.developer.mde/META-INF/MANIFEST.MF b/plugins/developer/org.eclipse.papyrus.uml.developer.mde/META-INF/MANIFEST.MF
index 5800a5549da..a5673891985 100644
--- a/plugins/developer/org.eclipse.papyrus.uml.developer.mde/META-INF/MANIFEST.MF
+++ b/plugins/developer/org.eclipse.papyrus.uml.developer.mde/META-INF/MANIFEST.MF
@@ -1,33 +1,22 @@
-Manifest-Version: 1.0
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.2.0",
- org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.papyrus.uml.diagram.wizards;bundle-version="1.2.0",
- org.eclipse.uml2.uml,
- org.eclipse.papyrus.infra.emf;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core;bundle-version="1.2.0",
- org.eclipse.papyrus.editor;bundle-version="1.2.0",
- org.eclipse.gmf.runtime.notation.edit,
- org.eclipse.gmf.runtime.diagram.ui,
- org.eclipse.gmf.runtime.diagram.ui.render,
- org.eclipse.papyrus.views.modelexplorer;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.2.0",
- org.eclipse.core.resources,
- org.eclipse.papyrus.infra.hyperlink;bundle-version="1.2.0",
- org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
- org.eclipse.emf.ecore.edit;bundle-version="2.9.0",
- org.eclipse.papyrus.infra.tools;bundle-version="1.2.0",
- com.google.guava;bundle-version="11.0.0",
- org.eclipse.uml2.uml.profile.standard;bundle-version="1.0.100",
- org.eclipse.papyrus.infra.ui;bundle-version="1.2.0"
-Bundle-Vendor: %providerName
-Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
-Bundle-Name: %pluginName
-Bundle-Localization: plugin
-Bundle-ManifestVersion: 2
-Bundle-Activator: org.eclipse.papyrus.uml.developper.mde.Activator
-Bundle-Description: %pluginDescription
-Bundle-SymbolicName: org.eclipse.papyrus.uml.developer.mde;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.7
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.papyrus.uml.extensionpoints;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.emf;bundle-version="[2.6.0,3.0.0)",
+ org.eclipse.papyrus.uml.diagram.wizards;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.editor;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.hyperlink;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.0,2.0.0)"
+Bundle-Vendor: %providerName
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: %pluginName
+Bundle-Localization: plugin
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.papyrus.uml.developper.mde.Activator
+Bundle-Description: %pluginDescription
+Bundle-SymbolicName: org.eclipse.papyrus.uml.developer.mde;singleton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7

Back to the top