Author: fgiust
Date: Mon Jul 17 12:47:50 2006
New Revision: 422820

URL: http://svn.apache.org/viewvc?rev=422820&view=rev
Log:
PR: MECLIPSE-92 Allow .classpath generation for plugin-development support
Submitted by: Reinhard Poetz
Reviewed by: Fabrizio Giustina

Added:
    
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java
   (with props)
    
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/
    
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/classpath
    
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml
   (with props)
    
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/project
Modified:
    
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java
    
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java
    
maven/plugins/trunk/maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties
    
maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java

Modified: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java?rev=422820&r1=422819&r2=422820&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java
 (original)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java
 Mon Jul 17 12:47:50 2006
@@ -16,10 +16,19 @@
  * limitations under the License.
  */
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.eclipse.writers.EclipseClasspathWriter;
+import org.apache.maven.plugin.eclipse.writers.EclipseOSGiManifestWriter;
 import org.apache.maven.plugin.eclipse.writers.EclipseProjectWriter;
 import org.apache.maven.plugin.eclipse.writers.EclipseSettingsWriter;
 import org.apache.maven.plugin.eclipse.writers.EclipseWtpComponent15Writer;
@@ -32,14 +41,6 @@
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.StringUtils;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
-
 /**
  * Generates the following eclipse configuration files:
  * <ul>
@@ -71,14 +72,22 @@
 
     private static final String BUILDER_WST_COMPONENT_STRUCTURAL = 
"org.eclipse.wst.common.modulecore.ComponentStructuralBuilder"; //$NON-NLS-1$
 
+    private static final String BUILDER_PDE_MANIFEST = 
"org.eclipse.pde.ManifestBuilder"; //$NON-NLS-1$
+
+    private static final String BUILDER_PDE_SCHEMA = 
"org.eclipse.pde.SchemaBuilder"; //$NON-NLS-1$
+
     private static final String NATURE_WST_MODULE_CORE_NATURE = 
"org.eclipse.wst.common.modulecore.ModuleCoreNature"; //$NON-NLS-1$
 
     private static final String NATURE_JDT_CORE_JAVA = 
"org.eclipse.jdt.core.javanature"; //$NON-NLS-1$
 
     private static final String NATURE_JEM_WORKBENCH_JAVA_EMF = 
"org.eclipse.jem.workbench.JavaEMFNature"; //$NON-NLS-1$
 
+    private static final String NATURE_PDE_PLUGIN = 
"org.eclipse.pde.PluginNature"; //$NON-NLS-1$
+
     private static final String COMMON_PATH_JDT_LAUNCHING_JRE_CONTAINER = 
"org.eclipse.jdt.launching.JRE_CONTAINER"; //$NON-NLS-1$
 
+    private static final String REQUIRED_PLUGINS_CONTAINER = 
"org.eclipse.pde.core.requiredPlugins"; //$NON-NLS-1$  
+
     //  warning, order is important for binary search
     public static final String[] WTP_SUPPORTED_VERSIONS = new String[] { 
"1.0", "1.5", "R7", "none" }; //$NON-NLS-1$ //$NON-NLS-2$  //$NON-NLS-3$
 
@@ -207,6 +216,30 @@
     private String wtpversion;
 
     /**
+     * Is it an PDE project? If yes, the plugin adds the necessary natures and 
build commands to
+     * the .project file. Additionally it copies all libraries to a project 
local directory and
+     * references them instead of referencing the files in the local Maven 
repository. It also
+     * ensured that the "Bundle-Classpath" in META-INF/MANIFEST.MF is 
synchronized.
+     * 
+     * @parameter expression="${eclipse.pde}" default-value="false"
+     */
+    private boolean pde;
+
+    /**
+     * The relative path of the manifest file
+     * 
+     * @parameter expression="${eclipse.manifest}" 
default-value="${basedir}/META-INF/MANIFEST.MF"
+     */
+    private File manifest;
+
+    /**
+     * The directory of local libraries
+     * 
+     * @parameter expression="${eclipse.pdeLibDir}" 
default-value="${basedir}/lib"
+     */
+    private String pdeLibDir;
+
+    /**
      * Not a plugin parameter. Are we working with wtp r7?
      */
     private boolean wtpR7;
