diff options
28 files changed, 214 insertions, 369 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF index aa49bdda6e1..020680c55dd 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/META-INF/MANIFEST.MF @@ -1,6 +1,5 @@ Manifest-Version: 1.0
-Export-Package: org.eclipse.papyrus.acceleo,
- org.eclipse.papyrus.acceleo.extensions
+Export-Package: org.eclipse.papyrus.acceleo
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.acceleo.engine;bundle-version="3.2.2",
org.eclipse.acceleo.parser;bundle-version="3.2.2",
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties index f2e8d42a1b3..5f3abe40576 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/build.properties @@ -4,8 +4,7 @@ bin.includes = META-INF/,\ .,\ about.html,\ plugin.properties,\ - build.acceleo,\ - schema/ + build.acceleo output..=bin/ src.includes=about.html source..=src/ diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/plugin.xml b/extraplugins/codegen/org.eclipse.papyrus.acceleo/plugin.xml deleted file mode 100644 index 70f0b0af878..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.2"?> -<plugin> - <extension-point id="language" name="languageSupport" schema="schema/language.exsd"/> - </plugin> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/schema/language.exsd b/extraplugins/codegen/org.eclipse.papyrus.acceleo/schema/language.exsd deleted file mode 100644 index 9e7e950f59b..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/schema/language.exsd +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!-- Schema file written by PDE --> -<schema targetNamespace="org.eclipse.papyrus.qompass.designer.core" xmlns="http://www.w3.org/2001/XMLSchema"> -<annotation> - <appInfo> - <meta.schema plugin="org.eclipse.papyrus.qompass.designer.core" id="language" name="languageSupport"/> - </appInfo> - <documentation> - [Enter description of this extension point.] - </documentation> - </annotation> - - <element name="extension"> - <annotation> - <appInfo> - <meta.element /> - </appInfo> - </annotation> - <complexType> - <choice minOccurs="0" maxOccurs="unbounded"> - <element ref="client"/> - </choice> - <attribute name="point" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="id" type="string"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="name" type="string"> - <annotation> - <documentation> - - </documentation> - <appInfo> - <meta.attribute translatable="true"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <element name="client"> - <complexType> - <attribute name="language" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - </annotation> - </attribute> - <attribute name="class" type="string" use="required"> - <annotation> - <documentation> - - </documentation> - <appInfo> - <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.qompass.designer.core.ILangSupport"/> - </appInfo> - </annotation> - </attribute> - </complexType> - </element> - - <annotation> - <appInfo> - <meta.section type="since"/> - </appInfo> - <documentation> - [Enter the first release in which this extension point appears.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="examples"/> - </appInfo> - <documentation> - [Enter extension point usage example here.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="apiinfo"/> - </appInfo> - <documentation> - [Enter API information here.] - </documentation> - </annotation> - - <annotation> - <appInfo> - <meta.section type="implementation"/> - </appInfo> - <documentation> - [Enter information about supplied implementation of this extension point.] - </documentation> - </annotation> - - -</schema> diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/Messages.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/Messages.java index b25719f6106..a3867d5466d 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/Messages.java +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/Messages.java @@ -4,7 +4,6 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { private static final String BUNDLE_NAME = "org.eclipse.papyrus.acceleo.messages"; //$NON-NLS-1$ - public static String LanguageSupport_LanguageNotSupported; public static String ModelElementsCreator_UnsupportedModelElement; static { // initialize resource bundle diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java index bcd1e2a6c19..b0d072d74a2 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/ModelElementsCreator.java @@ -102,7 +102,8 @@ abstract public class ModelElementsCreator { protected IProject project;
/**
- * Main function for user calls. Creates code for a packageable element.
+ * Main function for user calls. Creates code for a packageable element. In case of a passed package, the contained elements
+ * are generated recursively.
*
* @param monitor
* a progress monitor
@@ -112,7 +113,7 @@ abstract public class ModelElementsCreator { */
public void createPackageableElement(IProgressMonitor monitor, PackageableElement element) throws CoreException {
IContainer packageContainer = getContainer(element);
- createPackageableElement(packageContainer, monitor, element);
+ createPackageableElement(packageContainer, monitor, element, true);
}
/**
@@ -127,9 +128,9 @@ abstract public class ModelElementsCreator { * the element for which code should be generated
* @throws CoreException
*/
- public void createPackageableElement(IContainer packageContainer, IProgressMonitor monitor, PackageableElement element) throws CoreException {
+ public void createPackageableElement(IContainer packageContainer, IProgressMonitor monitor, PackageableElement element, boolean recursive) throws CoreException {
if(element instanceof Package) {
- createPackage(packageContainer, monitor, (Package)element);
+ createPackage(packageContainer, monitor, (Package)element, recursive);
}
else if((element instanceof PrimitiveType) || (element instanceof Enumeration) || (element instanceof Usage)) {
// do nothing, included in package
@@ -249,7 +250,7 @@ abstract public class ModelElementsCreator { * the package for which code should be created
* @throws CoreException
*/
- protected void createPackage(IContainer packageContainer, IProgressMonitor monitor, Package pkg) throws CoreException {
+ protected void createPackage(IContainer packageContainer, IProgressMonitor monitor, Package pkg, boolean recurse) throws CoreException {
if (monitor != null) {
monitor.subTask("generate package " + pkg.getQualifiedName()); //$NON-NLS-1$
}
@@ -266,11 +267,11 @@ abstract public class ModelElementsCreator { createPackageFiles(packageContainer, monitor, pkg);
- // Continue generation parsing package content
- // If CppNoCodeGen on package, it applies to its content
-
- for(PackageableElement currentElement : pkg.getPackagedElements()) {
- createPackageableElement(packageContainer, monitor, currentElement);
+ if (recurse) {
+ // Continue generation parsing package contents
+ for(PackageableElement currentElement : pkg.getPackagedElements()) {
+ createPackageableElement(packageContainer, monitor, currentElement, recurse);
+ }
}
}
}
diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/extensions/ILangSupport.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/extensions/ILangSupport.java deleted file mode 100644 index ffd1621d277..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/extensions/ILangSupport.java +++ /dev/null @@ -1,98 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 CEA LIST. - * 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: - * CEA LIST - initial API and implementation - *******************************************************************************/ - -package org.eclipse.papyrus.acceleo.extensions; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.uml2.uml.Class; -import org.eclipse.uml2.uml.InstanceSpecification; -import org.eclipse.uml2.uml.PackageableElement; - -/** - * Interface used by Qompass extensions that support a specific programming language - */ -public interface ILangSupport { - - /** - * Create a project for a specific language and configure it (according to gathered configuration - * data before). In case of C/C++ for instance, a CDT project should be created, in case of Java, - * a JDT project. - * And implementation should call setProject and setSettings before returning the project - * - * @param projectName - * the named of the project - * @param node - * the node for which the project should be created - * @return the created project - */ - public IProject createProject(String projectName, InstanceSpecification node); - - /** - * Set project information - * - * @param project - * the project (must already been initialized) - */ - public void setProject(IProject project); - - public IProject getProject(); - - /** - * Re-create the project settings from model information - * - * @param node - * node for which settings should be set - * @throws TransformationException - */ - public void setSettings(InstanceSpecification node); - - /** - * Generate code for a specific language - * - * @param monitor - * a progress monitor - * @param element - * a packageable element, typically a classifier or a package - * - * @throws TransformationException - */ - public void generateCode(IProgressMonitor monitor, PackageableElement element); - - /** - * Clean the code for a certain element, i.e. remove code that has previously generated for this element - * This code is required for differential code generation which needs to remove elements for instance - * after they have been renamed. - * - * @param project - * project in which code should be generated - * @param element - * the element for which the generate code should be removed - * @throws TransformationException - */ - public void cleanCode(IProgressMonitor monitor, PackageableElement element); - - /** - * Reset gathered configuration data - * - * @see gatherConfigData - */ - public void resetConfigurationData(); - - - /** - * Gather configuration data from implementations, e.g. required include paths or libraries - * - * @param implementation - * a class copied to the target - */ - public void gatherConfigData(Class implementation); -} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/extensions/LanguageSupport.java b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/extensions/LanguageSupport.java deleted file mode 100644 index 6cdcf04775b..00000000000 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/extensions/LanguageSupport.java +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 CEA LIST. - * 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: - * CEA LIST - initial API and implementation - *******************************************************************************/ - -package org.eclipse.papyrus.acceleo.extensions; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.papyrus.acceleo.Activator; -import org.eclipse.papyrus.acceleo.Messages; - - -/** - * Support for multiple target languages via the Eclipse extension mechanism - */ -public class LanguageSupport { - - public static final String ILANG_SUPPORT_ID = Activator.PLUGIN_ID + ".language"; //$NON-NLS-1$ - - public static ILangSupport getLangSupport(String language) - { - IExtensionRegistry reg = Platform.getExtensionRegistry(); - IConfigurationElement[] configElements = reg.getConfigurationElementsFor(ILANG_SUPPORT_ID); - for(IConfigurationElement configElement : configElements) { - try { - final String extLanguage = configElement.getAttribute("language"); //$NON-NLS-1$ - if(extLanguage.equals(language)) { - // TODO: cache returned instance (avoid creating a new instance each time => more efficient, no need for static attributes) - final Object obj = configElement.createExecutableExtension("class"); //$NON-NLS-1$ - if(obj instanceof ILangSupport) { - return (ILangSupport)obj; - } - } - } catch (CoreException exception) { - exception.printStackTrace(); - } - } - throw new RuntimeException(String.format(Messages.LanguageSupport_LanguageNotSupported, language)); - } -} diff --git a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/messages.properties b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/messages.properties index a1fd22aef6b..ad6e5a9fa79 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/messages.properties +++ b/extraplugins/codegen/org.eclipse.papyrus.acceleo/src/org/eclipse/papyrus/acceleo/messages.properties @@ -1,2 +1 @@ -LanguageSupport_LanguageNotSupported=Support for language %s not configured ModelElementsCreator_UnsupportedModelElement=code generator: unsupported model element %s diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/META-INF/MANIFEST.MF index f0422fe489e..db5248274a4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/META-INF/MANIFEST.MF @@ -5,13 +5,14 @@ Require-Bundle: org.eclipse.ui, org.eclipse.emf.ecore,
org.eclipse.uml2.uml,
org.eclipse.cdt.ui,
- org.eclipse.papyrus.cpp.codegen;bundle-version="1.0.0",
org.eclipse.ui.ide,
org.eclipse.core.resources,
org.eclipse.cdt.managedbuilder.core;bundle-version="8.0.0",
org.eclipse.cdt.core;bundle-version="5.4.0",
org.eclipse.papyrus.acceleo;bundle-version="1.0.0",
- org.eclipse.papyrus.cpp.profile;bundle-version="1.0.0"
+ org.eclipse.papyrus.cpp.profile;bundle-version="1.0.0",
+ org.eclipse.papyrus.codegen.extensionpoints;bundle-version="1.0.0",
+ org.eclipse.papyrus.cpp.codegen;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.0.qualifier
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/plugin.xml b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/plugin.xml index f2f58f3324b..5852f0817dd 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/plugin.xml +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/plugin.xml @@ -2,14 +2,14 @@ <?eclipse version="3.2"?> <plugin> <extension - point="org.eclipse.papyrus.acceleo.language"> + point="org.eclipse.papyrus.codegen.extensionpoints.language"> <client class="org.eclipse.papyrus.cpp.cdtproject.CppLanguageSupport" language="C++"> </client> </extension> <extension - point="org.eclipse.papyrus.acceleo.language"> + point="org.eclipse.papyrus.codegen.extensionpoints.language"> <client class="org.eclipse.papyrus.cpp.cdtproject.CLanguageSupport" language="C"> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CLanguageSupport.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CLanguageSupport.java index cc4ff155a89..e69a470745f 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CLanguageSupport.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CLanguageSupport.java @@ -2,7 +2,7 @@ package org.eclipse.papyrus.cpp.cdtproject; import org.eclipse.core.resources.IProject; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.papyrus.acceleo.extensions.ILangSupport; +import org.eclipse.papyrus.codegen.extensionpoints.ILangSupport; import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenConstants; /** diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/C_CppLanguageSupport.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/C_CppLanguageSupport.java index 060cf8bcfa4..4e2c82aefb9 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/C_CppLanguageSupport.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/C_CppLanguageSupport.java @@ -26,7 +26,7 @@ import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.UniqueEList; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.papyrus.C_Cpp.ExternLibrary; -import org.eclipse.papyrus.acceleo.extensions.ILangSupport; +import org.eclipse.papyrus.codegen.extensionpoints.ILangSupport; import org.eclipse.papyrus.cpp.codegen.transformation.CppModelElementsCreator; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; @@ -34,7 +34,6 @@ import org.eclipse.ui.IWorkbench; import org.eclipse.ui.PlatformUI; import org.eclipse.uml2.uml.Class; import org.eclipse.uml2.uml.Element; -import org.eclipse.uml2.uml.InstanceSpecification; import org.eclipse.uml2.uml.Package; import org.eclipse.uml2.uml.PackageableElement; import org.eclipse.uml2.uml.util.UMLUtil; @@ -59,7 +58,7 @@ public class C_CppLanguageSupport implements ILangSupport { * @param projectName * @return */ - public IProject createProject(String projectName, InstanceSpecification node) + public IProject createProject(String projectName, String targetOS) { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); @@ -91,7 +90,7 @@ public class C_CppLanguageSupport implements ILangSupport { throw new RuntimeException("could not create CDT project ..."); //$NON-NLS-1$ } setProject(project); - setSettings(node); + setSettings(targetOS); return project; } @@ -103,7 +102,7 @@ public class C_CppLanguageSupport implements ILangSupport { return m_project; } - public void setSettings(InstanceSpecification node) + public void setSettings(String targetOS) { try { // ((CProject) project). @@ -129,19 +128,9 @@ public class C_CppLanguageSupport implements ILangSupport { // define name of used operating system from model (attribute of "Target" stereotype) // and add it to list of macros - /* - Target target = UMLUtil.getStereotypeApplication(node, Target.class); - if(target == null) { - // get information from node referenced by the instance - target = UMLUtil.getStereotypeApplication(DepUtils.getClassifier(node), Target.class); + if (targetOS != null) { + macros.add("OS_" + targetOS); //$NON-NLS-1$ } - if(target != null) { - OperatingSystem os = target.getUsedOS(); - if(os != null) { - macros.add("OS_" + os.getBase_Class().getName()); //$NON-NLS-1$ - } - } - */ // define macros EList<ICLanguageSettingEntry> icMacros = diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CppLanguageSupport.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CppLanguageSupport.java index bedad0060cf..a8f79a19a1a 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CppLanguageSupport.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.cdtproject/src/org/eclipse/papyrus/cpp/cdtproject/CppLanguageSupport.java @@ -2,7 +2,7 @@ package org.eclipse.papyrus.cpp.cdtproject; import org.eclipse.core.resources.IProject; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.papyrus.acceleo.extensions.ILangSupport; +import org.eclipse.papyrus.codegen.extensionpoints.ILangSupport; import org.eclipse.papyrus.cpp.codegen.preferences.CppCodeGenConstants; import org.eclipse.papyrus.cpp.codegen.transformation.CppModelElementsCreator; diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.settings/org.eclipse.jdt.core.prefs b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..c537b63063c --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF index ad797a366e5..e9f1ceb72c4 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/META-INF/MANIFEST.MF @@ -13,7 +13,8 @@ Require-Bundle: org.eclipse.ui, org.eclipse.papyrus.acceleo.ui;bundle-version="1.0.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
org.eclipse.papyrus.acceleo.ui;bundle-version="1.0.0",
- org.eclipse.core.resources
+ org.eclipse.core.resources,
+ org.eclipse.papyrus.codegen.extensionpoints;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.0.qualifier
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml index 6bdb3afbbe4..e9111f464b8 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/plugin.xml @@ -29,6 +29,16 @@ </command> </extension> <extension + point="org.eclipse.ui.commands"> + <command + description="Re-write CDT project settings" + categoryId="org.eclipse.papyrus.editor.category" + id="org.eclipse.papyrus.cpp.codegen.cdtproject" + defaultHandler="org.eclipse.papyrus.cpp.codegen.ui.handlers.CDTprojectHandler" + name="Configure CDT project"> + </command> + </extension> + <extension point="org.eclipse.ui.preferencePages"> <page category="org.eclipse.papyrus.infra.core.sasheditor.preferences.generalcategory" diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handlers/CDTprojectHandler.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handlers/CDTprojectHandler.java new file mode 100644 index 00000000000..87582af21dc --- /dev/null +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/handlers/CDTprojectHandler.java @@ -0,0 +1,81 @@ +/******************************************************************************* + * Copyright (c) 2013 CEA LIST + * + * 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: + * Ansgar Radermacher - Initial API and implementation + *******************************************************************************/ + +package org.eclipse.papyrus.cpp.codegen.ui.handlers; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.emf.common.util.URI; +import org.eclipse.papyrus.acceleo.ui.handlers.CmdHandler; +import org.eclipse.papyrus.codegen.extensionpoints.ILangSupport; +import org.eclipse.papyrus.codegen.extensionpoints.LanguageSupport; +import org.eclipse.papyrus.cpp.codegen.utils.LocateCppProject; +import org.eclipse.uml2.uml.Classifier; +import org.eclipse.uml2.uml.Package; +import org.eclipse.uml2.uml.PackageableElement; + +/** + * Handler for C++ code generation + */ +public class CDTprojectHandler extends CmdHandler { + + private static final String LANGUAGE_NAME = "C++"; //$NON-NLS-1$ + + // ------------------------------------------------------------------------ + // Execution + // ------------------------------------------------------------------------ + + @Override + public boolean isEnabled() { + updateSelectedEObject(); + + if (selectedEObject instanceof Package || selectedEObject instanceof Classifier) { + URI uri = selectedEObject.eResource().getURI(); + + // URIConverter uriConverter = resource.getResourceSet().getURIConverter(); + IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); + if(uri.segmentCount() < 2) { + return false; + } + IProject modelProject = root.getProject(uri.segment(1)); + return modelProject.exists(); + } + + return false; + } + + public Object execute(ExecutionEvent event) throws ExecutionException { + + if(selectedEObject instanceof PackageableElement) { + PackageableElement pe = (PackageableElement)selectedEObject; + + IProject modelProject = LocateCppProject.getTargetProject(pe, true); + if(modelProject == null) { + return null; + } + + // get the container for the current element + ILangSupport langSupport = LanguageSupport.getLangSupport(LANGUAGE_NAME); + if (langSupport != null) { + langSupport.resetConfigurationData(); + langSupport.setSettings(null); + } + else { + return null; + } + } + return null; + } +} diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java index 7278b7d9ab4..7c77a01a07a 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen.ui/src/org/eclipse/papyrus/cpp/codegen/ui/preferences/CodegenPreferencePage.java @@ -86,6 +86,8 @@ public class CodegenPreferencePage extends FieldEditorPreferencePage implements "Suffix for C++ header files ", getFieldEditorParent())); addField(new StringFieldEditor(CppCodeGenConstants.P_IMPLEM_SUFFIX, "Suffix for C++ implementation files ", getFieldEditorParent())); + addField(new StringFieldEditor(CppCodeGenConstants.P_PROJECT_PREFIX, + "Prefix for generated C++ (CDT) projects ", getFieldEditorParent())); // Add P_COMMENT_HEADER addTextField(CppCodeGenConstants.P_COMMENT_HEADER, "Header for generated files", diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF index c1cf9535f5a..8832f7d4793 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/META-INF/MANIFEST.MF @@ -9,7 +9,9 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.filesystem;bundle-version="1.3.200",
org.eclipse.papyrus.acceleo;bundle-version="1.0.0",
org.eclipse.cdt.core;resolution:=optional,
- org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0"
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="1.0.0",
+ org.eclipse.papyrus.codegen.extensionpoints;bundle-version="1.0.0"
Export-Package: org.eclipse.papyrus.cpp.codegen;uses:="org.eclipse.ui.plugin,org.osgi.framework,org.eclipse.uml2.uml",
org.eclipse.papyrus.cpp.codegen.preferences;uses:="org.eclipse.jface.preference,org.eclipse.core.runtime.preferences",
org.eclipse.papyrus.cpp.codegen.transformation;
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl index 31678662463..f3905cb70d3 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.emtl @@ -97,16 +97,8 @@ <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> - <definition href="CppIncludeUtils.emtl#/0/CppIncludeBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </argument> - </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> - <body xsi:type="mtl:TemplateInvocation"> - <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="Constants.emtl#/0/constDerivedIncludes"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/12"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> </argument> </body> @@ -115,7 +107,7 @@ <body xsi:type="mtl:TemplateInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="CppIncludeUtils.emtl#/0/IncludeDirective"/> - <argument xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/CppClassBody/%.15/path"> + <argument xsi:type="ocl.ecore:VariableExp" name="path" referredVariable="/0/CppClassBody/%.13/path"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </argument> </body> @@ -123,11 +115,11 @@ <loopVariable name="path"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> </loopVariable> - <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/13/OrderedSet(String)"> - <source xsi:type="ocl.ecore:OperationCallExp" eType="/13/Sequence(String)"> - <source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(String)"> + <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/12/OrderedSet(String)"> + <source xsi:type="ocl.ecore:OperationCallExp" eType="/12/Sequence(String)"> + <source xsi:type="mtl:QueryInvocation" eType="/12/Sequence(String)"> <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppClassAllIncludesDeclarationBody"/> - <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14"> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> </argument> </source> @@ -137,6 +129,14 @@ </iterSet> </body> <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <body xsi:type="mtl:TemplateInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="CppIncludeUtils.emtl#/0/CppIncludeBody"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

"/> <body xsi:type="mtl:QueryInvocation"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <definition href="../utils/CppGenUtils.emtl#/0/openNS"/> @@ -503,9 +503,6 @@ <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> </ocl.ecore:Variable> - <ocl.ecore:Variable name="self"> - <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> - </ocl.ecore:Variable> <ecore:EPackage name="collections"> <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List"> <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> @@ -548,6 +545,9 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> </ocl.ecore:Variable> <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> </ocl.ecore:Variable> <ecore:EAnnotation source="positions"> @@ -698,7 +698,7 @@ </eAnnotations> <eAnnotations source="positions.29" references="/0/CppClassBody/%.11"> <details key="start" value="1138"/> - <details key="end" value="1154"/> + <details key="end" value="1160"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.30" references="/0/CppClassBody/%.11/self"> @@ -707,72 +707,72 @@ <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.31" references="/0/CppClassBody/%.12"> - <details key="start" value="1156"/> - <details key="end" value="1158"/> + <details key="start" value="1162"/> + <details key="end" value="1163"/> <details key="line" value="26"/> </eAnnotations> <eAnnotations source="positions.32" references="/0/CppClassBody/%.13"> - <details key="start" value="1159"/> - <details key="end" value="1181"/> + <details key="start" value="1163"/> + <details key="end" value="1284"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/CppClassBody/%.13/%"> + <details key="start" value="1252"/> + <details key="end" value="1275"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.33" references="/0/CppClassBody/%.13/self"> - <details key="start" value="-1"/> - <details key="end" value="-1"/> + <eAnnotations source="positions.34" references="/0/CppClassBody/%.13/%/path"> + <details key="start" value="1252"/> + <details key="end" value="1256"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.34" references="/0/CppClassBody/%.14"> - <details key="start" value="1183"/> - <details key="end" value="1184"/> + <eAnnotations source="positions.35" references="/0/CppClassBody/%.13/%.1"> + <details key="start" value="1277"/> + <details key="end" value="1278"/> <details key="line" value="28"/> </eAnnotations> - <eAnnotations source="positions.35" references="/0/CppClassBody/%.15"> - <details key="start" value="1184"/> - <details key="end" value="1305"/> - <details key="line" value="28"/> + <eAnnotations source="positions.36" references="/0/CppClassBody/%.13/path"> + <details key="start" value="1169"/> + <details key="end" value="1182"/> + <details key="line" value="26"/> </eAnnotations> - <eAnnotations source="positions.36" references="/0/CppClassBody/%.15/%"> - <details key="start" value="1273"/> - <details key="end" value="1296"/> + <eAnnotations source="positions.37" references="/0/CppClassBody/%.13/%.2"> + <details key="start" value="1185"/> + <details key="end" value="1248"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.37" references="/0/CppClassBody/%.15/%/path"> - <details key="start" value="1273"/> - <details key="end" value="1277"/> + <eAnnotations source="positions.38" references="/0/CppClassBody/%.13/%.2/%"> + <details key="start" value="1185"/> + <details key="end" value="1232"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.38" references="/0/CppClassBody/%.15/%.1"> - <details key="start" value="1298"/> - <details key="end" value="1299"/> - <details key="line" value="30"/> - </eAnnotations> - <eAnnotations source="positions.39" references="/0/CppClassBody/%.15/path"> - <details key="start" value="1190"/> - <details key="end" value="1203"/> - <details key="line" value="28"/> - </eAnnotations> - <eAnnotations source="positions.40" references="/0/CppClassBody/%.15/%.2"> - <details key="start" value="1206"/> - <details key="end" value="1269"/> + <eAnnotations source="positions.39" references="/0/CppClassBody/%.13/%.2/%/%"> + <details key="start" value="1185"/> + <details key="end" value="1221"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.41" references="/0/CppClassBody/%.15/%.2/%"> - <details key="start" value="1206"/> - <details key="end" value="1253"/> + <eAnnotations source="positions.40" references="/0/CppClassBody/%.13/%.2/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.42" references="/0/CppClassBody/%.15/%.2/%/%"> - <details key="start" value="1206"/> - <details key="end" value="1242"/> + <eAnnotations source="positions.41" references="/0/CppClassBody/%.14"> + <details key="start" value="1285"/> + <details key="end" value="1286"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/CppClassBody/%.15"> + <details key="start" value="1287"/> + <details key="end" value="1303"/> <details key="line" value="0"/> </eAnnotations> - <eAnnotations source="positions.43" references="/0/CppClassBody/%.15/%.2/%/%/self"> + <eAnnotations source="positions.43" references="/0/CppClassBody/%.15/self"> <details key="start" value="-1"/> <details key="end" value="-1"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.44" references="/0/CppClassBody/%.16"> - <details key="start" value="1306"/> + <details key="start" value="1305"/> <details key="end" value="1307"/> <details key="line" value="31"/> </eAnnotations> diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl index f3ab44b4861..af47e965998 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/CppClassBody.mtl @@ -22,13 +22,13 @@ [constIncludeHFile()/] [IncludeDirective( getNearestPackage().getFullPath() + '/' + class.name + '.' + getHeaderSuffix() )/] -[CppIncludeBody()/] - [constDerivedIncludes()/] [for (path : String | CppClassAllIncludesDeclarationBody()->flatten()->asOrderedSet())] [path.IncludeDirective()/] [/for] +[CppIncludeBody()/] + [openNS(class)/] [CppStaticAttributes(class)/] [if not isTemplate()] diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java index 807effc4dc1..1aab3893c60 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java +++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/utils/CppGenUtils.java @@ -152,8 +152,9 @@ public class CppGenUtils { } for(Namespace ns : ne.allNamespaces()) { - // don't add top-level - if(ns.getOwner() != null) { + // don't add qualified name for specific top-level namespace "root". + // TODO: specific workaround for the way Qompass creates its target model. Needs to be removed. + if(!((ns.getOwner() == null) && ns.getName().equals("root"))) { //$NON-NLS-1$ qName = ns.getName() + "::" + qName; //$NON-NLS-1$ } } diff --git a/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/sync/SyncModelToCDT.java b/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/sync/SyncModelToCDT.java index 90c2b9b1d33..4739b75b0dd 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/sync/SyncModelToCDT.java +++ b/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/sync/SyncModelToCDT.java @@ -56,7 +56,7 @@ public class SyncModelToCDT { // get the container for the current element ModelElementsCreator mec = new CppModelElementsCreator(modelProject); srcPkg = mec.getContainer(classifier); - mec.createPackageableElement(srcPkg, null, classifier); // need listener for sync in both directions! + mec.createPackageableElement(srcPkg, null, classifier, false); // need listener for sync in both directions! cppFile = srcPkg.getFile(new Path(name + ".cpp")); // TODO: extension is configurable! //$NON-NLS-1$ diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF index 441c972e1e8..661b2f7fd7a 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/META-INF/MANIFEST.MF @@ -35,7 +35,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.papyrus.uml.tools.utils;bundle-version="1.0.0",
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="1.0.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
- org.eclipse.ui
+ org.eclipse.ui,
+ org.eclipse.papyrus.codegen.extensionpoints;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.0.qualifier
diff --git a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo index 2308e9d2c6e..f1dfcddd5ce 100644 --- a/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo +++ b/extraplugins/qompass-designer/org.eclipse.papyrus.qompass.designer.core/build.acceleo @@ -18,7 +18,7 @@ <acceleoCompiler sourceFolder="${target.folder}" outputFolder="${target.folder}" - dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.infra.widgets;${target.folder}/../../org.eclipse.papyrus.acceleo;" + dependencies="${target.folder}/../../org.eclipse.papyrus.fcm.profile;${target.folder}/../../org.eclipse.papyrus.qompass.designer.vsl;${target.folder}/../../org.eclipse.papyrus.cpp.profile;${target.folder}/../../org.eclipse.papyrus.infra.widgets;${target.folder}/../../org.eclipse.papyrus.acceleo;${target.folder}/../../org.eclipse.papyrus.uml.tools.utils;${target.folder}/../../org.eclipse.papyrus.codegen.extensionpoints;" binaryResource="false" packagesToRegister=""> </acceleoCompiler> diff --git a/features/papyrus-extra-features/org.eclipse.papyrus.extra.cpp.feature/feature.xml b/features/papyrus-extra-features/org.eclipse.papyrus.extra.cpp.feature/feature.xml index 356fd735dcd..0c0ee64030c 100644 --- a/features/papyrus-extra-features/org.eclipse.papyrus.extra.cpp.feature/feature.xml +++ b/features/papyrus-extra-features/org.eclipse.papyrus.extra.cpp.feature/feature.xml @@ -102,4 +102,18 @@ http://www.eclipse.org/legal/epl-v10.html version="0.0.0" unpack="false"/> + <plugin + id="org.eclipse.papyrus.codegen.extensionpoints" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="org.eclipse.papyrus.cpp.examples" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + </feature> diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/src/org/eclipse/papyrus/infra/services/validation/commands/AbstractValidateCommand.java b/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/src/org/eclipse/papyrus/infra/services/validation/commands/AbstractValidateCommand.java index d844721108a..bd9eae1556f 100644 --- a/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/src/org/eclipse/papyrus/infra/services/validation/commands/AbstractValidateCommand.java +++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/src/org/eclipse/papyrus/infra/services/validation/commands/AbstractValidateCommand.java @@ -91,7 +91,7 @@ abstract public class AbstractValidateCommand extends AbstractTransactionalComma * @param selectedElement * the selected element * @param diagnostician - * a diagnocstician adapted to a domain see {@link IPapyrusDiagnostician} + * a diagnostician adapted to a domain see {@link IPapyrusDiagnostician} */ public AbstractValidateCommand(String label, TransactionalEditingDomain domain, EObject selectedElement, IPapyrusDiagnostician diagnostician) { super(domain, label, Collections.EMPTY_LIST); |