You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by sp...@apache.org on 2006/03/02 21:12:18 UTC
svn commit: r382498 - in
/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin:
pom.xml src/main/java/org/apache/emf/plugin/LaunchOSGIMojo.java
src/main/java/org/apache/emf/plugin/XSDImporterMojo.java
Author: sppatel
Date: Thu Mar 2 12:12:17 2006
New Revision: 382498
URL: http://svn.apache.org/viewcvs?rev=382498&view=rev
Log:
launch eclipse app support
Added:
geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/LaunchOSGIMojo.java
Modified:
geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml
geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/XSDImporterMojo.java
Modified: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml?rev=382498&r1=382497&r2=382498&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml (original)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/pom.xml Thu Mar 2 12:12:17 2006
@@ -24,22 +24,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.plugins</groupId>
- <artifactId>org.eclipse.xsd.ecore.importer</artifactId>
- <version>2.1.0</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.plugins</groupId>
- <artifactId>org.eclipse.core.runtime</artifactId>
- <version>3.1.2</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.plugins</groupId>
- <artifactId>org.eclipse.emf.importer</artifactId>
- <version>2.1.0</version>
- </dependency>
- <dependency>
- <groupId>eclipse</groupId>
- <artifactId>startup</artifactId>
+ <artifactId>org.eclipse.osgi</artifactId>
<version>3.1.2</version>
</dependency>
</dependencies>
Added: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/LaunchOSGIMojo.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/LaunchOSGIMojo.java?rev=382498&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/LaunchOSGIMojo.java (added)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/LaunchOSGIMojo.java Thu Mar 2 12:12:17 2006
@@ -0,0 +1,93 @@
+/**
+ * Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.emf.plugin;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Arrays;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.eclipse.core.runtime.adaptor.EclipseStarter;
+
+abstract public class LaunchOSGIMojo extends AbstractMojo {
+
+ /**
+ * @parameter expression="${settings.localRepository}/eclipse/eclipse"
+ */
+ protected File eclipseHome;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.apache.maven.plugin.Mojo#execute()
+ */
+ public void execute() throws MojoExecutionException, MojoFailureException {
+
+ if (!eclipseHome.exists())
+ throw new MojoFailureException("Eclipse installation not available");
+
+ URL osgi = findOSGI();
+ if (osgi == null) {
+ throw new MojoFailureException("OSGI bundle not found");
+ }
+
+ System.setProperty(EclipseStarter.PROP_CONSOLE_LOG, "true");
+ System.setProperty(EclipseStarter.PROP_CLEAN, "true");
+ System.setProperty(EclipseStarter.PROP_INSTALL_AREA, eclipseHome.getAbsolutePath());
+ System.setProperty(EclipseStarter.PROP_FRAMEWORK, osgi.toExternalForm());
+ System.setProperty("eclipse.application", getApplicationID());
+
+ String[] args = getArguments();
+ if (args == null)
+ args = new String[]{};
+
+ getLog().debug(Arrays.asList(args).toString());
+
+ try {
+ EclipseStarter.run(args, null);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ protected abstract String getApplicationID();
+
+ protected abstract String[] getArguments();
+
+ protected URL findOSGI() {
+ File bundleDir = new File(eclipseHome.getAbsoluteFile()
+ + File.separator + "plugins");
+ if (bundleDir.isDirectory()) {
+ File[] bundles = bundleDir.listFiles(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return name.startsWith("org.eclipse.osgi_");
+ }
+ });
+ if (bundles.length > 0)
+ try {
+ return bundles[0].toURL();
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+}
Modified: geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/XSDImporterMojo.java
URL: http://svn.apache.org/viewcvs/geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/XSDImporterMojo.java?rev=382498&r1=382497&r2=382498&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/XSDImporterMojo.java (original)
+++ geronimo/devtools/eclipse-plugin/trunk/maven-plugins/maven-emf-plugin/src/main/java/org/apache/emf/plugin/XSDImporterMojo.java Thu Mar 2 12:12:17 2006
@@ -1,4 +1,5 @@
package org.apache.emf.plugin;
+
/**
* Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable
*
@@ -17,15 +18,12 @@
import java.io.File;
import java.util.Map;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.eclipse.xsd.ecore.importer.XSDImporterApplication;
-
/**
- * @goal xsd2Java
+ * @goal xsd2java
*/
-public class XSDImporterMojo extends AbstractMojo {
+public class XSDImporterMojo extends LaunchOSGIMojo {
+
+ public static final String APPLICATION_ID = "org.eclipse.xsd.ecore.importer.XSD2GenModel";
/**
* @parameter
@@ -33,38 +31,52 @@
protected Map packageMap;
/**
- * @paramter
- * @required
+ * @parameter
+ *
+ */
+ protected File schema;
+
+ /**
+ * @parameter
+ *
*/
protected File genModel;
/**
- * @paramter
- * @required
+ * @parameter
+ *
*/
protected File project;
/**
- * @paramter
- * @required
+ * @parameter
+ *
*/
protected String projectId;
/**
- * @paramter
- * @required
+ * @parameter
+ *
*/
protected String type;
- XSDImporterApplication application;
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.maven.plugin.Mojo#execute()
+ /* (non-Javadoc)
+ * @see org.apache.emf.plugin.LaunchOSGIMojo#getArguments()
*/
- public void execute() throws MojoExecutionException, MojoFailureException {
-
+ protected String[] getArguments() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.emf.plugin.LaunchOSGIMojo#getApplicationID()
+ */
+ protected String getApplicationID() {
+ return APPLICATION_ID;
+ }
+
+ protected StringBuffer processParameters() {
+ StringBuffer buffer = new StringBuffer();
+ return buffer;
}
}