@@ -549,7 +582,15 @@
             new EclipseClasspathWriter( getLog(), eclipseProjectDir, project, 
deps ).write( projectBaseDir, sourceDirs,
                                                                                
             classpathContainers,
                                                                                
             localRepository,
-                                                                               
             buildOutputDirectory );
+                                                                               
             buildOutputDirectory, pde,
+                                                                               
             pdeLibDir );
+        }
+
+        if ( pde )
+        {
+            this.getLog().info( "The Maven Eclipse plugin runs in 'pde'-mode." 
);
+            new EclipseOSGiManifestWriter( getLog(), eclipseProjectDir, 
project, deps )
+                .write( this.manifest, pdeLibDir );
         }
 
         getLog().info( Messages.getString( "EclipsePlugin.wrote", new Object[] 
{ //$NON-NLS-1$
@@ -589,12 +630,22 @@
             }
         }
 
+        if ( pde )
+        {
+            projectnatures.add( NATURE_PDE_PLUGIN );
+        }
+
     }
 
     private void fillDefaultClasspathContainers( String packaging )
     {
         classpathContainers = new ArrayList();
         classpathContainers.add( COMMON_PATH_JDT_LAUNCHING_JRE_CONTAINER );
+
+        if ( pde )
+        {
+            classpathContainers.add( REQUIRED_PLUGINS_CONTAINER );
+        }
     }
 
     private void fillDefaultBuilders( String packaging )
@@ -619,6 +670,12 @@
         if ( wtpR7 )
         {
             buildcommands.add( 
BUILDER_WST_COMPONENT_STRUCTURAL_DEPENDENCY_RESOLVER ); // WTP 0.7 builder
+        }
+
+        if ( pde )
+        {
+            buildcommands.add( BUILDER_PDE_MANIFEST );
+            buildcommands.add( BUILDER_PDE_SCHEMA );
         }
     }
 

Modified: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java?rev=422820&r1=422819&r2=422820&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java
 (original)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseClasspathWriter.java
 Mon Jul 17 12:47:50 2006
@@ -30,6 +30,7 @@
 import org.apache.maven.plugin.ide.IdeUtils;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
@@ -77,6 +78,26 @@
     private static final String ATTR_KIND = "kind"; //$NON-NLS-1$
 
     /**
+     * Attribute value for kind: var
+     */
+    private static final String ATTR_VAR = "var"; //$NON-NLS-1$    
+
+    /**
+     * Attribute value for kind: lib
+     */
+    private static final String ATTR_LIB = "lib"; //$NON-NLS-1$      
+
+    /**
+     * Attribute value for kind: src
+     */
+    private static final String ATTR_SRC = "src"; //$NON-NLS-1$   
+
+    /**
+     * Attribute value for kind: src
+     */
+    private static final String ATTR_CON = "con"; //$NON-NLS-1$     
+
+    /**
      * Element for classpathentry.
      */
     private static final String ELT_CLASSPATHENTRY = "classpathentry"; 
//$NON-NLS-1$
@@ -97,7 +118,8 @@
     }
 
     public void write( File projectBaseDir, EclipseSourceDir[] sourceDirs, 
List classpathContainers,
-                       ArtifactRepository localRepository, File 
buildOutputDirectory )
+                       ArtifactRepository localRepository, File 
buildOutputDirectory, boolean inPdeMode,
+                       String pdeLibDir )
         throws MojoExecutionException
     {
 
@@ -170,7 +192,7 @@
 
             if ( dep.isAddedToClasspath() )
             {
-                addDependency( writer, dep, localRepository );
+                addDependency( writer, dep, localRepository, projectBaseDir, 
inPdeMode, pdeLibDir );
             }
         }
 
