diff options
author | Ed Merks | 2022-03-12 11:51:43 +0000 |
---|---|---|
committer | Ed Merks | 2022-03-12 11:51:43 +0000 |
commit | 0fbdafc16fe0d498ba0dcbeef7d277e1211fd019 (patch) | |
tree | ebc6981c40d933881fddb34e532b0835098a8126 | |
parent | a41ce586e10b146056d733fd4941265e034c8bad (diff) | |
download | org.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.java | 15 |
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(); } |