Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Merks2022-03-12 11:51:43 +0000
committerEd Merks2022-03-12 11:51:43 +0000
commit0fbdafc16fe0d498ba0dcbeef7d277e1211fd019 (patch)
treeebc6981c40d933881fddb34e532b0835098a8126
parenta41ce586e10b146056d733fd4941265e034c8bad (diff)
downloadorg.eclipse.emf-0fbdafc16fe0d498ba0dcbeef7d277e1211fd019.tar.gz
org.eclipse.emf-0fbdafc16fe0d498ba0dcbeef7d277e1211fd019.tar.xz
org.eclipse.emf-0fbdafc16fe0d498ba0dcbeef7d277e1211fd019.zip
[579177] Command line Ecore Generator does not preserve plugin.xml
Provide support for importing projects into the workspace such that a platform:/resource/ URI can be used to refer to the *.genmodel Change-Id: I08b90c5647f0ad9c0070534c07d5272931df3ea5 Signed-off-by: Ed Merks <ed.merks@gmail.com>
-rw-r--r--plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/Generator.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/Generator.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/Generator.java
index 51d846dc5..133f7b8e8 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/Generator.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/Generator.java
@@ -38,6 +38,7 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.equinox.app.IApplication;
@@ -89,6 +90,7 @@ public class Generator extends CodeGen
public void printGenerateUsage()
{
System.out.println("Usage arguments:");
+ System.out.println(" {-import <project-location>}*");
System.out.println(" [-projects <project-root-directory>]");
System.out.println(" [-dynamicTemplates] [-forceOverwrite | -diff]");
System.out.println(" [-generateSchema] [-nonNLSMarkers]");
@@ -216,7 +218,18 @@ public class Generator extends CodeGen
int index = 0;
for (; index < arguments.length && arguments[index].startsWith("-"); ++index)
{
- if (arguments[index].equalsIgnoreCase("-projects"))
+ if (arguments[index].equalsIgnoreCase("-import"))
+ {
+ String projectLocation = new File(arguments[++index]).getAbsoluteFile().getCanonicalPath();
+ IProjectDescription projectDescription = workspace.loadProjectDescription(new Path(projectLocation + "/.project"));
+ IProject project = workspace.getRoot().getProject(projectDescription.getName());
+ if (!project.exists())
+ {
+ project.create(projectDescription, new NullProgressMonitor());
+ }
+ project.open(new NullProgressMonitor());
+ }
+ else if (arguments[index].equalsIgnoreCase("-projects"))
{
rootLocation = new File(arguments[++index]).getAbsoluteFile().getCanonicalPath();
}

Back to the top