@@ -180,7 +202,8 @@
 
     }
 
-    private void addDependency( XMLWriter writer, IdeDependency dep, 
ArtifactRepository localRepository )
+    private void addDependency( XMLWriter writer, IdeDependency dep, 
ArtifactRepository localRepository,
+                                File projectBaseDir, boolean inPdeMode, String 
pdeLibDir )
         throws MojoExecutionException
     {
 
@@ -189,10 +212,10 @@
         String sourcepath = null;
         String javadocpath = null;
 
-        if ( dep.isReferencedProject() )
+        if ( dep.isReferencedProject() && !inPdeMode )
         {
             path = "/" + dep.getArtifactId(); //$NON-NLS-1$
-            kind = "src"; //$NON-NLS-1$
+            kind = ATTR_SRC;
         }
         else
         {
@@ -214,20 +237,53 @@
                                                         new Object[] { 
dep.getArtifactId(), path } ) );
                 }
 
-                kind = "lib"; //$NON-NLS-1$
+                kind = ATTR_LIB;
             }
             else
             {
                 File localRepositoryFile = new File( 
localRepository.getBasedir() );
 
-                String fullPath = artifactPath.getPath();
+                // if the dependency is not provided and the plugin runs in 
"pde mode", the dependency is
+                // added to the Bundle-Classpath:
+                if ( inPdeMode && !dep.isProvided() )
+                {
+                    try
+                    {
+                        // TODO problem with reactor build
+                        File libsDir = new File( projectBaseDir, pdeLibDir );
+                        if ( !libsDir.exists() )
+                        {
+                            libsDir.mkdirs();
+                        }
+                        FileUtils.copyFileToDirectory( dep.getFile(), libsDir 
);
+
+                    }
+                    catch ( IOException e )
+                    {
+                        throw new MojoExecutionException( Messages.getString( 
"EclipsePlugin.cantcopyartifact", dep
+                            .getArtifactId() ) );
+                    }
+                    path = pdeLibDir + "/" + dep.getFile().getName();
+                    kind = ATTR_LIB;
+                }
+                // running in PDE mode and the dependency is provided means, 
that it is provided by
+                // the target platform. This case is covered by adding the 
plugin container
+                else if ( inPdeMode && dep.isProvided() )
+                {
+                    return;
+                }
+                else
+                {
+                    String fullPath = artifactPath.getPath();
 
-                path = "M2_REPO/" //$NON-NLS-1$
-                    + IdeUtils.toRelativeAndFixSeparator( localRepositoryFile, 
new File( fullPath ), false );
+                    path = M2_REPO + "/" //$NON-NLS-1$
+                        + IdeUtils.toRelativeAndFixSeparator( 
localRepositoryFile, new File( fullPath ), false );
 
+                    kind = ATTR_VAR; //$NON-NLS-1$
+                }
                 if ( dep.getSourceAttachment() != null )
                 {
-                    sourcepath = "M2_REPO/" //$NON-NLS-1$
+                    sourcepath = M2_REPO + "/" //$NON-NLS-1$
                         + IdeUtils.toRelativeAndFixSeparator( 
localRepositoryFile, dep.getSourceAttachment(), false );
                 }
 
@@ -239,18 +295,17 @@
                                                        "\\", "/" ); 
//$NON-NLS-1$ //$NON-NLS-2$
                 }
 
-                kind = "var"; //$NON-NLS-1$
             }
 
         }
 
