From e186806889733c2c8f1a5fa3b48e15733d31e342 Mon Sep 17 00:00:00 2001 From: Brett Leslie Porter Date: Thu, 12 May 2005 15:40:51 +0000 Subject: [PATCH] eclipse plugin imported git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@169837 13f79535-47bb-0310-9956-ffa450edef68 --- maven-plugins/maven-eclipse-plugin/pom.xml | 30 ++ .../maven/plugin/eclipse/EclipsePlugin.java | 72 ++++ .../eclipse/EclipsePluginException.java | 40 ++ .../maven/plugin/eclipse/EclipseWriter.java | 381 ++++++++++++++++++ .../optional/eclipse-config/maven-styles.xml | 244 +++++++++++ .../plugin/eclipse/EclipsePluginTest.java | 136 +++++++ .../src/test/projects/project-1/.classpath | 6 + .../src/test/projects/project-1/.cvsignore | 8 + .../src/test/projects/project-1/.project | 14 + .../src/test/projects/project-1/classpath | 6 + .../src/test/projects/project-1/project | 14 + .../src/test/projects/project-1/project.xml | 18 + .../project-1/src/main/java/DummyClass.java | 7 + .../src/test/projects/project-2/.classpath | 9 + .../src/test/projects/project-2/.cvsignore | 8 + .../src/test/projects/project-2/.project | 14 + .../src/test/projects/project-2/classpath | 9 + .../src/test/projects/project-2/project | 14 + .../src/test/projects/project-2/project.xml | 18 + .../project-2/src/main/java/DummyClass.java | 7 + .../project-2/src/main/resources/dummy | 0 .../project-2/src/test/java/DummyClass.java | 7 + .../project-2/src/test/resources/dummy | 0 .../poms/classworlds-1.1-SNAPSHOT.pom | 80 ++++ .../poms/commons-cli-1.0-beta-2.pom | 6 + .../test/repository/junit/jars/junit-2.0.jar | 0 .../test/repository/junit/poms/junit-2.0.pom | 7 + .../maven/jars/maven-core-2.0-SNAPSHOT.jar | 0 .../poms/maven-artifact-2.0-SNAPSHOT.pom | 11 + .../poms/maven-component-2.0-SNAPSHOT.pom | 29 ++ .../maven/poms/maven-core-2.0-SNAPSHOT.pom | 6 + .../maven/poms/maven-model-2.0-SNAPSHOT.pom | 11 + .../plexus/poms/plexus-components-1.0.pom | 24 ++ ...ontainer-artifact-1.0-alpha-2-SNAPSHOT.pom | 32 ++ .../plexus/poms/plexus-containers-1.0.pom | 21 + .../plexus/poms/plexus-i18n-1.0-beta-3.pom | 12 + .../plexus/poms/plexus-root-1.0.pom | 135 +++++++ .../src/test/resources/.cvsignore | 8 + 38 files changed, 1444 insertions(+) create mode 100644 maven-plugins/maven-eclipse-plugin/pom.xml create mode 100644 maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePluginException.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipseWriter.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.classpath create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.cvsignore create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.project create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/classpath create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project.xml create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/src/main/java/DummyClass.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.classpath create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.cvsignore create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.project create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/classpath create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project.xml create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/java/DummyClass.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/resources/dummy create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/java/DummyClass.java create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/resources/dummy create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/classworlds/poms/classworlds-1.1-SNAPSHOT.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/commons-cli/poms/commons-cli-1.0-beta-2.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/junit/jars/junit-2.0.jar create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/junit/poms/junit-2.0.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/maven/jars/maven-core-2.0-SNAPSHOT.jar create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-artifact-2.0-SNAPSHOT.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-component-2.0-SNAPSHOT.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-core-2.0-SNAPSHOT.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-model-2.0-SNAPSHOT.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-components-1.0.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-container-artifact-1.0-alpha-2-SNAPSHOT.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-containers-1.0.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-i18n-1.0-beta-3.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-root-1.0.pom create mode 100644 maven-plugins/maven-eclipse-plugin/src/test/resources/.cvsignore diff --git a/maven-plugins/maven-eclipse-plugin/pom.xml b/maven-plugins/maven-eclipse-plugin/pom.xml new file mode 100644 index 0000000000..6affb945de --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/pom.xml @@ -0,0 +1,30 @@ + + 4.0.0 + + maven-plugin-parent + org.apache.maven.plugins + 2.0-SNAPSHOT + + maven-eclipse-plugin + 2.0-alpha-1-SNAPSHOT + maven-plugin + Maven Eclipse Plugin + + + org.apache.maven + maven-project + 2.0-SNAPSHOT + + + plexus + plexus-utils + 1.0-alpha-2 + + + plexus + plexus-container-default + 1.0-alpha-2 + test + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java b/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java new file mode 100644 index 0000000000..c96211a5bb --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java @@ -0,0 +1,72 @@ +package org.apache.maven.plugin.eclipse; + +/* + * Copyright (c) 2004, Codehaus.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.project.MavenProject; + +/** + * A Maven2 plugin which integrates the use of Maven2 with Eclipse. + * + * @author Trygve Laugstøl + * @version $Id$ + * @goal eclipse + * @requiresDependencyResolution + */ +public class EclipsePlugin + extends AbstractMojo +{ + protected EclipseWriter eclipseWriter; + + /** + * The project whose project files to create. + * + * @parameter expression="${project}" + * @required + */ + private MavenProject project; + + public EclipsePlugin() + { + eclipseWriter = new EclipseWriter(); + } + + public void setProject( MavenProject project ) + { + this.project = project; + } + + public void execute() + throws MojoExecutionException + { + try + { + eclipseWriter.write( project ); + } + catch ( EclipsePluginException e ) + { + throw new MojoExecutionException( "Error writing eclipse files.", e ); + } + } +} diff --git a/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePluginException.java b/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePluginException.java new file mode 100644 index 0000000000..ab5eb64064 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePluginException.java @@ -0,0 +1,40 @@ +package org.apache.maven.plugin.eclipse; + +/* + * Copyright (c) 2004, Codehaus.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/** + * @author Trygve Laugstøl + * @version $Id$ + */ +public class EclipsePluginException extends Exception +{ + public EclipsePluginException( String msg ) + { + super( msg ); + } + + public EclipsePluginException( String msg, Throwable cause ) + { + super( msg, cause ); + } +} diff --git a/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipseWriter.java b/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipseWriter.java new file mode 100644 index 0000000000..34b8598c6f --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipseWriter.java @@ -0,0 +1,381 @@ +package org.apache.maven.plugin.eclipse; + +/* + * Copyright (c) 2004, Codehaus.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.model.Resource; +import org.apache.maven.project.MavenProject; +import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter; +import org.codehaus.plexus.util.xml.XMLWriter; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.Writer; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * @author Trygve Laugstøl + * @version $Id$ + */ +public class EclipseWriter +{ + public void write( MavenProject project ) + throws EclipsePluginException + { + File basedir = project.getFile().getParentFile(); + + Map map = new HashMap(); + + assertNotEmpty( project.getGroupId(), "groupId" ); + + assertNotEmpty( project.getArtifactId(), "artifactId" ); + + map.put( "project.artifactId", project.getArtifactId() ); + + writeEclipseProject( basedir, project, map ); + + writeEclipseClasspath( basedir, project, map ); + + System.out.println( "Wrote Eclipse project for " + project.getArtifactId() + " to " + basedir.getAbsolutePath() ); + } + + // ---------------------------------------------------------------------- + // .project + // ---------------------------------------------------------------------- + + protected void writeEclipseProject( File basedir, MavenProject project, Map map ) + throws EclipsePluginException + { + FileWriter w; + + try + { + w = new FileWriter( new File( basedir, ".project" ) ); + } + catch ( IOException ex ) + { + throw new EclipsePluginException( "Exception while opening file.", ex ); + } + + XMLWriter writer = new PrettyPrintXMLWriter( w ); + + writer.startElement( "projectDescription" ); + + writer.startElement( "name" ); + + if ( project.getArtifactId() == null ) + { + throw new EclipsePluginException( "Missing element from the POM: artifactId." ); + } + + writer.writeText( project.getArtifactId() ); + + writer.endElement(); + + // TODO: this entire element might be dropped if the comment is null. + // but as the maven1 eclipse plugin does it, it's better to be safe than sorry + // A eclipse developer might want to look at this. + writer.startElement( "comment" ); + + if ( project.getDescription() != null ) + { + writer.writeText( project.getDescription() ); + } + + writer.endElement(); + + // TODO: Add project dependencies here + // Should look in the reactor for other projects + + writer.startElement( "projects" ); + + writer.endElement(); // projects + + writer.startElement( "buildSpec" ); + + writer.startElement( "buildCommand" ); + + writer.startElement( "name" ); + + writer.writeText( "org.eclipse.jdt.core.javabuilder" ); + + writer.endElement(); // name + + writer.startElement( "arguments" ); + + writer.endElement(); // arguments + + writer.endElement(); // buildCommand + + writer.endElement(); // buildSpec + + writer.startElement( "natures" ); + + writer.startElement( "nature" ); + + writer.writeText( "org.eclipse.jdt.core.javanature" ); + + writer.endElement(); // nature + + writer.endElement(); // natures + + writer.endElement(); // projectDescription + + close( w ); + } + + // ---------------------------------------------------------------------- + // .classpath + // ---------------------------------------------------------------------- + + protected void writeEclipseClasspath( File basedir, MavenProject project, Map map ) + throws EclipsePluginException + { + FileWriter w; + + try + { + w = new FileWriter( new File( basedir, ".classpath" ) ); + } + catch ( IOException ex ) + { + throw new EclipsePluginException( "Exception while opening file.", ex ); + } + + XMLWriter writer = new PrettyPrintXMLWriter( w ); + + writer.startElement( "classpath" ); + + // ---------------------------------------------------------------------- + // The source roots + // ---------------------------------------------------------------------- + + addSourceRoots( writer, project.getBasedir(), + project.getCompileSourceRoots(), + null ); + + addResources( writer, project.getBasedir(), + project.getBuild().getResources(), + null ); + + // ---------------------------------------------------------------------- + // The test sources and resources + // ---------------------------------------------------------------------- + + addSourceRoots( writer, project.getBasedir(), + project.getTestCompileSourceRoots(), + project.getBuild().getTestOutputDirectory() ); + + addResources( writer, project.getBasedir(), + project.getBuild().getTestResources(), + project.getBuild().getTestOutputDirectory() ); + + // ---------------------------------------------------------------------- + // The default output + // ---------------------------------------------------------------------- + + writer.startElement( "classpathentry" ); + + writer.addAttribute( "kind", "output" ); + + writer.addAttribute( "path", toRelative( basedir, project.getBuild().getOutputDirectory() ) ); + + writer.endElement(); + + // ---------------------------------------------------------------------- + // The JRE reference + // ---------------------------------------------------------------------- + + writer.startElement( "classpathentry" ); + + writer.addAttribute( "kind", "var" ); + + writer.addAttribute( "rootpath", "JRE_SRCROOT" ); + + writer.addAttribute( "path", "JRE_LIB" ); + + writer.addAttribute( "sourcepath", "JRE_SRC" ); + + writer.endElement(); + + // ---------------------------------------------------------------------- + // The dependencies + // ---------------------------------------------------------------------- + + Set artifacts = project.getArtifacts(); + + for ( Iterator it = artifacts.iterator(); it.hasNext(); ) + { + Artifact artifact = (Artifact) it.next(); + + addDependency( writer, artifact ); + } + + writer.endElement(); + + close( w ); + } + + // ---------------------------------------------------------------------- + // + // ---------------------------------------------------------------------- + + private void addSourceRoots( XMLWriter writer, File basedir, List sourceRoots, String output ) + { + for ( Iterator it = sourceRoots.iterator(); it.hasNext(); ) + { + String sourceRoot = (String) it.next(); + + if ( new File( sourceRoot ).isDirectory() ) + { + writer.startElement( "classpathentry" ); + + writer.addAttribute( "kind", "src" ); + + writer.addAttribute( "path", toRelative( basedir, sourceRoot ) ); + + if ( output != null ) + { + writer.addAttribute( "output", toRelative( basedir, output ) ); + } + + writer.endElement(); + } + } + } + + private void addResources( XMLWriter writer, File basedir, List resources, String output ) + { + for ( Iterator it = resources.iterator(); it.hasNext(); ) + { + Resource resource = (Resource) it.next(); + + if ( resource.getIncludes().size() != 0 ) + { + System.err.println( "This plugin currently doesn't support include patterns for resources. Adding the entire directory." ); + } + + if ( resource.getExcludes().size() != 0 ) + { + System.err.println( "This plugin currently doesn't support exclude patterns for resources. Adding the entire directory." ); + } + + if ( !StringUtils.isEmpty( resource.getTargetPath() ) ) + { + System.err.println( "This plugin currently doesn't support target paths for resources." ); + + return; + } + + File resourceDirectory = new File( resource.getDirectory() ); + + if ( !resourceDirectory.exists() || !resourceDirectory.isDirectory() ) + { + continue; + } + + writer.startElement( "classpathentry" ); + + writer.addAttribute( "kind", "src" ); + + writer.addAttribute( "path", toRelative( basedir, resource.getDirectory() ) ); + + if ( output != null ) + { + writer.addAttribute( "output", toRelative( basedir, output ) ); + } + + writer.endElement(); + } + } + + private void addDependency( XMLWriter writer, Artifact artifact ) + { + File path = artifact.getFile(); + + if ( path == null ) + { + System.err.println( "The artifacts path was null. Artifact id: " + artifact.getId() ); + + return; + } + + writer.startElement( "classpathentry" ); + + writer.addAttribute( "kind", "lib" ); + + writer.addAttribute( "path", path.getPath().replace( '\\', '/' ) ); + + writer.endElement(); + } + + private void close( Writer closeable ) + { + if ( closeable == null ) + { + return; + } + + try + { + closeable.close(); + } + catch ( Exception e ) + { + // ignore + } + } + + private String toRelative( File basedir, String absolutePath ) + { + String relative; + + if ( absolutePath.startsWith( basedir.getAbsolutePath() ) ) + { + relative = absolutePath.substring( basedir.getAbsolutePath().length() + 1 ); + } + else + { + relative = absolutePath; + } + + relative = StringUtils.replace( relative, "\\", "/" ); + + return relative; + } + + private void assertNotEmpty( String string, String elementName ) + throws EclipsePluginException + { + if ( string == null ) + { + throw new EclipsePluginException( "Missing element from the project descriptor: '" + elementName + "'." ); + } + } +} diff --git a/maven-plugins/maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml b/maven-plugins/maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml new file mode 100644 index 0000000000..88e0d69569 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/optional/eclipse-config/maven-styles.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java b/maven-plugins/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java new file mode 100644 index 0000000000..41413305b9 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginTest.java @@ -0,0 +1,136 @@ +package org.apache.maven.plugin.eclipse; + +/* + * Copyright (c) 2004, Codehaus.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; +import org.apache.maven.project.MavenProject; +import org.apache.maven.project.MavenProjectBuilder; +import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.util.StringUtils; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * @author Trygve Laugstøl + * @version $Id$ + */ +public class EclipsePluginTest + extends PlexusTestCase +{ + public void testProject1() + throws Exception + { + testProject( "project-1" ); + } + + public void testProject2() + throws Exception + { + testProject( "project-2" ); + } + + // ---------------------------------------------------------------------- + // + // ---------------------------------------------------------------------- + + private void testProject( String projectName ) + throws Exception + { + File basedir = getTestFile( "src/test/projects/" + projectName ); + + MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE ); + + EclipsePlugin plugin = new EclipsePlugin(); + + File repo = getTestFile( "src/test/repository" ); + + ArtifactRepositoryLayout localRepositoryLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "legacy" ); + + ArtifactRepository localRepository = new ArtifactRepository("local", "file://" + repo.getAbsolutePath(), localRepositoryLayout); + + MavenProject project = builder.build( new File( basedir, "project.xml" ), localRepository ); + + for ( Iterator it = project.getArtifacts().iterator(); it.hasNext(); ) + { + Artifact artifact = (Artifact) it.next(); + artifact.setFile(new File(localRepository.getBasedir(), localRepository.pathOf(artifact))); + } + + plugin.setProject( project ); + + plugin.execute(); + + assertFileEquals( localRepository.getBasedir(), new File( basedir, "project" ), new File( basedir, ".project" ) ); + + assertFileEquals( localRepository.getBasedir(), new File( basedir, "classpath" ), new File( basedir, ".classpath" ) ); + } + + private void assertFileEquals( String mavenRepo, File expectedFile, File actualFile ) + throws IOException + { + List expectedLines = getLines( mavenRepo, expectedFile ); + + List actualLines = getLines( mavenRepo, actualFile ); + + for ( int i = 0; i < expectedLines.size(); i++ ) + { + String expected = expectedLines.get( i ).toString(); + + if ( actualLines.size() < i ) + { + fail( "Too few lines in the actual file. Was " + actualLines.size() + ", expected: " + expectedLines.size() ); + } + + String actual = actualLines.get( i ).toString(); + + assertEquals( "Checking line #" + (i + 1), expected, actual ); + } + + assertTrue( "Unequal number of lines.", expectedLines.size() == actualLines.size() ); + } + + private List getLines( String mavenRepo, File file ) + throws IOException + { + List lines = new ArrayList(); + + BufferedReader reader = new BufferedReader( new FileReader( file ) ); + + String line; + + while ( (line = reader.readLine()) != null ) + { + lines.add( StringUtils.replace( line, "#ArtifactRepositoryPath#", mavenRepo.replace( '\\', '/' ) ) ); + } + + return lines; + } +} diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.classpath b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.classpath new file mode 100644 index 0000000000..e1b10830c5 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.classpath @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.cvsignore b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.cvsignore new file mode 100644 index 0000000000..652d13654b --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.cvsignore @@ -0,0 +1,8 @@ +*~ +*.log +target +*.ipr +*.iws +*.iml +.classpath +.project diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.project b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.project new file mode 100644 index 0000000000..e1fc6762cd --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/.project @@ -0,0 +1,14 @@ + + maven-eclipse-plugin-test-project-1 + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + \ No newline at end of file diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/classpath b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/classpath new file mode 100644 index 0000000000..659c30c8ca --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project new file mode 100644 index 0000000000..b4fc665242 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project @@ -0,0 +1,14 @@ + + maven-eclipse-plugin-test-project-1 + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project.xml b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project.xml new file mode 100644 index 0000000000..3dab515905 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/project.xml @@ -0,0 +1,18 @@ + + + + 4.0.0 + eclipse + maven-eclipse-plugin-test-project-1 + 99.0 + Maven + + + + maven + maven-core + 2.0-SNAPSHOT + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/src/main/java/DummyClass.java b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/src/main/java/DummyClass.java new file mode 100644 index 0000000000..9e5b7a2382 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-1/src/main/java/DummyClass.java @@ -0,0 +1,7 @@ +/** + * @author Trygve Laugstøl + * @version $Id$ + */ +public class DummyClass +{ +} diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.classpath b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.classpath new file mode 100644 index 0000000000..65275a7070 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.cvsignore b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.cvsignore new file mode 100644 index 0000000000..652d13654b --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.cvsignore @@ -0,0 +1,8 @@ +*~ +*.log +target +*.ipr +*.iws +*.iml +.classpath +.project diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.project b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.project new file mode 100644 index 0000000000..f1ea653ea0 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/.project @@ -0,0 +1,14 @@ + + maven-eclipse-plugin-test-project-2 + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + \ No newline at end of file diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/classpath b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/classpath new file mode 100644 index 0000000000..b9f295b1ae --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project new file mode 100644 index 0000000000..6cc2308765 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project @@ -0,0 +1,14 @@ + + maven-eclipse-plugin-test-project-2 + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project.xml b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project.xml new file mode 100644 index 0000000000..38543902a2 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/project.xml @@ -0,0 +1,18 @@ + + + + 4.0.0 + eclipse + maven-eclipse-plugin-test-project-2 + 88.0 + Maven + + + + junit + junit + 2.0 + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/java/DummyClass.java b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/java/DummyClass.java new file mode 100644 index 0000000000..9e5b7a2382 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/java/DummyClass.java @@ -0,0 +1,7 @@ +/** + * @author Trygve Laugstøl + * @version $Id$ + */ +public class DummyClass +{ +} diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/resources/dummy b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/main/resources/dummy new file mode 100644 index 0000000000..e69de29bb2 diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/java/DummyClass.java b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/java/DummyClass.java new file mode 100644 index 0000000000..9e5b7a2382 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/java/DummyClass.java @@ -0,0 +1,7 @@ +/** + * @author Trygve Laugstøl + * @version $Id$ + */ +public class DummyClass +{ +} diff --git a/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/resources/dummy b/maven-plugins/maven-eclipse-plugin/src/test/projects/project-2/src/test/resources/dummy new file mode 100644 index 0000000000..e69de29bb2 diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/classworlds/poms/classworlds-1.1-SNAPSHOT.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/classworlds/poms/classworlds-1.1-SNAPSHOT.pom new file mode 100644 index 0000000000..33348c3f0b --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/classworlds/poms/classworlds-1.1-SNAPSHOT.pom @@ -0,0 +1,80 @@ + + + 4.0.0 + classworlds + classworlds + classworlds + 1.1-SNAPSHOT + + The Codehaus + http://codehaus.org/ + http://codehaus.org/codehaus-small.gif + + 2002 + org.codehaus.classworlds + classworlds: Java(tm) ClassLoader Management Framework + http://images.werken.com/classworlds.gif + + + + + http://classworlds.codehaus.org/ + classworlds.codehaus.org + /www/classworlds.codehaus.org + + + + classworlds users + http://lists.codehaus.org/pipermail/classworlds-user/ + http://lists.codehaus.org/mailman/listinfo/classworlds-user + http://lists.codehaus.org/mailman/listinfo/classworlds-user + + + classworlds developers + http://lists.codehaus.org/pipermail/classworlds-dev/ + http://lists.codehaus.org/mailman/listinfo/classworlds-dev + http://lists.codehaus.org/mailman/listinfo/classworlds-dev + + + classworlds commit messages + http://lists.codehaus.org/pipermail/classworlds-scm/ + http://lists.codehaus.org/mailman/listinfo/classworlds-scm + http://lists.codehaus.org/mailman/listinfo/classworlds-scm + + + + + scm:cvs:pserver:anonymous@cvs.codehaus.org:/scm/cvspublic/:classworlds + http://cvs.classworlds.codehaus.org/ + + + + + bob mcwhirter + bob + bob@werken.com + The Werken Company + + Founder + + + + Jason van Zyl + jvanzyl + jason@zenplex.com + Zenplex + + Developer + + + + Ben Walding + bwalding + ben@walding.com + Walding Consulting Services + + Developer + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/commons-cli/poms/commons-cli-1.0-beta-2.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/commons-cli/poms/commons-cli-1.0-beta-2.pom new file mode 100644 index 0000000000..d03ad41b04 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/commons-cli/poms/commons-cli-1.0-beta-2.pom @@ -0,0 +1,6 @@ + + 4.0.0 + commons-cli + commons-cli + 1.0-beta-2 + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/junit/jars/junit-2.0.jar b/maven-plugins/maven-eclipse-plugin/src/test/repository/junit/jars/junit-2.0.jar new file mode 100644 index 0000000000..e69de29bb2 diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/junit/poms/junit-2.0.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/junit/poms/junit-2.0.pom new file mode 100644 index 0000000000..b3838bd3d7 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/junit/poms/junit-2.0.pom @@ -0,0 +1,7 @@ + + 4.0.0 + junit + junit + jar + 2.0 + \ No newline at end of file diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/jars/maven-core-2.0-SNAPSHOT.jar b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/jars/maven-core-2.0-SNAPSHOT.jar new file mode 100644 index 0000000000..e69de29bb2 diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-artifact-2.0-SNAPSHOT.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-artifact-2.0-SNAPSHOT.pom new file mode 100644 index 0000000000..f6b4519ccd --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-artifact-2.0-SNAPSHOT.pom @@ -0,0 +1,11 @@ + + + maven-component + maven + 2.0-SNAPSHOT + + maven + maven-artifact + 2.0-SNAPSHOT + Maven Artifact + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-component-2.0-SNAPSHOT.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-component-2.0-SNAPSHOT.pom new file mode 100644 index 0000000000..d4c95490e3 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-component-2.0-SNAPSHOT.pom @@ -0,0 +1,29 @@ + + 4.0.0 + maven + maven-component + 2.0-SNAPSHOT + + + plexus + plexus-container-default + 1.0-alpha-2-SNAPSHOT + + + plexus + plexus-container-artifact + 1.0-alpha-2-SNAPSHOT + + + classworlds + classworlds + 1.1-SNAPSHOT + + + junit + junit + 3.8.1 + test + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-core-2.0-SNAPSHOT.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-core-2.0-SNAPSHOT.pom new file mode 100644 index 0000000000..1cdaffd4d1 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-core-2.0-SNAPSHOT.pom @@ -0,0 +1,6 @@ + + 4.0.0 + maven + maven-core + 2.0-SNAPSHOT + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-model-2.0-SNAPSHOT.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-model-2.0-SNAPSHOT.pom new file mode 100644 index 0000000000..8de7f3d3e5 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/maven/poms/maven-model-2.0-SNAPSHOT.pom @@ -0,0 +1,11 @@ + + 4.0.0 + + maven + maven-component + 2.0-SNAPSHOT + + maven + maven-model + 2.0-SNAPSHOT + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-components-1.0.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-components-1.0.pom new file mode 100644 index 0000000000..5837359650 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-components-1.0.pom @@ -0,0 +1,24 @@ + + 4.0.0 + + plexus + plexus-root + 1.0 + + plexus + plexus-components + 1.0 + Plexus Components Parent Project + + + plexus + plexus-container-default + 1.0-alpha-1-SNAPSHOT + + + plexus + plexus-utils + 1.0-alpha-1-SNAPSHOT + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-container-artifact-1.0-alpha-2-SNAPSHOT.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-container-artifact-1.0-alpha-2-SNAPSHOT.pom new file mode 100644 index 0000000000..88120ffde6 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-container-artifact-1.0-alpha-2-SNAPSHOT.pom @@ -0,0 +1,32 @@ + + + 4.0.0 + + plexus + plexus-containers + 1.0 + + plexus + plexus-container-artifact + 1.0-alpha-2-SNAPSHOT + Plexus Artifact-Enabled Container + + + plexus + plexus-container-default + 1.0-alpha-2-SNAPSHOT + + + maven + maven-artifact + 2.0-SNAPSHOT + + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-containers-1.0.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-containers-1.0.pom new file mode 100644 index 0000000000..c1a70805aa --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-containers-1.0.pom @@ -0,0 +1,21 @@ + + + + 4.0.0 + + plexus + plexus-root + 1.0 + + plexus + plexus-containers + Parent Plexus Container POM + 1.0 + + + plexus + plexus-utils + 1.0-alpha-1-SNAPSHOT + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-i18n-1.0-beta-3.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-i18n-1.0-beta-3.pom new file mode 100644 index 0000000000..273b2c37c3 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-i18n-1.0-beta-3.pom @@ -0,0 +1,12 @@ + + 4.0.0 + + plexus + plexus-components + 1.0 + + plexus + plexus-i18n + 1.0-beta-3 + Plexus I18N Component + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-root-1.0.pom b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-root-1.0.pom new file mode 100644 index 0000000000..25e3726b43 --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/repository/plexus/poms/plexus-root-1.0.pom @@ -0,0 +1,135 @@ + + + + 4.0.0 + plexus + plexus-root + plexus + 1.0 + + Codehaus + http://www.codehaus.org/ + /images/codehaus-small.gif + + 2001 + org.codehaus.plexus + /images/plexus-logo.gif + + + Plexus Developer List + http://lists.codehaus.org/mailman/listinfo/plexus-dev + http://lists.codehaus.org/mailman/listinfo/plexus-dev + http://lists.codehaus.org/pipermail/plexus-dev/ + + + + dev@plexus.codehaus.org + + + scm:cvs:pserver:anonymous@cvs.plexus.codehaus.org:/scm/plexus:plexus + scm:cvs:ext:${maven.username}@cvs.plexus.codehaus.org:/scm/plexus:plexus + + + + Jason van Zyl + jvanzyl + jason@zenplex.com + Zenplex + + Developer + Release Manager + + + + Pete Kazmier + kaz + + + + Developer + + + + James Taylor + jtaylor + james@jamestaylor.org + + + Developer + + + + Dan Diephouse + dandiep + dan@envoisolutions.com + Envoi solutions + + Developer + + + + Kasper Nielsen + kasper + apache@kav.dk + + + Developer + + + + Ben Walding + bwalding + bwalding@codehaus.org + Walding Consulting Services + + Developer + + + + Mark Wilkinson + mhw + mhw@kremvax.net + + Developer + + + + Michal Maczka + michal + mmaczka@interia.pl + + Developer + + + + Emmanuel Venisse + evenisse + evenisse@codehaus.org + + Developer + + + + + + + + + classworlds + classworlds + 1.1-alpha-1 + + + junit + junit + 3.8.1 + test + + + diff --git a/maven-plugins/maven-eclipse-plugin/src/test/resources/.cvsignore b/maven-plugins/maven-eclipse-plugin/src/test/resources/.cvsignore new file mode 100644 index 0000000000..652d13654b --- /dev/null +++ b/maven-plugins/maven-eclipse-plugin/src/test/resources/.cvsignore @@ -0,0 +1,8 @@ +*~ +*.log +target +*.ipr +*.iws +*.iml +.classpath +.project