Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian W. Damus2016-02-11 21:38:52 +0000
committerChristian W. Damus2016-02-24 22:26:27 +0000
commit09fde7a4087685b065b7f1e40375686fb9f19f2a (patch)
tree36668c0515a08586179a74cefcf1dc6197311d70 /plugins/developer
parent2f0dd86c51f8543f56a99cd4371965a01287fcaa (diff)
downloadorg.eclipse.papyrus-09fde7a4087685b065b7f1e40375686fb9f19f2a.tar.gz
org.eclipse.papyrus-09fde7a4087685b065b7f1e40375686fb9f19f2a.tar.xz
org.eclipse.papyrus-09fde7a4087685b065b7f1e40375686fb9f19f2a.zip
Bug 485220: [Architecture] Provide a more modular architecture
https://bugs.eclipse.org/bugs/show_bug.cgi?id=485220 Implement version management: PDE API Tooling and Oomph Version Management. Introduce two new plug-in projects to manage versioning using Oomph: * org.eclipse.papyrus.releng.main.release for the Main bundles and features * org.eclipse.papyrus.releng.dev.release for the Dev Tools Add new menu actions to the Dev Tools: * main menu bar: * synchronize POM and manifest versions * "Configure" context menu on bundle projects and MANIFEST.MF * optimize bundle dependencies and re-exports * update dependency version ranges to match current workspace and PDE target Remove obsolete menu actions from the Dev Tools: * main menu bar: * Set all Papyrus feature versions * Set all Papyrus plug-in versions * Set versions of all Papyrus dependencies in Papyrus plug-ins Fix versioning errors reported by PDE and Oomph. Ensure proper version ranges consistent with latest build target. Optimize the dependencies of all Papyrus Main bundles and Dev Tools. Remove version- and reexport-checking tests in the BundlesTests that are now not needed because, on the one hand, we now implement discrete bundle versioning (managed by PDE/Oomph) and on the other, we now use re-exports properly to ensure classpath consistency in clients of a bundle's API. Thorough overhaul of the "project editors" API, including: * rationalize the API interfaces * refactor the all-in-one PluginEditor class from the customization bundle to the project-editors bundle * update clients in the Customization and DSML Validation components * fix a bunch of operations that didn't work * add missing operations required by the new Dev Tools actions * complete some unimplemented APIs * add a comprehensive JUnit test suite covering all of the project-editors API Change-Id: I6a699d93909f61099226ceb994140f03ea99a70f
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