-        writer.startElement( "classpathentry" ); //$NON-NLS-1$
-        writer.addAttribute( "kind", kind ); //$NON-NLS-1$
-        writer.addAttribute( "path", path ); //$NON-NLS-1$
+        writer.startElement( ELT_CLASSPATHENTRY );
+        writer.addAttribute( ATTR_KIND, kind );
+        writer.addAttribute( ATTR_PATH, path );
 
         if ( sourcepath != null )
         {
-            writer.addAttribute( "sourcepath", sourcepath ); //$NON-NLS-1$
+            writer.addAttribute( ATTR_SOURCEPATH, sourcepath );
         }
         else if ( javadocpath != null )
         {

Added: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java?rev=422820&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java
 (added)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java
 Mon Jul 17 12:47:50 2006
@@ -0,0 +1,155 @@
+/*
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * 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.maven.plugin.eclipse.writers;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.eclipse.Messages;
+import org.apache.maven.plugin.ide.IdeDependency;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.IOUtil;
+
+/**
+ * The <code>EclipseOSGiManifestWriter</code> ensures that value of the 
"Bundle-Classpath" property 
+ * in META-INF/MANIFEST.MF is synchronized with the POM by adding all 
dependencies that don't have the
+ * scope provided.
+ */
+public class EclipseOSGiManifestWriter
+    extends AbstractEclipseResourceWriter
+{
+
+    public final static String ENTRY_BUNDLE_CLASSPATH = "Bundle-ClassPath:";
+
+    public EclipseOSGiManifestWriter( Log log, File eclipseProjectDir, 
MavenProject project, IdeDependency[] deps )
+    {
+        super( log, eclipseProjectDir, project, deps );
+    }
+
+    public void write( File manifestFile, String libdir )
+        throws MojoExecutionException
+    {
+        // check for existence
+        if ( !manifestFile.exists() )
+        {
+            getLog().warn(
+                           Messages.getString( 
"EclipseOSGiManifestWriter.nomanifestfile", manifestFile
+                               .getAbsolutePath() ) );
+            return;
+        }
+
+        StringBuffer manifestSb = rewriteManifest( manifestFile, libdir );
+        FileWriter fos = null;
+        try
+        {
+            fos = new FileWriter( manifestFile );
+            fos.write( manifestSb.toString() );
+        }
+        catch ( FileNotFoundException e )
+        {
+            throw new MojoExecutionException( Messages.getString( 
"cantwritetofile", manifestFile.getAbsolutePath() ) );
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( Messages.getString( 
"cantwritetofile", manifestFile.getAbsolutePath() ),
+                                              e );
+        }
+        finally
+        {
+            IOUtil.close( fos );
+        }
+    }
+
+    protected StringBuffer rewriteManifest( File manifestFile, String libdir )
+        throws MojoExecutionException
+    {
+        boolean inBundleClasspathEntry = false;
+        StringBuffer manifestSb = new StringBuffer();
+        try
+        {
+            BufferedReader in = new BufferedReader( new FileReader( 
manifestFile ) );
+            String str;
+            while ( ( str = in.readLine() ) != null )
+            {
+                if ( inBundleClasspathEntry && str.indexOf( ":" ) > -1 )
+                {
+                    inBundleClasspathEntry = false;
+                    if ( str.length() > 0 )
+                    {
+                        manifestSb.append( str + "\n" );
+                    }
+                }
+                else if ( str.indexOf( ENTRY_BUNDLE_CLASSPATH ) > -1 )
+                {
+                    inBundleClasspathEntry = true;
+                }
+                else if ( inBundleClasspathEntry )
+                {
+                    // skip it
+                }
+                else
+                {
+                    manifestSb.append( str + "\n" );
+                }
+            }
+            in.close();
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( Messages.getString( 
"cantreadfile", manifestFile.getAbsolutePath() ) );
+        }
+        manifestSb.append( addBundleClasspathEntries( libdir ) );
+        // OSGi manifest headers need to end with a line break
+        manifestSb.append( "\n" );
+        return manifestSb;
+    }
+
+    /**
+     * Add all libraries that don't have the scope "provided" to the 
"Bundle-Classpath".
+     */
+    protected String addBundleClasspathEntries( String libdir )
+    {
+        StringBuffer bundleClasspathSb = new StringBuffer( 
ENTRY_BUNDLE_CLASSPATH );
+        int countAddedLibs = 0;
+        for ( int i = 0; i < this.deps.length; i++ )
+        {
+            if ( !this.deps[i].isProvided() && 
!this.deps[i].isReferencedProject() )
+            {
+                if ( countAddedLibs != 0 )
+                {
+                    // TODO problems with line endings might appear
+                    bundleClasspathSb.append( ",\n" );
+                }
+                System.out.println( "artifact: " + 
this.deps[i].getArtifactId() );
+                bundleClasspathSb.append( " " + libdir + "/" + 
this.deps[i].getFile().getName() + "" );
+                countAddedLibs++;
+            }
+        }
+        // only insert the name of the property if there are local libraries
+        if ( countAddedLibs > 0 )
+        {
+            return bundleClasspathSb.toString();
+        }
+        return "";
+    }
+
+}
\ No newline at end of file

Propchange: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseOSGiManifestWriter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties?rev=422820&r1=422819&r2=422820&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties
 (original)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/main/resources/org/apache/maven/plugin/eclipse/messages.properties
 Mon Jul 17 12:47:50 2006
@@ -26,9 +26,13 @@
 
 EclipseClasspathWriter.lookingforsources=Looking for source archive for 
artifact {0}
 EclipseClasspathWriter.sourcesavailable=Sources attachment for artifact {0} 
set to {1}
-
+   
 EclipseProjectWriter.notafile=Not adding a file link to {0}; it is not a file
 
 EclipseCleanMojo.deleting=Deleting {0} file...
 EclipseCleanMojo.failedtodelete=Failed to delete {0} file: {0}
-EclipseCleanMojo.nofilefound=No {0} file found
\ No newline at end of file
+EclipseCleanMojo.nofilefound=No {0} file found
+
+EclipseOSGiManifestWriter.nomanifestfile=The references manifest file doesn''t 
exist, plugin dependencies will not be updated: {0}
+
+IdeDependency.cantreadfile=Unable to read file: {0}
\ No newline at end of file

Modified: 
maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java?rev=422820&r1=422819&r2=422820&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java
 (original)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java
 Mon Jul 17 12:47:50 2006
@@ -193,4 +193,14 @@
         testProject( "project-20" );
     }
 
