Bug 354145 - Provide a Tycho plugin for code generation
- remove ui dependencies from codegen plugins
- change repo structure
Change-Id: I921026cc414a4209256ecc86ea9844bef3f5235e
Signed-off-by: skovalsky <kovalsky@montages.com>
diff --git a/build/pom.xml b/build/pom.xml
new file mode 100644
index 0000000..2eb41ca
--- /dev/null
+++ b/build/pom.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Copyright (c) 2011 PetalsLink
+ * 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
+ *
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.gmf-tooling</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Parent project for GMF Tooling</name>
+ <description>Parent project for GMF Tooling</description>
+
+ <prerequisites>
+ <maven>3.0</maven>
+ </prerequisites>
+
+
+ <modules>
+ <module>../</module>
+ <module>../extra</module>
+ </modules>
+
+ <mailingLists>
+ <mailingList>
+ <name>GMF-dev Mailing List</name>
+ <post>gmf-dev@eclipse.org</post>
+ <subscribe>https://dev.eclipse.org/mailman/listinfo/gmf-dev</subscribe>
+ <unsubscribe>https://dev.eclipse.org/mailman/listinfo/gmf-dev</unsubscribe>
+ <archive>http://dev.eclipse.org/mhonarc/lists/gmf-dev</archive>
+ </mailingList>
+ </mailingLists>
+
+ <issueManagement>
+ <url>https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling;query_format=advanced;component=GMF-tooling;product=GMP</url>
+ <system>Bugzilla</system>
+ </issueManagement>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License v1.0</name>
+ <comments>
+ 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.htm
+ </comments>
+ </license>
+ </licenses>
+
+
+</project>
diff --git a/doc/pom.xml b/doc/pom.xml
index df33ae4..69bd062 100644
--- a/doc/pom.xml
+++ b/doc/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
diff --git a/examples/pom.xml b/examples/pom.xml
index 08f895f..ae1b613 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
diff --git a/extra/org.eclipse.gmf.tooling.codegen.maven/pom.xml b/extra/org.eclipse.gmf.tooling.codegen.maven/pom.xml
index 50c52ad..2e64091 100644
--- a/extra/org.eclipse.gmf.tooling.codegen.maven/pom.xml
+++ b/extra/org.eclipse.gmf.tooling.codegen.maven/pom.xml
@@ -12,7 +12,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
<artifactId>extra</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>1.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
@@ -21,6 +21,7 @@
<plexusVersion>1.5.5</plexusVersion>
<maven-version>3.0</maven-version>
<plexusUtilsVersion>3.0.7</plexusUtilsVersion>
+ <tycho-version>0.23.1</tycho-version>
</properties>
<build>
diff --git a/extra/pom.xml b/extra/pom.xml
index b4ad4a5..b72b69e 100644
--- a/extra/pom.xml
+++ b/extra/pom.xml
@@ -11,13 +11,14 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.gmf-tooling</groupId>
<artifactId>extra</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
<artifactId>parent</artifactId>
- <version>3.0.0-SNAPSHOT</version>
- <relativePath>../</relativePath>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>../build</relativePath>
</parent>
<modules>
diff --git a/features/pom.xml b/features/pom.xml
index c1d8d9e..210745e 100644
--- a/features/pom.xml
+++ b/features/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/Activator.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/Activator.java
index feec5c5..170ac75 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/Activator.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/Activator.java
@@ -1,6 +1,7 @@
package org.eclipse.gmf.codegen.xtend.ui;
import org.eclipse.gmf.codegen.util.GMFGeneratorModule;
+import org.eclipse.gmf.codegen.util.GMFGeneratorUIModule;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.util.Modules2;
import org.osgi.framework.BundleContext;
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/GMFGeneratorUIModule.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/GMFGeneratorUIModule.java
index 8ac1a26..e1a73c8 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/GMFGeneratorUIModule.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/GMFGeneratorUIModule.java
@@ -1,7 +1,8 @@
package org.eclipse.gmf.codegen.xtend.ui;
-import org.eclipse.xtext.service.AbstractGenericModule;
-
-public class GMFGeneratorUIModule extends AbstractGenericModule {
+/**
+ * Use {@link org.eclipse.gmf.codegen.util.GMFGeneratorUIModule}
+ */
+public class GMFGeneratorUIModule extends org.eclipse.gmf.codegen.util.GMFGeneratorUIModule {
}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/CodegenEmittersWithXtend2.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/CodegenEmittersWithXtend2.java
index e30cb2b..cbf7ce2 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/CodegenEmittersWithXtend2.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/CodegenEmittersWithXtend2.java
@@ -1,23 +1,12 @@
package org.eclipse.gmf.codegen.xtend.ui.handlers;
-import java.util.List;
-
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
-import org.eclipse.gmf.codegen.util.CodegenEmitters;
-import org.eclipse.gmf.codegen.util.ExtensionTemplatesProviderImpl;
-import org.eclipse.gmf.codegen.util.GMFGeneratorModule;
-import org.eclipse.gmf.codegen.util.IExtensionTemplatesProvider;
-import org.eclipse.gmf.common.UnexpectedBehaviourException;
-import org.eclipse.gmf.internal.common.codegen.JavaClassEmitter;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-
-public class CodegenEmittersWithXtend2 extends CodegenEmitters {
-
- private final Injector myInjector;
-
- private IExtensionTemplatesProvider myExtensionTemplateProvider = null;
+/**
+ * Use {@link org.eclipse.gmf.codegen.util.CodegenEmittersWithXtend2}
+ */
+@Deprecated
+public class CodegenEmittersWithXtend2 extends org.eclipse.gmf.codegen.util.CodegenEmittersWithXtend2 {
public CodegenEmittersWithXtend2(GenEditorGenerator genModel) {
this(!genModel.isDynamicTemplates(), genModel.getTemplateDirectory(), genModel.getModelAccess() != null);
@@ -25,76 +14,5 @@
public CodegenEmittersWithXtend2(boolean useBaseTemplatesOnly, String templateDirectory, boolean includeDynamicModelTemplates) {
super(useBaseTemplatesOnly, templateDirectory, includeDynamicModelTemplates);
- if (templateDirectory != null && !templateDirectory.isEmpty()) {
- myExtensionTemplateProvider = new ExtensionTemplatesProviderImpl(templateDirectory,!useBaseTemplatesOnly);
- }
- myInjector = Guice.createInjector(new GMFGeneratorModule(myExtensionTemplateProvider));
- }
-
- //-----------------------------------------------------------------------------------------
-
- /**
- * FIXME: [MG] make separate xtend templates calling shared code, not vise versa
- */
- @Override
- public JavaClassEmitter getTextNonResizableEditPolicyEmitter() throws UnexpectedBehaviourException {
- return getXtendEmitter("xpt::diagram::editpolicies::TextNonResizableEditPolicy", "TextNonResizableEditPolicy"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /**
- * FIXME: [MG] make separate xtend templates calling shared code, not vise versa
- */
- @Override
- public JavaClassEmitter getTextSelectionEditPolicyEmitter() throws UnexpectedBehaviourException {
- return getXtendEmitter("xpt::diagram::editpolicies::TextSelectionEditPolicy", "TextSelectionEditPolicy"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- @Override
- public JavaClassEmitter getPropertySheetLabelProviderEmitter() throws UnexpectedBehaviourException {
- return getXtendEmitter("xpt::propsheet::LabelProvider", "LabelProvider"); //$NON-NLS-1$
- }
-
- @Override
- public JavaClassEmitter getPropertySectionEmitter() throws UnexpectedBehaviourException {
- return getXtendEmitter("xpt::propsheet::PropertySection", "PropertySection"); //$NON-NLS-1$
- }
-
- @Override
- public JavaClassEmitter getModelAccessFacilityEmitter() {
- return getXtendEmitter("metamodel::Facility", "Main");
- }
-
- private JavaClassEmitter getXtendEmitter(String templateFqn, String mainMethod) {
- String classFqn = templateFqn.replace("::", ".");
- Class<?> clazz = null;
- try {
- clazz = Class.forName(classFqn);
- } catch (ClassNotFoundException e) {
- if (myExtensionTemplateProvider != null) {
- List<Class<?>> customClasses = myExtensionTemplateProvider.getCustomTemplateClasses();
- for (Class<?> _class : customClasses) {
- String name = _class.getName();
- if (name.equals(classFqn)) {
- clazz = _class;
- break;
- }
- }
- }
- if (clazz == null) {
- throw new IllegalStateException("Can't load: " + classFqn, e);
- }
- }
- return new Xtend2ClassEmitter(myInjector, clazz, mainMethod);
- }
-
- public void disposeEmitters() {
- if (myExtensionTemplateProvider != null) {
- myExtensionTemplateProvider.dispose();
- }
- }
-
- @Override
- protected JavaClassEmitter createJavaClassEmitter(String templateName, String mainMethod) {
- return getXtendEmitter(templateName, mainMethod);
}
}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/ExecuteTemplatesOperationWithXtend2.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/ExecuteTemplatesOperationWithXtend2.java
index 934490f..5327867 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/ExecuteTemplatesOperationWithXtend2.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/ExecuteTemplatesOperationWithXtend2.java
@@ -1,5 +1,6 @@
package org.eclipse.gmf.codegen.xtend.ui.handlers;
+import org.eclipse.gmf.codegen.util.GeneratorWithXtend2;
import org.eclipse.gmf.internal.codegen.popup.actions.ExecuteTemplatesOperation;
import org.eclipse.gmf.internal.common.codegen.GeneratorBase;
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorTextEmitter.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorTextEmitter.java
index 601db49..677e480 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorTextEmitter.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorTextEmitter.java
@@ -1,11 +1,9 @@
package org.eclipse.gmf.codegen.xtend.ui.handlers;
-import org.eclipse.gmf.internal.common.codegen.TextEmitter;
-
/**
- * FIXME: [MG] Merging artifact, allows to merge {@link CodegenEmittersWithXtend2} without introducing breaking changes
- * to gmf.common
+ * Use {@link org.eclipse.gmf.codegen.util.GeneratorTextEmitter}
*/
-public interface GeneratorTextEmitter extends TextEmitter {
+@Deprecated
+public interface GeneratorTextEmitter extends org.eclipse.gmf.codegen.util.GeneratorTextEmitter {
}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorWithXtend2.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorWithXtend2.java
index de4877a..60ee9a5 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorWithXtend2.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/GeneratorWithXtend2.java
@@ -1,41 +1,24 @@
package org.eclipse.gmf.codegen.xtend.ui.handlers;
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
-import org.eclipse.gmf.codegen.util.Generator;
-import org.eclipse.gmf.common.UnexpectedBehaviourException;
import org.eclipse.gmf.internal.common.codegen.CodeFormatterFactory;
-public class GeneratorWithXtend2 extends Generator {
-
- private CodegenEmittersWithXtend2 myEmitters;
+/**
+ * Use {@link org.eclipse.gmf.codegen.util.GeneratorWithXtend2}
+ */
+@Deprecated
+public class GeneratorWithXtend2 extends org.eclipse.gmf.codegen.util.GeneratorWithXtend2 {
public GeneratorWithXtend2(GenEditorGenerator genModel) {
- this(genModel, new CodegenEmittersWithXtend2(genModel));
+ super(genModel, new CodegenEmittersWithXtend2(genModel));
}
public GeneratorWithXtend2(GenEditorGenerator genModel, CodegenEmittersWithXtend2 codegenEmitters) {
- this(genModel, codegenEmitters, CodeFormatterFactory.DEFAULT);
+ super(genModel, codegenEmitters, CodeFormatterFactory.DEFAULT);
}
public GeneratorWithXtend2(GenEditorGenerator genModel, CodegenEmittersWithXtend2 codegenEmitters, CodeFormatterFactory codeFormatterFactory) {
super(genModel, codegenEmitters, codeFormatterFactory);
- myEmitters = codegenEmitters;
- }
-
- protected void customRun() throws InterruptedException, UnexpectedBehaviourException {
- try {
- super.customRun();
- } finally {
- hookGenerationCompleted();
- }
- }
-
- protected CodegenEmittersWithXtend2 getEmitters() {
- return myEmitters;
- }
-
- protected void hookGenerationCompleted() {
- myEmitters.disposeEmitters();
}
}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2ClassEmitter.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2ClassEmitter.java
index dc4bcb5..334ff67 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2ClassEmitter.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2ClassEmitter.java
@@ -1,37 +1,13 @@
package org.eclipse.gmf.codegen.xtend.ui.handlers;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.gmf.common.UnexpectedBehaviourException;
-import org.eclipse.gmf.internal.common.codegen.JavaClassEmitter;
-
import com.google.inject.Injector;
-
-public class Xtend2ClassEmitter extends Xtend2Emitter implements JavaClassEmitter {
+/**
+ * Use {@link org.eclipse.gmf.codegen.util.Xtend2ClassEmitter}
+ */
+public class Xtend2ClassEmitter extends org.eclipse.gmf.codegen.util.Xtend2ClassEmitter {
public Xtend2ClassEmitter(Injector injector, Class<?> clazz, String methodName) {
super(injector, clazz, methodName);
}
-
- @Override
- public String getQualifiedClassName(Object... input) throws UnexpectedBehaviourException {
- return getQualifiedClassName("qualifiedClassName", input);
- }
-
- @Override
- public String getQualifiedClassName(String FQNMethodName, Object... input) throws UnexpectedBehaviourException {
- return getText(FQNMethodName, input);
- }
-
- private String getText(String method, Object... input) throws UnexpectedBehaviourException {
- try {
- return this.generate(new NullProgressMonitor(), method, input);
- } catch (InvocationTargetException e) {
- throw new UnexpectedBehaviourException("Invocation method exception "+ method + " on class " + getTemplateClass().getName(), e);
- } catch (InterruptedException e) {
- throw new UnexpectedBehaviourException("Execute method exception "+ method + " on class " + getTemplateClass().getName(), e);
- }
- }
}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2Emitter.java b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2Emitter.java
index 48e8dd8..19841b5 100644
--- a/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2Emitter.java
+++ b/plugins/org.eclipse.gmf.codegen.xtend.ui/src/org/eclipse/gmf/codegen/xtend/ui/handlers/Xtend2Emitter.java
@@ -1,110 +1,10 @@
package org.eclipse.gmf.codegen.xtend.ui.handlers;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gmf.common.UnexpectedBehaviourException;
-import org.eclipse.gmf.internal.common.codegen.TextEmitter;
-
import com.google.inject.Injector;
-public class Xtend2Emitter implements TextEmitter {
-
- private final Class<?> myXtendGenerator;
-
- private final String myMethodName;
-
- private final Injector myInjector;
+public class Xtend2Emitter extends org.eclipse.gmf.codegen.util.Xtend2Emitter {
public Xtend2Emitter(Injector injector, Class<?> clazz, String methodName) {
- myInjector = injector;
- myXtendGenerator = clazz;
- myMethodName = methodName;
+ super(injector, clazz, methodName);
}
-
- @Override
- public String generate(IProgressMonitor monitor, Object[] arguments) throws InterruptedException, InvocationTargetException, UnexpectedBehaviourException {
- return generate(monitor, myMethodName, arguments);
- }
-
- protected String generate(IProgressMonitor monitor, String methodName, Object[] arguments) throws InterruptedException, InvocationTargetException, UnexpectedBehaviourException {
- if (monitor != null && monitor.isCanceled()) {
- throw new InterruptedException();
- }
- if (arguments.length > 1) {
- List<Object> fixedArgs = new LinkedList<Object>();
- fixedArgs.add(arguments[0]);
- for (int i = 1; i < arguments.length; i++) {
- fixedArgs.add(arguments[i]);
- }
- arguments = fixedArgs.toArray();
- }
- Object generator = instantiateGenerator();
- Method method = getGeneratorMethod(arguments.length, methodName);
- Object result;
- try {
- result = method.invoke(generator, arguments);
- } catch (IllegalArgumentException e) {
- throw new UnexpectedBehaviourException("Invocation failed for: " + this, e);
- } catch (IllegalAccessException e) {
- throw new UnexpectedBehaviourException("Invocation failed for: " + this, e);
- }
-
- if (result == null) {
- throw new UnexpectedBehaviourException("Xtend generator returned null for " + this);
- }
- return String.valueOf(result);
- }
-
- private Object instantiateGenerator() throws UnexpectedBehaviourException {
- Object instance = myInjector.getInstance(myXtendGenerator);
- if (instance == null) {
- throw new UnexpectedBehaviourException("Can't instantiate Xtend generator object " + this);
- }
- return instance;
- }
-
- private Method getGeneratorMethod(int paramsCount, String methodName) throws UnexpectedBehaviourException {
- Method[] allMethods;
- try {
- allMethods = myXtendGenerator.getDeclaredMethods();
- } catch (SecurityException e) {
- throw new UnexpectedBehaviourException("For : " + this, e);
- }
- Method candidate = null;
- for (Method next : allMethods) {
- if (methodName.equals(next.getName()) && next.getParameterTypes().length == paramsCount) {
- if (candidate != null) {
- throw new UnexpectedBehaviourException("More than 1 method found for " + this + ", " + candidate + " vs " + next);
- }
- candidate = next;
- }
- }
- if (candidate == null) {
- throw new UnexpectedBehaviourException("No such method (with params count = " + paramsCount + ") for : " + this);
- }
- return candidate;
- }
-
- @Override
- public String toString() {
- return "xtend2:[" + myXtendGenerator.getSimpleName() + "#" + myMethodName + "]";
- }
-
- protected Object extractTarget(Object[] arguments) {
- assert arguments != null && arguments.length > 0;
- return arguments[0];
- }
-
- protected Injector getInjector() {
- return myInjector;
- }
-
- protected Class<?> getTemplateClass() {
- return myXtendGenerator;
- }
-
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/CodegenEmittersWithXtend2.java b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/CodegenEmittersWithXtend2.java
new file mode 100644
index 0000000..dd643d8
--- /dev/null
+++ b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/CodegenEmittersWithXtend2.java
@@ -0,0 +1,97 @@
+package org.eclipse.gmf.codegen.util;
+
+import java.util.List;
+
+import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
+import org.eclipse.gmf.codegen.util.CodegenEmitters;
+import org.eclipse.gmf.common.UnexpectedBehaviourException;
+import org.eclipse.gmf.internal.common.codegen.JavaClassEmitter;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+public class CodegenEmittersWithXtend2 extends CodegenEmitters {
+
+ private final Injector myInjector;
+
+ private IExtensionTemplatesProvider myExtensionTemplateProvider = null;
+
+ public CodegenEmittersWithXtend2(GenEditorGenerator genModel) {
+ this(!genModel.isDynamicTemplates(), genModel.getTemplateDirectory(), genModel.getModelAccess() != null);
+ }
+
+ public CodegenEmittersWithXtend2(boolean useBaseTemplatesOnly, String templateDirectory, boolean includeDynamicModelTemplates) {
+ super(useBaseTemplatesOnly, templateDirectory, includeDynamicModelTemplates);
+ if (templateDirectory != null && !templateDirectory.isEmpty()) {
+ myExtensionTemplateProvider = new ExtensionTemplatesProviderImpl(templateDirectory,!useBaseTemplatesOnly);
+ }
+ myInjector = Guice.createInjector(new GMFGeneratorModule(myExtensionTemplateProvider));
+ }
+
+ //-----------------------------------------------------------------------------------------
+
+ /**
+ * FIXME: [MG] make separate xtend templates calling shared code, not vise versa
+ */
+ @Override
+ public JavaClassEmitter getTextNonResizableEditPolicyEmitter() throws UnexpectedBehaviourException {
+ return getXtendEmitter("xpt::diagram::editpolicies::TextNonResizableEditPolicy", "TextNonResizableEditPolicy"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /**
+ * FIXME: [MG] make separate xtend templates calling shared code, not vise versa
+ */
+ @Override
+ public JavaClassEmitter getTextSelectionEditPolicyEmitter() throws UnexpectedBehaviourException {
+ return getXtendEmitter("xpt::diagram::editpolicies::TextSelectionEditPolicy", "TextSelectionEditPolicy"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ @Override
+ public JavaClassEmitter getPropertySheetLabelProviderEmitter() throws UnexpectedBehaviourException {
+ return getXtendEmitter("xpt::propsheet::LabelProvider", "LabelProvider"); //$NON-NLS-1$
+ }
+
+ @Override
+ public JavaClassEmitter getPropertySectionEmitter() throws UnexpectedBehaviourException {
+ return getXtendEmitter("xpt::propsheet::PropertySection", "PropertySection"); //$NON-NLS-1$
+ }
+
+ @Override
+ public JavaClassEmitter getModelAccessFacilityEmitter() {
+ return getXtendEmitter("metamodel::Facility", "Main");
+ }
+
+ private JavaClassEmitter getXtendEmitter(String templateFqn, String mainMethod) {
+ String classFqn = templateFqn.replace("::", ".");
+ Class<?> clazz = null;
+ try {
+ clazz = Class.forName(classFqn);
+ } catch (ClassNotFoundException e) {
+ if (myExtensionTemplateProvider != null) {
+ List<Class<?>> customClasses = myExtensionTemplateProvider.getCustomTemplateClasses();
+ for (Class<?> _class : customClasses) {
+ String name = _class.getName();
+ if (name.equals(classFqn)) {
+ clazz = _class;
+ break;
+ }
+ }
+ }
+ if (clazz == null) {
+ throw new IllegalStateException("Can't load: " + classFqn, e);
+ }
+ }
+ return new Xtend2ClassEmitter(myInjector, clazz, mainMethod);
+ }
+
+ public void disposeEmitters() {
+ if (myExtensionTemplateProvider != null) {
+ myExtensionTemplateProvider.dispose();
+ }
+ }
+
+ @Override
+ protected JavaClassEmitter createJavaClassEmitter(String templateName, String mainMethod) {
+ return getXtendEmitter(templateName, mainMethod);
+ }
+}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GMFGeneratorUIModule.java b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GMFGeneratorUIModule.java
new file mode 100644
index 0000000..8d3c2c2
--- /dev/null
+++ b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GMFGeneratorUIModule.java
@@ -0,0 +1,7 @@
+package org.eclipse.gmf.codegen.util;
+
+import org.eclipse.xtext.service.AbstractGenericModule;
+
+public class GMFGeneratorUIModule extends AbstractGenericModule {
+
+}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GeneratorTextEmitter.java b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GeneratorTextEmitter.java
new file mode 100644
index 0000000..92100b0
--- /dev/null
+++ b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GeneratorTextEmitter.java
@@ -0,0 +1,11 @@
+package org.eclipse.gmf.codegen.util;
+
+import org.eclipse.gmf.internal.common.codegen.TextEmitter;
+
+/**
+ * FIXME: [MG] Merging artifact, allows to merge {@link CodegenEmittersWithXtend2} without introducing breaking changes
+ * to gmf.common
+ */
+public interface GeneratorTextEmitter extends TextEmitter {
+
+}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GeneratorWithXtend2.java b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GeneratorWithXtend2.java
new file mode 100644
index 0000000..ac49ab3
--- /dev/null
+++ b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/GeneratorWithXtend2.java
@@ -0,0 +1,41 @@
+package org.eclipse.gmf.codegen.util;
+
+import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
+import org.eclipse.gmf.codegen.util.Generator;
+import org.eclipse.gmf.common.UnexpectedBehaviourException;
+import org.eclipse.gmf.internal.common.codegen.CodeFormatterFactory;
+
+public class GeneratorWithXtend2 extends Generator {
+
+ private CodegenEmittersWithXtend2 myEmitters;
+
+ public GeneratorWithXtend2(GenEditorGenerator genModel) {
+ this(genModel, new CodegenEmittersWithXtend2(genModel));
+ }
+
+ public GeneratorWithXtend2(GenEditorGenerator genModel, CodegenEmittersWithXtend2 codegenEmitters) {
+ this(genModel, codegenEmitters, CodeFormatterFactory.DEFAULT);
+ }
+
+ public GeneratorWithXtend2(GenEditorGenerator genModel, CodegenEmittersWithXtend2 codegenEmitters, CodeFormatterFactory codeFormatterFactory) {
+ super(genModel, codegenEmitters, codeFormatterFactory);
+ myEmitters = codegenEmitters;
+ }
+
+ protected void customRun() throws InterruptedException, UnexpectedBehaviourException {
+ try {
+ super.customRun();
+ } finally {
+ hookGenerationCompleted();
+ }
+ }
+
+ protected CodegenEmittersWithXtend2 getEmitters() {
+ return myEmitters;
+ }
+
+ protected void hookGenerationCompleted() {
+ myEmitters.disposeEmitters();
+ }
+
+}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/Xtend2ClassEmitter.java b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/Xtend2ClassEmitter.java
new file mode 100644
index 0000000..1ecbd3d
--- /dev/null
+++ b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/Xtend2ClassEmitter.java
@@ -0,0 +1,37 @@
+package org.eclipse.gmf.codegen.util;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.gmf.common.UnexpectedBehaviourException;
+import org.eclipse.gmf.internal.common.codegen.JavaClassEmitter;
+
+import com.google.inject.Injector;
+
+
+public class Xtend2ClassEmitter extends Xtend2Emitter implements JavaClassEmitter {
+
+ public Xtend2ClassEmitter(Injector injector, Class<?> clazz, String methodName) {
+ super(injector, clazz, methodName);
+ }
+
+ @Override
+ public String getQualifiedClassName(Object... input) throws UnexpectedBehaviourException {
+ return getQualifiedClassName("qualifiedClassName", input);
+ }
+
+ @Override
+ public String getQualifiedClassName(String FQNMethodName, Object... input) throws UnexpectedBehaviourException {
+ return getText(FQNMethodName, input);
+ }
+
+ private String getText(String method, Object... input) throws UnexpectedBehaviourException {
+ try {
+ return this.generate(new NullProgressMonitor(), method, input);
+ } catch (InvocationTargetException e) {
+ throw new UnexpectedBehaviourException("Invocation method exception "+ method + " on class " + getTemplateClass().getName(), e);
+ } catch (InterruptedException e) {
+ throw new UnexpectedBehaviourException("Execute method exception "+ method + " on class " + getTemplateClass().getName(), e);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/Xtend2Emitter.java b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/Xtend2Emitter.java
new file mode 100644
index 0000000..fca3b7d
--- /dev/null
+++ b/plugins/org.eclipse.gmf.codegen.xtend/src/org/eclipse/gmf/codegen/util/Xtend2Emitter.java
@@ -0,0 +1,110 @@
+package org.eclipse.gmf.codegen.util;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.common.UnexpectedBehaviourException;
+import org.eclipse.gmf.internal.common.codegen.TextEmitter;
+
+import com.google.inject.Injector;
+
+public class Xtend2Emitter implements TextEmitter {
+
+ private final Class<?> myXtendGenerator;
+
+ private final String myMethodName;
+
+ private final Injector myInjector;
+
+ public Xtend2Emitter(Injector injector, Class<?> clazz, String methodName) {
+ myInjector = injector;
+ myXtendGenerator = clazz;
+ myMethodName = methodName;
+ }
+
+ @Override
+ public String generate(IProgressMonitor monitor, Object[] arguments) throws InterruptedException, InvocationTargetException, UnexpectedBehaviourException {
+ return generate(monitor, myMethodName, arguments);
+ }
+
+ protected String generate(IProgressMonitor monitor, String methodName, Object[] arguments) throws InterruptedException, InvocationTargetException, UnexpectedBehaviourException {
+ if (monitor != null && monitor.isCanceled()) {
+ throw new InterruptedException();
+ }
+ if (arguments.length > 1) {
+ List<Object> fixedArgs = new LinkedList<Object>();
+ fixedArgs.add(arguments[0]);
+ for (int i = 1; i < arguments.length; i++) {
+ fixedArgs.add(arguments[i]);
+ }
+ arguments = fixedArgs.toArray();
+ }
+ Object generator = instantiateGenerator();
+ Method method = getGeneratorMethod(arguments.length, methodName);
+ Object result;
+ try {
+ result = method.invoke(generator, arguments);
+ } catch (IllegalArgumentException e) {
+ throw new UnexpectedBehaviourException("Invocation failed for: " + this, e);
+ } catch (IllegalAccessException e) {
+ throw new UnexpectedBehaviourException("Invocation failed for: " + this, e);
+ }
+
+ if (result == null) {
+ throw new UnexpectedBehaviourException("Xtend generator returned null for " + this);
+ }
+ return String.valueOf(result);
+ }
+
+ private Object instantiateGenerator() throws UnexpectedBehaviourException {
+ Object instance = myInjector.getInstance(myXtendGenerator);
+ if (instance == null) {
+ throw new UnexpectedBehaviourException("Can't instantiate Xtend generator object " + this);
+ }
+ return instance;
+ }
+
+ private Method getGeneratorMethod(int paramsCount, String methodName) throws UnexpectedBehaviourException {
+ Method[] allMethods;
+ try {
+ allMethods = myXtendGenerator.getDeclaredMethods();
+ } catch (SecurityException e) {
+ throw new UnexpectedBehaviourException("For : " + this, e);
+ }
+ Method candidate = null;
+ for (Method next : allMethods) {
+ if (methodName.equals(next.getName()) && next.getParameterTypes().length == paramsCount) {
+ if (candidate != null) {
+ throw new UnexpectedBehaviourException("More than 1 method found for " + this + ", " + candidate + " vs " + next);
+ }
+ candidate = next;
+ }
+ }
+ if (candidate == null) {
+ throw new UnexpectedBehaviourException("No such method (with params count = " + paramsCount + ") for : " + this);
+ }
+ return candidate;
+ }
+
+ @Override
+ public String toString() {
+ return "xtend2:[" + myXtendGenerator.getSimpleName() + "#" + myMethodName + "]";
+ }
+
+ protected Object extractTarget(Object[] arguments) {
+ assert arguments != null && arguments.length > 0;
+ return arguments[0];
+ }
+
+ protected Injector getInjector() {
+ return myInjector;
+ }
+
+ protected Class<?> getTemplateClass() {
+ return myXtendGenerator;
+ }
+
+}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gmf.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.gmf.common/META-INF/MANIFEST.MF
index ce72d7c..63fef64 100644
--- a/plugins/org.eclipse.gmf.common/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gmf.common/META-INF/MANIFEST.MF
@@ -8,7 +8,7 @@
org.eclipse.gmf.common.codegen,
org.eclipse.gmf.internal.codegen.dispatch;x-friends:="org.eclipse.gmf.codegen,org.eclipse.gmf.graphdef.codegen,org.eclipse.gmf.codegen.lite",
org.eclipse.gmf.internal.common;x-friends:="org.eclipse.gmf.codegen.edit,org.eclipse.gmf.graphdef.edit,org.eclipse.gmf.map.edit,org.eclipse.gmf.tooldef.edit,org.eclipse.gmf.bridge.trace,org.eclipse.gmf.bridge.ui,org.eclipse.gmf.bridge,org.eclipse.gmf.tests,org.eclipse.gmf.bridge.ui.dashboard,org.eclipse.gmf.codegen.ui,org.eclipse.gmf.codegen.lite.ui,org.eclipse.gmf.codegen,org.eclipse.gmf.map,org.eclipse.gmf.graphdef,org.eclipse.gmf.tooldef",
- org.eclipse.gmf.internal.common.codegen;x-friends:="org.eclipse.gmf.codegen,org.eclipse.gmf.graphdef.codegen,org.eclipse.gmf.bridge,org.eclipse.gmf.codegen.lite,org.eclipse.gmf.tests,org.eclipse.gmf.codegen.ui,org.eclipse.gmf.codegen.lite.ui,org.eclipse.gmf.tests.lite,org.eclipse.gmf.graphdef.codegen.ui,org.eclipse.gmf.codegen.xtend.ui, org.eclipse.gmf.tooling.codegen.launcher",
+ org.eclipse.gmf.internal.common.codegen;x-friends:="org.eclipse.gmf.codegen,org.eclipse.gmf.graphdef.codegen,org.eclipse.gmf.bridge,org.eclipse.gmf.codegen.lite,org.eclipse.gmf.tests,org.eclipse.gmf.codegen.ui,org.eclipse.gmf.codegen.lite.ui,org.eclipse.gmf.tests.lite,org.eclipse.gmf.graphdef.codegen.ui,org.eclipse.gmf.codegen.xtend.ui, org.eclipse.gmf.codegen.xtend, org.eclipse.gmf.tooling.codegen.launcher",
org.eclipse.gmf.internal.common.migrate;x-friends:="org.eclipse.gmf.codegen.ui,org.eclipse.gmf.tests,org.eclipse.gmf.codegen,org.eclipse.gmf.map,org.eclipse.gmf.bridge.ui,org.eclipse.gmf.graphdef",
org.eclipse.gmf.internal.common.reconcile;x-friends:="org.eclipse.gmf.tests,org.eclipse.gmf.codegen,org.eclipse.gmf.bridge.ui",
org.eclipse.gmf.internal.common.ui
@@ -24,7 +24,6 @@
org.eclipse.jdt.core;bundle-version="[3.3.0,4.0.0)",
org.eclipse.jface.text;bundle-version="[3.3.0,4.0.0)",
org.eclipse.jface;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.jdt.ui;bundle-version="[3.3.0,4.0.0)",
org.eclipse.gmf.xpand;bundle-version="[2.1.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Activator: org.eclipse.gmf.internal.common.Activator
diff --git a/plugins/org.eclipse.gmf.common/src/org/eclipse/gmf/internal/common/codegen/OrganizeImportsPostprocessor.java b/plugins/org.eclipse.gmf.common/src/org/eclipse/gmf/internal/common/codegen/OrganizeImportsPostprocessor.java
index 8277118..6b28bdd 100644
--- a/plugins/org.eclipse.gmf.common/src/org/eclipse/gmf/internal/common/codegen/OrganizeImportsPostprocessor.java
+++ b/plugins/org.eclipse.gmf.common/src/org/eclipse/gmf/internal/common/codegen/OrganizeImportsPostprocessor.java
@@ -20,11 +20,14 @@
import java.util.List;
import java.util.Set;
+import org.eclipse.core.resources.ProjectScope;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.InstanceScope;
import org.eclipse.gmf.internal.common.Activator;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IJavaProject;
@@ -38,7 +41,6 @@
import org.eclipse.jdt.core.dom.QualifiedName;
import org.eclipse.jdt.core.dom.SimpleName;
import org.eclipse.jdt.core.dom.rewrite.ImportRewrite;
-import org.eclipse.jdt.ui.PreferenceConstants;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
@@ -387,4 +389,32 @@
return result;
}
+ /**
+ * org.eclipse.gmf.common should not depend on org.eclipse.jdt.ui
+ */
+ private static class PreferenceConstants {
+
+ public static final String JDT_UI = "org.eclipse.jdt.ui"; //$NON-NLS-1$
+
+ public static final String ORGIMPORTS_IMPORTORDER= "org.eclipse.jdt.ui.importorder"; //$NON-NLS-1$
+
+ public static final String ORGIMPORTS_ONDEMANDTHRESHOLD= "org.eclipse.jdt.ui.ondemandthreshold"; //$NON-NLS-1$
+
+ public static final String ORGIMPORTS_STATIC_ONDEMANDTHRESHOLD= "org.eclipse.jdt.ui.staticondemandthreshold"; //$NON-NLS-1$
+
+ public static String getPreference(String key, IJavaProject project) {
+ String val;
+ if (project != null) {
+ val= new ProjectScope(project.getProject()).getNode(JDT_UI).get(key, null);
+ if (val != null) {
+ return val;
+ }
+ }
+ val= InstanceScope.INSTANCE.getNode(JDT_UI).get(key, null);
+ if (val != null) {
+ return val;
+ }
+ return DefaultScope.INSTANCE.getNode(JDT_UI).get(key, null);
+ }
+ }
}
diff --git a/plugins/org.eclipse.gmf.tooling.codegen.launcher/META-INF/MANIFEST.MF b/plugins/org.eclipse.gmf.tooling.codegen.launcher/META-INF/MANIFEST.MF
index f740d99..e8da148 100644
--- a/plugins/org.eclipse.gmf.tooling.codegen.launcher/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.gmf.tooling.codegen.launcher/META-INF/MANIFEST.MF
@@ -6,13 +6,12 @@
Bundle-Vendor: %providerName
Bundle-Activator: org.eclipse.gmf.tooling.codegen.launcher.Activator
Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui.workbench,
org.eclipse.pde.launching,
org.eclipse.debug.core,
org.eclipse.gmf.common,
org.eclipse.gmf.codegen,
org.eclipse.jdt.core,
- org.eclipse.gmf.codegen.xtend.ui
+ org.eclipse.gmf.codegen.xtend
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/Activator.java b/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/Activator.java
index 9ea6b65..0506d8d 100644
--- a/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/Activator.java
+++ b/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/Activator.java
@@ -1,14 +1,14 @@
package org.eclipse.gmf.tooling.codegen.launcher;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
-public class Activator extends AbstractUIPlugin {
+public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.eclipse.gmf.tooling.launcher"; //$NON-NLS-1$
diff --git a/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/GMFGenerateApplication.java b/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/GMFGenerateApplication.java
index 793a4d2..887d461 100644
--- a/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/GMFGenerateApplication.java
+++ b/plugins/org.eclipse.gmf.tooling.codegen.launcher/src/org/eclipse/gmf/tooling/codegen/launcher/GMFGenerateApplication.java
@@ -12,8 +12,8 @@
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
-import org.eclipse.gmf.codegen.xtend.ui.handlers.CodegenEmittersWithXtend2;
-import org.eclipse.gmf.codegen.xtend.ui.handlers.GeneratorWithXtend2;
+import org.eclipse.gmf.codegen.util.CodegenEmittersWithXtend2;
+import org.eclipse.gmf.codegen.util.GeneratorWithXtend2;
import org.eclipse.gmf.internal.common.codegen.CodeFormatterFactory;
import org.eclipse.gmf.internal.common.codegen.GeneratorBase;
import org.eclipse.gmf.tooling.codegen.launcher.utils.GMFGeneratorUtil;
diff --git a/plugins/pom.xml b/plugins/pom.xml
index a55680f..6f0d682 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
diff --git a/pom.xml b/pom.xml
index f32fb7c..68675af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,12 +13,19 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Parent project for GMF Tooling build</name>
<description>Parent project for GMF Tooling build</description>
+ <parent>
+ <groupId>org.eclipse.gmf-tooling</groupId>
+ <artifactId>parent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <relativePath>build</relativePath>
+ </parent>
+
<prerequisites>
<maven>3.0</maven>
</prerequisites>
@@ -36,7 +43,6 @@
<module>plugins</module>
<!-- <module>gwt-plugins</module> -->
<module>examples</module>
- <module>extra</module>
<module>doc</module>
<module>features</module>
<module>tests</module>
@@ -44,35 +50,6 @@
<module>test-examples</module>
</modules>
- <mailingLists>
- <mailingList>
- <name>GMF-dev Mailing List</name>
- <post>gmf-dev@eclipse.org</post>
- <subscribe>https://dev.eclipse.org/mailman/listinfo/gmf-dev</subscribe>
- <unsubscribe>https://dev.eclipse.org/mailman/listinfo/gmf-dev</unsubscribe>
- <archive>http://dev.eclipse.org/mhonarc/lists/gmf-dev</archive>
- </mailingList>
- </mailingLists>
-
- <issueManagement>
- <url>https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling;query_format=advanced;component=GMF-tooling;product=GMP</url>
- <system>Bugzilla</system>
- </issueManagement>
-
- <licenses>
- <license>
- <name>Eclipse Public License v1.0</name>
- <comments>
- 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.htm
- </comments>
- </license>
- </licenses>
-
<build>
<plugins>
<plugin>
diff --git a/repository/pom.xml b/repository/pom.xml
index 744413c..639c04d 100644
--- a/repository/pom.xml
+++ b/repository/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
diff --git a/test-examples/pom.xml b/test-examples/pom.xml
index aa1711a..a00818c 100644
--- a/test-examples/pom.xml
+++ b/test-examples/pom.xml
@@ -16,7 +16,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>
diff --git a/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/rt/EditHelpersTestXtend.java b/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/rt/EditHelpersTestXtend.java
index ef057ec..ac4a7c8 100644
--- a/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/rt/EditHelpersTestXtend.java
+++ b/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/rt/EditHelpersTestXtend.java
@@ -40,7 +40,7 @@
import org.eclipse.gmf.codegen.gmfgen.MetamodelType;
import org.eclipse.gmf.codegen.gmfgen.SpecializationType;
import org.eclipse.gmf.codegen.util.GMFGeneratorModule;
-import org.eclipse.gmf.codegen.xtend.ui.handlers.Xtend2Emitter;
+import org.eclipse.gmf.codegen.util.Xtend2Emitter;
import org.eclipse.gmf.common.UnexpectedBehaviourException;
import org.eclipse.gmf.internal.common.codegen.TextEmitter;
import org.eclipse.gmf.mappings.Constraint;
diff --git a/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/setup/RuntimeBasedGeneratorConfigurationXtend.java b/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/setup/RuntimeBasedGeneratorConfigurationXtend.java
index 4cd9cfa..ce2b76e 100644
--- a/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/setup/RuntimeBasedGeneratorConfigurationXtend.java
+++ b/tests/org.eclipse.gmf.tooling.tests.xtend/src/org/eclipse/gmf/tooling/tests/xtend/setup/RuntimeBasedGeneratorConfigurationXtend.java
@@ -13,8 +13,8 @@
import org.eclipse.gmf.codegen.gmfgen.GenDiagram;
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
-import org.eclipse.gmf.codegen.xtend.ui.handlers.CodegenEmittersWithXtend2;
-import org.eclipse.gmf.codegen.xtend.ui.handlers.GeneratorWithXtend2;
+import org.eclipse.gmf.codegen.util.CodegenEmittersWithXtend2;
+import org.eclipse.gmf.codegen.util.GeneratorWithXtend2;
import org.eclipse.gmf.internal.common.codegen.GeneratorBase;
public class RuntimeBasedGeneratorConfigurationXtend extends org.eclipse.gmf.tests.setup.RuntimeBasedGeneratorConfiguration {
diff --git a/tests/pom.xml b/tests/pom.xml
index fe08bfd..3d436b9 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -17,7 +17,7 @@
<parent>
<groupId>org.eclipse.gmf-tooling</groupId>
- <artifactId>parent</artifactId>
+ <artifactId>eclipse</artifactId>
<version>3.0.0-SNAPSHOT</version>
<relativePath>../</relativePath>
</parent>