From ef3f6492de0ac3b280ee580e1ab489e1113f0d42 Mon Sep 17 00:00:00 2001 From: rfeng Date: Mon, 9 Feb 2009 22:53:10 +0000 Subject: Check if the project is an OSGi bundle to set the pde flag git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@742779 13f79535-47bb-0310-9956-ffa450edef68 --- .../plugin/eclipse/AbstractIdeSupportMojo.java | 22 ++++++++++++++++++++++ .../plugin/eclipse/EclipseClasspathWriter.java | 5 ++--- .../sca/maven/plugin/eclipse/EclipsePlugin.java | 7 ++++++- 3 files changed, 30 insertions(+), 4 deletions(-) (limited to 'java/sca') diff --git a/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java b/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java index d0961ccd9c..1ce85f4edc 100644 --- a/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java +++ b/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/AbstractIdeSupportMojo.java @@ -1111,4 +1111,26 @@ public abstract class AbstractIdeSupportMojo { return getUseProjectReferences() && isAvailableAsAReactorProject( art ); } + + protected boolean isOSGiBundle() { + File base = project.getBasedir(); + File mf = new File(base, "META-INF/MANIFEST.MF"); + if (mf.isFile()) { + Manifest manifest = null; + try { + InputStream is = new FileInputStream(mf); + manifest = new Manifest(is); + is.close(); + } catch (IOException e) { + // Ignore + } + if (manifest != null) { + String bundleName = manifest.getMainAttributes().getValue("Bundle-SymbolicName"); + if (bundleName != null) { + return true; + } + } + } + return false; + } } diff --git a/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java b/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java index 2813eb5388..88afd024db 100644 --- a/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java +++ b/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipseClasspathWriter.java @@ -32,12 +32,9 @@ import java.util.Map; import java.util.Set; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugin.eclipse.BuildCommand; import org.apache.maven.plugin.eclipse.Constants; import org.apache.maven.plugin.eclipse.EclipseSourceDir; import org.apache.maven.plugin.eclipse.writers.AbstractEclipseWriter; -import org.apache.maven.plugin.eclipse.writers.EclipseAntExternalLaunchConfigurationWriter; -import org.apache.maven.plugin.eclipse.writers.EclipseLaunchConfigurationWriter; import org.apache.maven.plugin.ide.IdeDependency; import org.apache.maven.plugin.ide.IdeUtils; import org.codehaus.plexus.util.IOUtil; @@ -241,6 +238,7 @@ public class EclipseClasspathWriter } + /* --------------- Commented out by rfeng // handle the special sources. if ( !specialSources.isEmpty() ) { @@ -316,6 +314,7 @@ public class EclipseClasspathWriter EclipseLaunchConfigurationWriter.FILE_DOT_EXTERNAL_TOOL_BUILDERS + "Maven_Ant_Builder.launch" ) ); } + */ // ---------------------------------------------------------------------- // The default output diff --git a/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java b/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java index f2049c2cde..2b402b4a85 100644 --- a/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java +++ b/java/sca/tools/maven/maven-bundle-plugin/src/main/java/org/apache/tuscany/sca/maven/plugin/eclipse/EclipsePlugin.java @@ -79,7 +79,7 @@ import org.codehaus.plexus.util.xml.Xpp3Dom; * @author Fabrizio Giustina * @version $Id: EclipsePlugin.java 641616 2008-03-26 22:42:42Z aheritier $ * @goal eclipse - * @phase generate-resources + * @execute phase="generate-resources" */ public class EclipsePlugin extends AbstractIdeSupportMojo @@ -853,6 +853,11 @@ public class EclipsePlugin { pde = true; } + + // [rfeng] Set PDE to false if the project is not a bundle + if(!isOSGiBundle()) { + pde = false; + } if ( eclipseProjectDir == null ) { -- cgit v1.2.3