+    /**
+     * PDE support.
+     * @throws Exception any exception thrown during test
+     */
+    public void testProject21()
+        throws Exception
+    {
+        testProject( "project-21" );
+    }
+
 }

Added: 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/classpath
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/classpath?rev=422820&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/classpath
 (added)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/classpath
 Mon Jul 17 12:47:50 2006
@@ -0,0 +1,5 @@
+<classpath>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+</classpath>
\ No newline at end of file

Added: 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml?rev=422820&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml
 (added)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml
 Mon Jul 17 12:47:50 2006
@@ -0,0 +1,19 @@
+<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/maven-v4_0_0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>eclipse</groupId>
+  <artifactId>maven-eclipse-plugin-test-project-21</artifactId>
+  <version>21</version>
+  <name>maven-eclipse-plugin-test-project-21</name>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-eclipse-plugin</artifactId>
+        <configuration>
+          <pde>true</pde>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/project
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/project?rev=422820&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/project
 (added)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-21/project
 Mon Jul 17 12:47:50 2006
@@ -0,0 +1,23 @@
+<projectDescription>
+  <name>maven-eclipse-plugin-test-project-21</name>
+  <comment/>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+      <arguments/>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.ManifestBuilder</name>
+      <arguments/>
+    </buildCommand>
+    <buildCommand>
+      <name>org.eclipse.pde.SchemaBuilder</name>
+      <arguments/>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+    <nature>org.eclipse.pde.PluginNature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file


Reply via email to