diff options
Diffstat (limited to 'plugins/infra/core')
12 files changed, 228 insertions, 67 deletions
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF b/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF index 7d28645a912..c8635206ed3 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF @@ -4,7 +4,7 @@ Export-Package: org.eclipse.papyrus.infra.core, org.eclipse.papyrus.infra.core.editor, org.eclipse.papyrus.infra.core.extension, org.eclipse.papyrus.infra.core.internal.expressions;x-internal:=true, - org.eclipse.papyrus.infra.core.internal.language;x-internal:=true, + org.eclipse.papyrus.infra.core.internal.language;x-friends:="org.eclipse.papyrus.infra.emf", org.eclipse.papyrus.infra.core.internal.sashmodel;x-internal:=true, org.eclipse.papyrus.infra.core.language, org.eclipse.papyrus.infra.core.listenerservice, @@ -29,7 +29,7 @@ Require-Bundle: org.eclipse.emf.workspace;bundle-version="[1.5.0,2.0.0)", org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)";visibility:=reexport Bundle-Vendor: %providerName Bundle-ActivationPolicy: lazy -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.2.0.qualifier Bundle-Name: %pluginName Bundle-Localization: plugin Bundle-Activator: org.eclipse.papyrus.infra.core.Activator diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/plugin.xml b/plugins/infra/core/org.eclipse.papyrus.infra.core/plugin.xml index cb8e66e2229..5002ac0231a 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/plugin.xml +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/plugin.xml @@ -24,6 +24,10 @@ description="Main Papyrus IModel" fileExtension="di" required="true"> + <modelSnippet + classname="org.eclipse.papyrus.infra.core.resource.AdjunctResourceModelSnippet" + description="Snippet for DI resource of referenced model resources"> + </modelSnippet> </model> </extension> <extension diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml b/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml index 505d993b1c3..2524dc5f316 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/pom.xml @@ -7,6 +7,6 @@ <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.papyrus.infra.core</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.2.0-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
\ No newline at end of file diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/ILanguageModel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/ILanguageModel.java new file mode 100644 index 00000000000..8e25eb2bc31 --- /dev/null +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/ILanguageModel.java @@ -0,0 +1,32 @@ +/***************************************************************************** + * 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.infra.core.internal.language; + +import org.eclipse.papyrus.infra.core.language.ILanguage; +import org.eclipse.papyrus.infra.core.resource.IModel; + +/** + * An adapter type for {@link IModel}s that provide language-specific details + * about themselves. + */ +public interface ILanguageModel { + /** + * Obtains a model's file extension. This identifies resources that + * are expected to contain "semantic model" content for some {@link ILanguage}. + * Language models are expected to have file extensions associated with them. + * + * @return the model's file extension + */ + String getModelFileExtension(); +} diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractBaseModel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractBaseModel.java index 6aa34544b9d..40c057e37ba 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractBaseModel.java +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractBaseModel.java @@ -10,7 +10,7 @@ * CEA LIST - Initial API and implementation * Christian W. Damus (CEA) - manage models by URI, not IFile (CDO) * Christian W. Damus (CEA) - bug 437052 - * Christian W. Damus - bugs 399859, 481149, 485220 + * Christian W. Damus - bugs 399859, 481149, 485220, 496299 * *****************************************************************************/ package org.eclipse.papyrus.infra.core.resource; @@ -32,6 +32,7 @@ import org.eclipse.emf.ecore.xmi.XMIResource; import org.eclipse.emf.ecore.xmi.XMLResource; import org.eclipse.emf.ecore.xmi.impl.URIHandlerImpl.PlatformSchemeAware; import org.eclipse.papyrus.infra.core.Activator; +import org.eclipse.papyrus.infra.core.internal.language.ILanguageModel; /** * An abstract implementation of model. This class should be subclassed to fit @@ -276,7 +277,7 @@ public abstract class AbstractBaseModel extends AbstractModel implements IVersio } public static Map<Object, Object> getDefaultSaveOptions() { - Map<Object, Object> saveOptions = new HashMap<Object, Object>(); + Map<Object, Object> saveOptions = new HashMap<>(); // default save options. saveOptions.put(XMLResource.OPTION_DECLARE_XML, Boolean.TRUE); @@ -298,7 +299,7 @@ public abstract class AbstractBaseModel extends AbstractModel implements IVersio @Override public void saveCopy(IPath targetPathWithoutExtension, Map<Object, Object> targetMap) { // OutputStream targetStream = getOutputStream(targetPath); - Map<Object, Object> saveOptions = new HashMap<Object, Object>(); + Map<Object, Object> saveOptions = new HashMap<>(); URI targetURI = getTargetURI(targetPathWithoutExtension); @@ -461,4 +462,25 @@ public abstract class AbstractBaseModel extends AbstractModel implements IVersio return object.eContainer() == null; } + /** + * @since 2.1 + */ + @Override + public <T> T getAdapter(Class<T> adapter) { + T result = null; + + if (adapter == ILanguageModel.class) { + result = adapter.cast(new ILanguageModel() { + + @Override + public String getModelFileExtension() { + return AbstractBaseModel.this.getModelFileExtension(); + } + }); + } else { + result = super.getAdapter(adapter); + } + + return result; + } } diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractModelWithSharedResource.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractModelWithSharedResource.java index 748ab35ed26..884a997c7e4 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractModelWithSharedResource.java +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AbstractModelWithSharedResource.java @@ -8,7 +8,7 @@ * * Contributors: * LIFL - Initial API and implementation - * Christian W. Damus - bug 485220 + * Christian W. Damus - bugs 485220, 496299 * *****************************************************************************/ package org.eclipse.papyrus.infra.core.resource; @@ -80,6 +80,7 @@ public abstract class AbstractModelWithSharedResource<T extends EObject> extends // Check if model is loaded. if (resourceIsSet()) { configureResource(resource); + startSnippets(); return; } // model is not loaded, do it. @@ -192,7 +193,7 @@ public abstract class AbstractModelWithSharedResource<T extends EObject> extends @SuppressWarnings("unchecked") public List<T> getModelRoots() { - List<T> roots = new ArrayList<T>(); + List<T> roots = new ArrayList<>(); for (EObject object : getResource().getContents()) { if (isModelRoot(object)) { diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AdjunctResourceModelSnippet.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AdjunctResourceModelSnippet.java new file mode 100644 index 00000000000..46a6003edc5 --- /dev/null +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/AdjunctResourceModelSnippet.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.infra.core.resource; + +import java.util.Collections; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.URIConverter; +import org.eclipse.papyrus.infra.core.Activator; + +/** + * An {@link IModel} snippet that loads the model's corresponding resource + * whenever a "primary" semantic resource is loaded that has a resource + * corresponding to it that is managed by the {@code IModel}. + * + * @since 2.1 + */ +public class AdjunctResourceModelSnippet implements IModelSnippet { + private EMFLogicalModel model; + private Adapter adapter; + + /** + * Initializes me. + */ + public AdjunctResourceModelSnippet() { + super(); + } + + + @Override + public void start(IModel startingModel) { + if (startingModel instanceof EMFLogicalModel) { + model = (EMFLogicalModel) startingModel; + + adapter = new ResourceAdapter() { + @Override + protected void handleResourceLoaded(Resource resource) { + maybeLoadAdjunctResource(resource); + } + }; + + model.getModelManager().eAdapters().add(adapter); + } + } + + @Override + public void dispose(IModel stoppingModel) { + if ((stoppingModel == model) && (adapter != null)) { + model.getModelManager().eAdapters().remove(adapter); + adapter = null; + model = null; + } + } + + void maybeLoadAdjunctResource(Resource resource) { + // If the parameter resource is the model's own kind of resource, + // then there is nothing to do + if ((model != null) && !model.isRelatedResource(resource)) { + URI adjunctURI = resource.getURI().trimFileExtension().appendFileExtension(model.getModelFileExtension()); + ResourceSet resourceSet = resource.getResourceSet(); + + boolean adjunctAlreadyLoaded = false; + for (Resource loadedResource : resourceSet.getResources()) { + if (loadedResource.getURI().equals(adjunctURI)) { + adjunctAlreadyLoaded = true; + break; + } + } + + if (!adjunctAlreadyLoaded && (resourceSet.getURIConverter() != null)) { + URIConverter converter = resourceSet.getURIConverter(); + + // If the di resource associated to the parameter resource exists, + // then load it + if (converter.exists(adjunctURI, Collections.emptyMap())) { + // Best effort load. This must not interfere with other + // resource set operations + try { + resourceSet.getResource(adjunctURI, true); + } catch (Exception e) { + Activator.log.error( + String.format("Failed to load %s resource", model.getModelFileExtension()), //$NON-NLS-1$ + e); + } + } + } + } + } + +} diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelsReader.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelsReader.java index d64dc7bffb0..249ce9a72ee 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelsReader.java +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelsReader.java @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (c) 2011, 2014 CEA LIST and others. + * Copyright (c) 2011, 2016 CEA LIST, Christian W. Damus, and others. * * * All rights reserved. This program and the accompanying materials @@ -10,6 +10,7 @@ * Contributors: * CEA LIST - Initial API and implementation * Christian W. Damus (CEA) - bug 429242 + * Christian W. Damus - bug 496299 * *****************************************************************************/ package org.eclipse.papyrus.infra.core.resource; @@ -18,6 +19,7 @@ import static org.eclipse.papyrus.infra.core.Activator.log; import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedHashSet; import java.util.List; import java.util.Objects; import java.util.Set; @@ -31,6 +33,7 @@ import org.eclipse.emf.common.util.URI; import org.eclipse.papyrus.infra.core.Activator; import org.eclipse.papyrus.infra.core.extension.ExtensionException; import org.eclipse.papyrus.infra.core.extension.ExtensionUtils; +import org.eclipse.papyrus.infra.tools.util.TypeUtils; import com.google.common.collect.Sets; @@ -191,7 +194,18 @@ public class ModelsReader extends ExtensionUtils { try { if (MODEL_ELEMENT_NAME.equals(ele.getName())) { IModel model = instanciateModel(ele); + + // Register the model + AbstractModel previous = TypeUtils.as(modelSet.getModel(model.getIdentifier()), AbstractModel.class); modelSet.registerModel(model); + + // We may be contributing to another model already registered + // under the same ID + model = modelSet.getModel(model.getIdentifier()); + if ((previous != null) && (previous != model)) { + inherit(model, previous); + } + addDeclaredModelSnippet(ele, model); addDeclaredDependencies(ele, model); log.debug("model loaded: '" + model.getClass().getName() + "'"); @@ -203,6 +217,21 @@ public class ModelsReader extends ExtensionUtils { } /** + * Let a {@code special} model inherit the snippets and dependencies from a + * more {@code general} model that it replaces in the model-set. + * + * @param special + * a specializing model + * @param general + * a more generalized model that it replaces + */ + private void inherit(IModel special, AbstractModel general) { + general.snippets.forEach(special::addModelSnippet); + special.setAfterLoadModelDependencies(general.getAfterLoadModelIdentifiers()); + special.setBeforeUnloadDependencies(general.getUnloadBeforeModelIdentifiers()); + } + + /** * Add ModelSet snippet * * @param modelSet @@ -316,11 +345,12 @@ public class ModelsReader extends ExtensionUtils { protected void addDeclaredDependencies(IConfigurationElement modelConfigurationElement, IModel model) { // Get children IConfigurationElement[] dependencyElements = modelConfigurationElement.getChildren(DEPENDENCY_ELEMENT_NAME); - List<String> afterLoadModelIdentifiers = null; - List<String> unloadBeforeModelIdentifiers = null; - for (IConfigurationElement dependencyElement : dependencyElements) { + // Ordering is important, obviously, but we mustn't have duplicates + LinkedHashSet<String> afterLoadModelIdentifiers = null; + LinkedHashSet<String> unloadBeforeModelIdentifiers = null; + for (IConfigurationElement dependencyElement : dependencyElements) { // init load after and unloadBefore IConfigurationElement[] loadAfterElements = dependencyElement.getChildren(LOAD_AFTER_ELEMENT_NAME); IConfigurationElement[] unloadBeforeElements = dependencyElement.getChildren(UNLOAD_BEFORE_ELEMENT_NAME); @@ -329,7 +359,11 @@ public class ModelsReader extends ExtensionUtils { String identifier = loadAfterElement.getAttribute(IDENTIFIER_ATTRIBUTE_NAME); if (identifier != null && identifier.length() > 0) { if (afterLoadModelIdentifiers == null) { - afterLoadModelIdentifiers = new ArrayList<String>(); + afterLoadModelIdentifiers = new LinkedHashSet<>(); + List<String> existing = model.getAfterLoadModelIdentifiers(); + if (existing != null) { + afterLoadModelIdentifiers.addAll(existing); + } } afterLoadModelIdentifiers.add(identifier); } @@ -339,7 +373,11 @@ public class ModelsReader extends ExtensionUtils { String identifier = unloadBeforeElement.getAttribute(IDENTIFIER_ATTRIBUTE_NAME); if (identifier != null && identifier.length() > 0) { if (unloadBeforeModelIdentifiers == null) { - unloadBeforeModelIdentifiers = new ArrayList<String>(); + unloadBeforeModelIdentifiers = new LinkedHashSet<>(); + List<String> existing = model.getUnloadBeforeModelIdentifiers(); + if (existing != null) { + unloadBeforeModelIdentifiers.addAll(existing); + } } unloadBeforeModelIdentifiers.add(identifier); } @@ -347,8 +385,12 @@ public class ModelsReader extends ExtensionUtils { } // all config elements have been parsed. sets the dependencies in the model - model.setAfterLoadModelDependencies(afterLoadModelIdentifiers); - model.setBeforeUnloadDependencies(unloadBeforeModelIdentifiers); + if (afterLoadModelIdentifiers != null) { + model.setAfterLoadModelDependencies(new ArrayList<>(afterLoadModelIdentifiers)); + } + if (unloadBeforeModelIdentifiers != null) { + model.setBeforeUnloadDependencies(new ArrayList<>(unloadBeforeModelIdentifiers)); + } } /** diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/DiModel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/DiModel.java index de2bb7ae32e..2f6a1cd2758 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/DiModel.java +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/DiModel.java @@ -1,5 +1,5 @@ /*****************************************************************************
- * Copyright (c) 2011, 2014 LIFL, CEA LIST, and others.
+ * Copyright (c) 2011, 2016 LIFL, CEA LIST, Christian W. Damus, and others.
*
*
* All rights reserved. This program and the accompanying materials
@@ -10,21 +10,18 @@ * Contributors:
* LIFL - Initial API and implementation
* Christian W. Damus (CEA) - bug 429242
+ * Christian W. Damus - bug 496299
*
*****************************************************************************/
package org.eclipse.papyrus.infra.core.resource.sasheditor;
-import java.util.Collections;
import java.util.Map;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
import org.eclipse.emf.ecore.xmi.XMIResource;
import org.eclipse.emf.ecore.xmi.XMLResource;
-import org.eclipse.papyrus.infra.core.Activator;
import org.eclipse.papyrus.infra.core.resource.AbstractModelWithSharedResource;
import org.eclipse.papyrus.infra.core.resource.IEMFModel;
import org.eclipse.papyrus.infra.core.resource.IModel;
@@ -131,47 +128,6 @@ public class DiModel extends AbstractModelWithSharedResource<EObject> implements }
- @Override
- public void handle(Resource resource) {
- super.handle(resource);
- if (resource == null) {
- return;
- }
-
- // If the parameter resource is already a di resource, nothing to do
- if (!isRelatedResource(resource)) {
- URI diUri = resource.getURI().trimFileExtension().appendFileExtension(DI_FILE_EXTENSION);
- ResourceSet resourceSet = getResourceSet();
-
- boolean diAlreadyLoaded = false;
- for (Resource loadedResource : resourceSet.getResources()) {
- if (loadedResource.getURI().equals(diUri)) {
- diAlreadyLoaded = true;
- break;
- }
- }
-
- if (!diAlreadyLoaded && resourceSet.getURIConverter() != null) {
- URIConverter converter = resourceSet.getURIConverter();
-
- // If the di resource associated to the parameter resource exists, load it
- if (converter.exists(diUri, Collections.emptyMap())) {
-
- // loadModel writes this.resource and this.resourceUri. In this case, when only want to load
- // the resource, but it should not become the main resource
-
- // Load with try/catch to remain consistent with loadModel()
- try {
- resourceSet.getResource(diUri, true);
- } catch (Exception ex) {
- Activator.log.error(ex);
- }
- }
-
- }
- }
- }
-
// Prevent infinite loop from 2 models delegating to each other.
private boolean checkingControlState = false;
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/JobBasedFuture.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/JobBasedFuture.java index f5fb41b133b..a7af91a37f2 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/JobBasedFuture.java +++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/utils/JobBasedFuture.java @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (c) 2014 Christian W. Damus and others. + * Copyright (c) 2014, 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 @@ -179,8 +179,8 @@ public abstract class JobBasedFuture<V> extends Job implements ListenableFuture< boolean result = isDone(); if (!result) { - Job current = Job.getJobManager().currentJob(); - if ((current == null) || (current.getRule() == null)) { + ISchedulingRule current = Job.getJobManager().currentRule(); + if (current == null) { result = uiSafeAwaitDone(timeoutMillis); } else { result = lockBasedAwaitDone(timeoutMillis); diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/META-INF/MANIFEST.MF b/plugins/infra/core/org.eclipse.papyrus.infra.tools/META-INF/MANIFEST.MF index 6db575046db..8fca886535b 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/META-INF/MANIFEST.MF +++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0) org.eclipse.core.resources;bundle-version="3.11.0" Bundle-Vendor: %Bundle-Vendor Bundle-ActivationPolicy: lazy -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.100.qualifier Eclipse-BuddyPolicy: dependent Bundle-Name: %Bundle-Name Bundle-Activator: org.eclipse.papyrus.infra.tools.Activator diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/pom.xml b/plugins/infra/core/org.eclipse.papyrus.infra.tools/pom.xml index 28f1cab8cac..252c49ec53f 100644 --- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/pom.xml +++ b/plugins/infra/core/org.eclipse.papyrus.infra.tools/pom.xml @@ -7,6 +7,6 @@ <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>org.eclipse.papyrus.infra.tools</artifactId> - <version>2.0.0-SNAPSHOT</version> + <version>2.0.100-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project>
\ No newline at end of file |