You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2006/11/09 19:19:31 UTC
svn commit: r473001 - in
/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin: ./
src/main/java/org/apache/maven/plugin/eclipse/
src/main/java/org/apache/maven/plugin/eclipse/writers/
src/main/java/org/apache/maven/plugin/eclipse/writers/rad/ src/...
Author: jdcasey
Date: Thu Nov 9 10:19:31 2006
New Revision: 473001
URL: http://svn.apache.org/viewvc?view=rev&rev=473001
Log:
Got existing tests working without memory errors using maven-invoker...just need to get the rad tests working now.
Modified:
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/pom.xml
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/RadPlugin.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseProjectWriter.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadEjbClasspathWriter.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadManifestWriter.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/AbstractEclipsePluginTestCase.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginMasterProjectTest.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-22/pom.xml
maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-23/pom.xml
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/pom.xml?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/pom.xml (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/pom.xml Thu Nov 9 10:19:31 2006
@@ -36,6 +36,12 @@
<exclude>**/EclipsePluginMasterProjectTest.java</exclude>
<exclude>**/InstallPluginsMojoTest.java</exclude>
</excludes>
+ <systemProperties>
+ <property>
+ <name>maven.home</name>
+ <value>${env.M2_HOME}</value>
+ </property>
+ </systemProperties>
</configuration>
</plugin>
</plugins>
@@ -56,6 +62,12 @@
<groupId>easymock</groupId>
<artifactId>easymock</artifactId>
<version>1.2_Java1.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-invoker</artifactId>
+ <version>1.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java Thu Nov 9 10:19:31 2006
@@ -21,7 +21,10 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.LinkedList;
import java.util.List;
+import java.util.ListIterator;
import java.util.Set;
import java.util.TreeSet;
@@ -444,7 +447,7 @@
checkDeprecations();
ready = validate();
-
+
String packaging = executedProject.getPackaging();
// TODO: Why are we using project in some places, and executedProject in others??
@@ -457,7 +460,7 @@
setupExtras();
parseConfigurationOptions();
-
+
// defaults
if ( projectnatures == null )
{
@@ -473,9 +476,14 @@
{
fillDefaultBuilders( packaging );
}
+ else
+ {
+ convertBuildCommandList( buildcommands );
+ }
if ( additionalBuildcommands != null )
{
+ convertBuildCommandList( additionalBuildcommands );
buildcommands.addAll( additionalBuildcommands );
}
@@ -492,6 +500,23 @@
return ready;
}
+ protected void convertBuildCommandList( List commands )
+ {
+ if ( commands != null )
+ {
+ for ( ListIterator i = commands.listIterator(); i.hasNext(); )
+ {
+ Object command = i.next();
+
+ if ( command instanceof String )
+ {
+ command = new BuildCommand( (String) command );
+ i.set( command );
+ }
+ }
+ }
+ }
+
private void parseConfigurationOptions()
{
if ( "R7".equalsIgnoreCase( wtpversion ) ) //$NON-NLS-1$
@@ -513,6 +538,7 @@
}
protected void setupExtras()
+ throws MojoExecutionException
{
// extension point.
}
@@ -563,7 +589,13 @@
{
eclipseProjectDir = executedProject.getFile().getParentFile();
}
- else if ( !eclipseProjectDir.equals( executedProject.getFile().getParentFile() ) )
+
+ if ( !eclipseProjectDir.exists() && !eclipseProjectDir.mkdirs() )
+ {
+ throw new MojoExecutionException( Messages.getString( "EclipsePlugin.cantcreatedir", eclipseProjectDir ) ); //$NON-NLS-1$
+ }
+
+ if ( !eclipseProjectDir.equals( executedProject.getFile().getParentFile() ) )
{
if ( !eclipseProjectDir.isDirectory() )
{
@@ -608,29 +640,11 @@
public void writeConfiguration( IdeDependency[] deps )
throws MojoExecutionException
{
- File projectBaseDir = executedProject.getFile().getParentFile();
-
- // build a list of UNIQUE source dirs (both src and resources) to be
- // used in classpath and wtpmodules
- EclipseSourceDir[] sourceDirs = buildDirectoryList( executedProject, eclipseProjectDir, buildOutputDirectory );
-
- EclipseWriterConfig config = new EclipseWriterConfig();
- config.setBuildCommands( buildcommands );
- config.setBuildOutputDirectory( buildOutputDirectory );
- config.setClasspathContainers( classpathContainers );
- config.setDeps( deps );
- config.setEclipseProjectDirectory( eclipseProjectDir );
- config.setLocalRepository( localRepository );
- config.setManifestFile( manifest );
- config.setPde( pde );
- config.setProject( project );
- config.setProjectBaseDir( projectBaseDir );
- config.setProjectnatures( projectnatures );
- config.setSourceDirs( sourceDirs );
+ EclipseWriterConfig config = createEclipseWriterConfig( deps );
// NOTE: This could change the config!
writeExtraConfiguration( config );
-
+
if ( wtpVersionFloat == 0.7f )
{
new EclipseWtpmodulesWriter().init( getLog(), config ).write();
@@ -694,6 +708,57 @@
project.getArtifactId(), eclipseProjectDir.getAbsolutePath() } ) );
}
+ protected EclipseWriterConfig createEclipseWriterConfig( IdeDependency[] deps )
+ throws MojoExecutionException
+ {
+ File projectBaseDir = executedProject.getFile().getParentFile();
+
+ // build a list of UNIQUE source dirs (both src and resources) to be
+ // used in classpath and wtpmodules
+ EclipseSourceDir[] sourceDirs = buildDirectoryList( executedProject, eclipseProjectDir, buildOutputDirectory );
+
+ EclipseWriterConfig config = new EclipseWriterConfig();
+
+ // TODO: add mojo param 'addVersionToProjectName' and if set append
+ // -version to the project name.
+ config.setEclipseProjectName( project.getArtifactId() );
+
+ Set convertedBuildCommands = new LinkedHashSet();
+
+ if ( buildcommands != null )
+ {
+ for ( Iterator it = buildcommands.iterator(); it.hasNext(); )
+ {
+ Object cmd = it.next();
+
+ if ( cmd instanceof BuildCommand )
+ {
+ convertedBuildCommands.add( (BuildCommand) cmd );
+ }
+ else
+ {
+ convertedBuildCommands.add( new BuildCommand( (String) cmd ) );
+ }
+ }
+ }
+
+ config.setBuildCommands( new LinkedList( convertedBuildCommands ) );
+
+ config.setBuildOutputDirectory( buildOutputDirectory );
+ config.setClasspathContainers( classpathContainers );
+ config.setDeps( deps );
+ config.setEclipseProjectDirectory( eclipseProjectDir );
+ config.setLocalRepository( localRepository );
+ config.setManifestFile( manifest );
+ config.setPde( pde );
+ config.setProject( project );
+ config.setProjectBaseDir( projectBaseDir );
+ config.setProjectnatures( projectnatures );
+ config.setSourceDirs( sourceDirs );
+
+ return config;
+ }
+
/**
* Write any extra configuration information for the Eclipse project. This is an extension
* point, called before the main configurations are written.
@@ -768,33 +833,33 @@
if ( wtpVersionFloat == 0.7f )
{
- buildcommands.add( BUILDER_WST_COMPONENT_STRUCTURAL ); // WTP 0.7 builder
+ buildcommands.add( new BuildCommand( BUILDER_WST_COMPONENT_STRUCTURAL ) ); // WTP 0.7 builder
}
if ( isJavaProject )
{
- buildcommands.add( BUILDER_JDT_CORE_JAVA );
+ buildcommands.add( new BuildCommand( BUILDER_JDT_CORE_JAVA ) );
}
if ( wtpVersionFloat >= 1.5f )
{
- buildcommands.add( BUILDER_WST_FACET ); // WTP 1.5 builder
+ buildcommands.add( new BuildCommand( BUILDER_WST_FACET ) ); // WTP 1.5 builder
}
if ( wtpVersionFloat >= 0.7f )
{
- buildcommands.add( BUILDER_WST_VALIDATION ); // WTP 0.7/1.0 builder
+ buildcommands.add( new BuildCommand( BUILDER_WST_VALIDATION ) ); // WTP 0.7/1.0 builder
}
if ( wtpVersionFloat == 0.7f )
{
- buildcommands.add( BUILDER_WST_COMPONENT_STRUCTURAL_DEPENDENCY_RESOLVER ); // WTP 0.7 builder
+ buildcommands.add( new BuildCommand( BUILDER_WST_COMPONENT_STRUCTURAL_DEPENDENCY_RESOLVER ) ); // WTP 0.7 builder
}
if ( pde )
{
- buildcommands.add( BUILDER_PDE_MANIFEST );
- buildcommands.add( BUILDER_PDE_SCHEMA );
+ buildcommands.add( new BuildCommand( BUILDER_PDE_MANIFEST ) );
+ buildcommands.add( new BuildCommand( BUILDER_PDE_SCHEMA ) );
}
}
@@ -830,8 +895,8 @@
return (EclipseSourceDir[]) directories.toArray( new EclipseSourceDir[directories.size()] );
}
- private void extractSourceDirs( Set directories, List sourceRoots, File basedir, File projectBaseDir,
- boolean test, String output )
+ private void extractSourceDirs( Set directories, List sourceRoots, File basedir, File projectBaseDir, boolean test,
+ String output )
throws MojoExecutionException
{
for ( Iterator it = sourceRoots.iterator(); it.hasNext(); )
@@ -844,7 +909,7 @@
String sourceRoot = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, sourceRootFile, !projectBaseDir
.equals( basedir ) );
- directories.add( new EclipseSourceDir( sourceRoot, output, false, test, null, null ) );
+ directories.add( new EclipseSourceDir( sourceRoot, output, false, test, null, null, false ) );
}
}
}
@@ -856,9 +921,9 @@
for ( Iterator it = resources.iterator(); it.hasNext(); )
{
Resource resource = (Resource) it.next();
-
+
System.out.println( "Processing resource dir: " + resource.getDirectory() );
-
+
String includePattern = null;
String excludePattern = null;
@@ -902,9 +967,10 @@
output = IdeUtils.toRelativeAndFixSeparator( projectBaseDir, outputFile, false );
}
- System.out.println( "Adding eclipse source dir: { " + resourceDir + ", " + output + ", true, " + test + ", " + includePattern + ", " + excludePattern + " }." );
-
- directories.add( new EclipseSourceDir( resourceDir, output, true, test, includePattern, excludePattern ) );
+ System.out.println( "Adding eclipse source dir: { " + resourceDir + ", " + output + ", true, " + test
+ + ", " + includePattern + ", " + excludePattern + " }." );
+
+ directories.add( new EclipseSourceDir( resourceDir, output, true, test, includePattern, excludePattern, resource.isFiltering() ) );
}
}
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/RadPlugin.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/RadPlugin.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/RadPlugin.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/RadPlugin.java Thu Nov 9 10:19:31 2006
@@ -11,6 +11,7 @@
import org.apache.maven.plugin.eclipse.writers.rad.RadManifestWriter;
import org.apache.maven.plugin.eclipse.writers.rad.RadWebSettingsWriter;
import org.apache.maven.plugin.eclipse.writers.rad.RadWebsiteConfigWriter;
+import org.apache.maven.plugin.ide.IdeDependency;
import org.apache.maven.project.MavenProject;
import java.io.File;
@@ -108,6 +109,8 @@
protected void writeExtraConfiguration( EclipseWriterConfig config )
throws MojoExecutionException
{
+ super.writeExtraConfiguration( config );
+
if ( isJavaProject )
{
// special case must be done first because it can add stuff to the classpath that will be
@@ -132,9 +135,12 @@
* make room for a Manifest file. use a generated resource for JARS and for
* WARS use the manifest in the webapp/meta-inf directory.
*/
- private void addManifestResource()
+ private void addManifestResource( EclipseWriterConfig config )
{
- if ( new RadManifestWriter().getMetaInfBaseDirectory( getExecutedProject() ) != null )
+ RadManifestWriter manifestWriter = new RadManifestWriter();
+ manifestWriter.init( getLog(), config );
+
+ if ( manifestWriter.getMetaInfBaseDirectory( getExecutedProject() ) != null )
{
return;
}
@@ -177,6 +183,8 @@
*/
protected void fillDefaultBuilders( String packaging )
{
+ super.fillDefaultBuilders( packaging );
+
ArrayList buildcommands = new ArrayList();
if ( Constants.PROJECT_PACKAGING_EAR.equals( packaging ) )
{
@@ -220,6 +228,8 @@
*/
protected void fillDefaultNatures( String packaging )
{
+ super.fillDefaultNatures( packaging );
+
ArrayList projectnatures = new ArrayList();
if ( Constants.PROJECT_PACKAGING_EAR.equals( packaging ) )
{
@@ -285,8 +295,17 @@
return false;
}
+ /**
+ * WARNING: The manifest resources added here will not have the benefit of the dependencies
+ * of the project, since that's not provided in the setup() apis...
+ */
protected void setupExtras()
+ throws MojoExecutionException
{
- addManifestResource();
+ super.setupExtras();
+
+ EclipseWriterConfig config = createEclipseWriterConfig( new IdeDependency[0] );
+
+ addManifestResource( config );
}
}
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseProjectWriter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseProjectWriter.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseProjectWriter.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/EclipseProjectWriter.java Thu Nov 9 10:19:31 2006
@@ -143,7 +143,7 @@
for ( Iterator iter = config.getBuildCommands().iterator(); iter.hasNext(); )
{
- buildCommands.add( iter.next() );
+ buildCommands.add( (BuildCommand) iter.next() );
}
Writer w;
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadEjbClasspathWriter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadEjbClasspathWriter.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadEjbClasspathWriter.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadEjbClasspathWriter.java Thu Nov 9 10:19:31 2006
@@ -78,6 +78,11 @@
{
new File( config.getEclipseProjectDirectory(), TARGET_WEBSPHERE_CLASSES ).mkdirs();
File classpathFile = new File( config.getEclipseProjectDirectory(), CLASSPATH_FILE );
+
+ if ( !classpathFile.exists() )
+ {
+ return;
+ }
FileWriter w;
Xpp3Dom classpath = readXMLFile( classpathFile );
Xpp3Dom[] children = classpath.getChildren();
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadManifestWriter.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadManifestWriter.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadManifestWriter.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/writers/rad/RadManifestWriter.java Thu Nov 9 10:19:31 2006
@@ -25,7 +25,11 @@
/**
* Create or adapt the manifest files for the RAD6 runtime dependencys.
* attention these will not be used for the real ear these are just to get the
- * runtime enviorment using the maven dependencys.
+ * runtime enviorment using the maven dependencies.
+ *
+ * WARNING: The manifest resources added here will not have the benefit of the dependencies
+ * of the project, since that's not provided in the setup() apis, one of the locations from which
+ * this writer is used in the RadPlugin.
*
* @author <a href="mailto:nir@cfc.at">Richard van Nieuwenhoven </a>
*/
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/AbstractEclipsePluginTestCase.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/AbstractEclipsePluginTestCase.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/AbstractEclipsePluginTestCase.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/AbstractEclipsePluginTestCase.java Thu Nov 9 10:19:31 2006
@@ -15,30 +15,48 @@
*/
package org.apache.maven.plugin.eclipse;
-import org.apache.maven.cli.ConsoleDownloadMonitor;
-import org.apache.maven.embedder.MavenEmbedder;
-import org.apache.maven.embedder.MavenEmbedderConsoleLogger;
-import org.apache.maven.embedder.PlexusLoggerAdapter;
-import org.apache.maven.monitor.event.DefaultEventMonitor;
-import org.apache.maven.monitor.event.EventMonitor;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.installer.ArtifactInstaller;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
import org.apache.maven.plugin.ide.IdeUtils;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.artifact.ProjectArtifactMetadata;
+import org.apache.maven.shared.invoker.DefaultInvocationRequest;
+import org.apache.maven.shared.invoker.DefaultInvoker;
+import org.apache.maven.shared.invoker.InvocationRequest;
+import org.apache.maven.shared.invoker.Invoker;
+import org.apache.maven.shared.invoker.MavenInvocationException;
+import org.codehaus.classworlds.ClassRealm;
+import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
+import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Iterator;
import java.util.List;
import java.util.Properties;
@@ -51,90 +69,279 @@
extends PlexusTestCase
{
+ private static Invoker mavenInvoker = new DefaultInvoker();
+
/**
* The embedder.
*/
- protected MavenEmbedder maven;
+ // protected MavenEmbedder maven;
+ private ArtifactRepository localRepository;
+
+ private MavenProjectBuilder projectBuilder;
/**
* Test repository directory.
*/
- protected File localRepositoryDir = getTestFile( "target/test-classes/m2repo" );
-
+ protected static final File LOCAL_REPO_DIR = getTestFile( "target/test-classes/m2repo" );
+
/**
- * Location in test localRepository for staging the plugin jar.
+ * Group-Id for running test builds.
*/
- protected File pluginFile = new File( localRepositoryDir, "/org/apache/maven/plugins/maven-eclipse-plugin/current/maven-eclipse-plugin-current.jar" );
-
+ protected static final String GROUP_ID = "org.apache.maven.plugins";
+
/**
- * Location in test localRepository for staging the plugin metadata.
+ * Artifact-Id for running test builds.
*/
- protected File metadataFile = new File( localRepositoryDir, "/org/apache/maven/plugins/maven-eclipse-plugin/maven-metadata-local.xml" );
+ protected static final String ARTIFACT_ID = "maven-eclipse-plugin";
/**
- * Location in test localRepository for staging the plugin POM.
+ * Version under which the plugin was installed to the test-time local repository for running
+ * test builds.
*/
- protected File pomFile = new File( localRepositoryDir, "/org/apache/maven/plugins/maven-eclipse-plugin/current/maven-eclipse-plugin-current.pom" );
+ protected static final String VERSION = "test";
+ private static String mvnHome;
+
+ private static boolean installed = false;
+
/**
* @see org.codehaus.plexus.PlexusTestCase#setUp()
*/
protected void setUp()
throws Exception
{
+ synchronized( AbstractEclipsePluginTestCase.class )
+ {
+ if ( mvnHome == null )
+ {
+ mvnHome = System.getProperty( "maven.home" );
+
+ if ( mvnHome == null )
+ {
+ Properties envVars = CommandLineUtils.getSystemEnvVars();
+
+ mvnHome = envVars.getProperty( "M2_HOME" );
+ }
+ }
+
+ if ( mvnHome != null )
+ {
+ mavenInvoker.setMavenHome( new File( mvnHome ) );
+ }
+ }
+
+ // this.maven = new MavenEmbedder();
+ // this.maven.setClassLoader( Thread.currentThread().getContextClassLoader() );
+ // this.maven.setLogger( new MavenEmbedderConsoleLogger() );
+ // this.maven.setLocalRepositoryDirectory( LOCAL_REPO_DIR );
+ // this.maven.setOffline( true );
+ // this.maven.setInteractiveMode( false );
+ // this.maven.start();
- this.maven = new MavenEmbedder();
- this.maven.setClassLoader( Thread.currentThread().getContextClassLoader() );
- this.maven.setLogger( new MavenEmbedderConsoleLogger() );
- this.maven.setLocalRepositoryDirectory( localRepositoryDir );
- this.maven.setOffline( true );
- this.maven.setInteractiveMode( false );
- this.maven.start();
+ super.setUp();
- stagePlugin();
+ projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+ createLocalArtifactRepositoryInstance();
- super.setUp();
+ // We need to call super.setup() first, to ensure that we can use the PlexusContainer
+ // initialized in the parent class.
+ installPluginInTestLocalRepository();
}
- protected void stagePlugin()
- throws ArchiverException, IOException
+ protected void createLocalArtifactRepositoryInstance()
+ throws Exception
{
- pluginFile.getParentFile().mkdirs();
-
- JarArchiver jarArchiver = new JarArchiver();
- jarArchiver.setDestFile( pluginFile );
- jarArchiver.addDirectory( new File( "target/classes" ) );
+ ArtifactRepositoryFactory repoFactory = (ArtifactRepositoryFactory) lookup( ArtifactRepositoryFactory.ROLE );
+ ArtifactRepositoryLayout defaultLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
+ "default" );
+
+ localRepository = repoFactory.createArtifactRepository( "local", LOCAL_REPO_DIR.toURL().toExternalForm(),
+ defaultLayout, null, null );
+
+ }
+
+ protected void installPluginInTestLocalRepository()
+ throws Exception
+ {
+ // synchronizing just in case we try to parallelize later...
+ synchronized ( AbstractEclipsePluginTestCase.class )
+ {
+ if ( !installed )
+ {
+ System.out.println( "\n\n\n\n*** Installing test-version of the Eclipse plugin to: " + LOCAL_REPO_DIR + "***\n\n\n\n" );
+
+ ArtifactInstaller installer = (ArtifactInstaller) lookup( ArtifactInstaller.ROLE );
+ ArtifactFactory factory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+
+ Artifact artifact = factory.createArtifact( GROUP_ID, ARTIFACT_ID, VERSION, null, "maven-plugin" );
+
+ File pomFile = manglePom();
+ File artifactFile = new File( "target/" + ARTIFACT_ID + "-" + VERSION + ".jar" );
+
+ artifact.addMetadata( new ProjectArtifactMetadata( artifact, pomFile ) );
+
+ Properties properties = new Properties();
+// properties.setProperty( "maven.test.skip", "true" );
+
+ List goals = new ArrayList();
+ goals.add( "package" );
+
+ executeMaven( pomFile, properties, goals, false );
+
+ artifact.setFile( artifactFile );
+
+ String localPath = localRepository.pathOf( artifact );
+
+ File destination = new File( localRepository.getBasedir(), localPath );
+ if ( !destination.getParentFile().exists() )
+ {
+ destination.getParentFile().mkdirs();
+ }
+
+ System.out.println( "Installing " + artifactFile.getPath() + " to " + destination );
+
+ installer.install( artifactFile, artifact, localRepository );
+
+ installLocalParentSnapshotPoms( pomFile, installer, factory, localRepository );
+
+ installed = true;
+ }
+ }
+ }
+
+ private File manglePom() throws IOException, XmlPullParserException
+ {
+ File input = new File( "pom.xml" );
- jarArchiver.createArchive();
+ File output = new File( "pom-test.xml" );
+ output.deleteOnExit();
+ FileReader reader = null;
FileWriter writer = null;
+
try
{
- metadataFile.getParentFile().mkdirs();
+ reader = new FileReader( input );
+ writer = new FileWriter( output );
+
+ Model model = new MavenXpp3Reader().read( reader );
+
+ model.setVersion( "test" );
+
+ Build build = model.getBuild();
+ if ( build == null )
+ {
+ build = new Build();
+ model.setBuild( build );
+ }
- writer = new FileWriter( metadataFile );
+ List plugins = build.getPlugins();
+ Plugin plugin = null;
+ for ( Iterator iter = plugins.iterator(); iter.hasNext(); )
+ {
+ Plugin plug = (Plugin) iter.next();
+
+ if ( "maven-surefire-plugin".equals( plug.getArtifactId() ) )
+ {
+ plugin = plug;
+ break;
+ }
+ }
- writer.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
- "\n<metadata>" +
- "\n <groupId>org.apache.maven.plugins</groupId>" +
- "\n <artifactId>maven-eclipse-plugin</artifactId>" +
- "\n <versioning>" +
- "\n <latest>current</latest>" +
- "\n <release>current</release>" +
- "\n <versions>" +
- "\n <version>current</version>" +
- "\n </versions>" +
- "\n <lastUpdated>" + System.currentTimeMillis() + "</lastUpdated>" +
- "\n </versioning>" +
- "\n</metadata>" );
+ if ( plugin == null )
+ {
+ plugin = new Plugin();
+ plugin.setArtifactId( "maven-surefire-plugin" );
+ build.addPlugin( plugin );
+ }
+
+ Xpp3Dom configDom = (Xpp3Dom) plugin.getConfiguration();
+ if ( configDom == null )
+ {
+ configDom = new Xpp3Dom( "configuration" );
+ plugin.setConfiguration( configDom );
+ }
+
+ Xpp3Dom skipDom = new Xpp3Dom( "skip" );
+ skipDom.setValue( "true" );
+
+ configDom.addChild( skipDom );
+
+ new MavenXpp3Writer().write( writer, model );
}
finally
{
+ IOUtil.close( reader );
IOUtil.close( writer );
}
- pomFile.getParentFile().mkdirs();
- FileUtils.copyFile( new File( "pom.xml" ), pomFile );
+ return output;
+ }
+
+ private void installLocalParentSnapshotPoms( File pomFile, ArtifactInstaller installer, ArtifactFactory factory,
+ ArtifactRepository localRepo )
+ throws IOException, XmlPullParserException, ArtifactInstallationException
+ {
+ MavenXpp3Reader pomReader = new MavenXpp3Reader();
+
+ File pom = pomFile;
+
+ boolean firstPass = true;
+
+ while ( pom != null )
+ {
+
+ if ( !pom.exists() )
+ {
+ pom = null;
+ break;
+ }
+
+ String pomGroupId = null;
+ String pomArtifactId = null;
+ String pomVersion = null;
+
+ FileReader reader = null;
+
+ File currentPom = pom;
+
+ try
+ {
+ reader = new FileReader( pom );
+
+ Model model = pomReader.read( reader );
+
+ pomGroupId = model.getGroupId();
+ pomArtifactId = model.getArtifactId();
+ pomVersion = model.getVersion();
+
+ Parent parent = model.getParent();
+ if ( parent != null )
+ {
+ pom = new File( pom.getParentFile(), parent.getRelativePath() );
+ }
+ else
+ {
+ pom = null;
+ }
+ }
+ finally
+ {
+ IOUtil.close( reader );
+ }
+
+ if ( !firstPass )
+ {
+ Artifact pomArtifact = factory.createProjectArtifact( pomGroupId, pomArtifactId, pomVersion );
+ pomArtifact.addMetadata( new ProjectArtifactMetadata( pomArtifact, currentPom ) );
+
+ installer.install( currentPom, pomArtifact, localRepo );
+ }
+ else
+ {
+ firstPass = false;
+ }
+ }
}
/**
@@ -143,8 +350,34 @@
protected void tearDown()
throws Exception
{
- maven.stop();
- super.tearDown();
+ // maven.stop();
+ // super.tearDown();
+ //
+ // Field embedderField = maven.getClass().getDeclaredField( "embedder" );
+ // embedderField.setAccessible( true );
+ // Embedder embedder = (Embedder) embedderField.get( maven );
+
+ List containers = new ArrayList();
+
+ // containers.add( embedder.getContainer() );
+ containers.add( getContainer() );
+
+ for ( Iterator iter = containers.iterator(); iter.hasNext(); )
+ {
+ PlexusContainer container = (PlexusContainer) iter.next();
+
+ if ( container != null )
+ {
+ container.dispose();
+
+ ClassRealm realm = container.getContainerRealm();
+
+ if ( realm != null )
+ {
+ realm.getWorld().disposeRealm( realm.getId() );
+ }
+ }
+ }
}
/**
@@ -182,12 +415,20 @@
protected void testProject( String projectName, Properties properties, String cleanGoal, String genGoal )
throws Exception
{
-
File basedir = getTestFile( "target/test-classes/projects/" + projectName );
- MavenProject project = maven.readProjectWithDependencies( new File( basedir, "pom.xml" ) );
+ File pom = new File( basedir, "pom.xml" );
+
+ String pluginSpec = getPluginCLISpecification();
+
+ List goals = new ArrayList();
- EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
+ goals.add( pluginSpec + cleanGoal );
+ goals.add( pluginSpec + genGoal );
+
+ executeMaven( pom, properties, goals );
+
+ MavenProject project = readProject( pom );
String outputDirPath = IdeUtils.getPluginSetting( project, "maven-eclipse-plugin", "outputDir", null );
File outputDir;
@@ -204,17 +445,64 @@
projectOutputDir = new File( outputDir, project.getArtifactId() );
}
- this.maven.execute( project, Arrays.asList( new String[] {
- "org.apache.maven.plugins:maven-eclipse-plugin:current:" + cleanGoal,
- "org.apache.maven.plugins:maven-eclipse-plugin:current:" + genGoal } ), eventMonitor, new ConsoleDownloadMonitor(),
- properties, basedir );
-
compareDirectoryContent( basedir, projectOutputDir, "" );
compareDirectoryContent( basedir, projectOutputDir, ".settings/" );
compareDirectoryContent( basedir, projectOutputDir, "META-INF/" );
}
+ protected void executeMaven( File pom, Properties properties, List goals )
+ throws MavenInvocationException
+ {
+ executeMaven( pom, properties, goals, true );
+ }
+
+ protected void executeMaven( File pom, Properties properties, List goals, boolean switchLocalRepo )
+ throws MavenInvocationException
+ {
+ InvocationRequest request = new DefaultInvocationRequest();
+
+// request.setDebug( true );
+
+ if ( switchLocalRepo )
+ {
+ request.setLocalRepositoryDirectory( LOCAL_REPO_DIR );
+ }
+
+ request.setPomFile( pom );
+
+ request.setGoals( goals );
+
+ request.setProperties( properties );
+
+ mavenInvoker.execute( request );
+ }
+
+ protected MavenProject readProject( File pom )
+ throws ProjectBuildingException
+ {
+ return projectBuilder.build( pom, localRepository, null );
+ }
+
+ protected String getPluginCLISpecification()
+ {
+ String pluginSpec = GROUP_ID + ":" + ARTIFACT_ID + ":";
+
+ // String pluginVersion = System.getProperty( "pluginVersion" );
+ //
+ // if ( pluginVersion != null )
+ // {
+ // pluginSpec += pluginVersion + ":";
+ // }
+ //
+ // System.out.println( "\n\nUsing Eclipse plugin version: " + pluginVersion + "\n\n" );
+
+ // try using the test-version installed during setUp()
+ pluginSpec += VERSION + ":";
+
+ return pluginSpec;
+ }
+
/**
* @param basedir
* @param projectOutputDir
@@ -239,8 +527,8 @@
{
File file = files[j];
- assertFileEquals( localRepositoryDir.getCanonicalPath(), file,
- new File( projectOutputDir, additionalDir + file.getName() ) );
+ assertFileEquals( LOCAL_REPO_DIR.getCanonicalPath(), file, new File( projectOutputDir, additionalDir
+ + file.getName() ) );
}
}
@@ -262,8 +550,8 @@
// replace some vars in the expected line, to account
// for absolute paths that are different on each installation.
expected = StringUtils.replace( expected, "${basedir}", basedir );
- expected = StringUtils.replace( expected, "${M2_REPO}", localRepositoryDir.getCanonicalPath()
- .replace( '\\', '/' ) );
+ expected = StringUtils.replace( expected, "${M2_REPO}", LOCAL_REPO_DIR.getCanonicalPath().replace( '\\',
+ '/' ) );
if ( actualLines.size() <= i )
{
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginMasterProjectTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginMasterProjectTest.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginMasterProjectTest.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/EclipsePluginMasterProjectTest.java Thu Nov 9 10:19:31 2006
@@ -22,7 +22,9 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
import java.util.Properties;
import org.apache.maven.cli.ConsoleDownloadMonitor;
@@ -99,16 +101,27 @@
public void executeMaven2WithEmbedder()
throws Exception
{
- MavenProject project = maven.readProjectWithDependencies( new File( basedir, "pom.xml" ) );
- EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
-
+ File pom = new File( basedir, "pom.xml" );
+
Properties properties = new Properties();
properties.setProperty( "wtpversion", "R7" );
- this.maven.execute( project, Arrays.asList( new String[] {
- "org.apache.maven.plugins:maven-eclipse-plugin:clean",
- "org.apache.maven.plugins:maven-eclipse-plugin:eclipse" } ), eventMonitor, new ConsoleDownloadMonitor(),
- properties, this.basedir );
+ String pluginSpec = getPluginCLISpecification();
+
+ List goals = new ArrayList();
+
+ goals.add( pluginSpec + "clean" );
+ goals.add( pluginSpec + "eclipse" );
+
+ executeMaven( pom, properties, goals );
+
+// MavenProject project = maven.readProjectWithDependencies( pom );
+// EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
+//
+// this.maven.execute( project, Arrays.asList( new String[] {
+// "org.apache.maven.plugins:maven-eclipse-plugin:clean",
+// "org.apache.maven.plugins:maven-eclipse-plugin:eclipse" } ), eventMonitor, new ConsoleDownloadMonitor(),
+// properties, this.basedir );
}
protected void executeMaven2()
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/RadPluginTest.java Thu Nov 9 10:19:31 2006
@@ -16,12 +16,6 @@
package org.apache.maven.plugin.eclipse;
-import java.io.File;
-import java.io.FileReader;
-import java.util.Arrays;
-import java.util.Properties;
-
-import org.apache.maven.cli.ConsoleDownloadMonitor;
import org.apache.maven.embedder.MavenEmbedderConsoleLogger;
import org.apache.maven.embedder.PlexusLoggerAdapter;
import org.apache.maven.monitor.event.DefaultEventMonitor;
@@ -32,6 +26,12 @@
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
*/
@@ -50,7 +50,7 @@
testProject( "project-rad-2", new Properties(), "rad-clean", "rad" );
File generatedManifest = getTestFile( "src/test/resources/projects/project-rad-2/src/main/webapp/META-INF/MANIFEST.MF" );
File expectedManifest = getTestFile( "src/test/resources/projects/project-rad-2/src/main/webapp/META-INF/expected_MANIFEST.MF" );
- assertFileEquals( this.localRepositoryDir.getCanonicalPath(), generatedManifest, expectedManifest );
+ assertFileEquals( LOCAL_REPO_DIR.getCanonicalPath(), generatedManifest, expectedManifest );
}
@@ -60,7 +60,7 @@
testProject( "project-rad-3", new Properties(), "rad-clean", "rad" );
File generatedManifest = getTestFile( "src/test/resources/projects/project-rad-3/ejbModule/META-INF/MANIFEST.MF" );
File expectedManifest = getTestFile( "src/test/resources/projects/project-rad-3/ejbModule/META-INF/expected_MANIFEST.MF" );
- assertFileEquals( this.localRepositoryDir.getCanonicalPath(), generatedManifest, expectedManifest );
+ assertFileEquals( LOCAL_REPO_DIR.getCanonicalPath(), generatedManifest, expectedManifest );
}
public void testProject4()
@@ -74,18 +74,18 @@
{
File basedir = getTestFile( "src/test/resources/projects/project-rad-5" );
- FileUtils.deleteDirectory( getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/META-INF" ) );
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/META-INF" ).mkdir();
+ FileUtils.deleteDirectory( new File( basedir, "project-rad-1/META-INF" ) );
+ new File( basedir, "project-rad-1/META-INF" ).mkdirs();
- MavenProject project = this.maven.readProjectWithDependencies( new File( basedir, "pom.xml" ) );
- MavenProject project2 = this.maven
- .readProjectWithDependencies( new File(
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-2" ),
- "pom.xml" ) );
- MavenProject project3 = this.maven
- .readProjectWithDependencies( new File(
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-3" ),
- "pom.xml" ) );
+ File pom0 = new File( basedir, "pom.xml" );
+ File pom1 = new File( basedir, "project-rad-1/pom.xml" );
+ File pom2 = new File( basedir, "project-rad-2/pom.xml" );
+ File pom3 = new File( basedir, "project-rad-3/pom.xml" );
+
+ MavenProject project = readProject( pom0 );
+ MavenProject project1 = readProject( pom1 );
+ MavenProject project2 = readProject( pom2 );
+ MavenProject project3 = readProject( pom3 );
EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
@@ -102,22 +102,36 @@
outputDir.mkdirs();
new File( outputDir, project.getArtifactId() );
}
- this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
- .asList( new String[] {
- "install",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
- new Properties(), basedir );
- MavenProject project1 = this.maven
- .readProjectWithDependencies( new File(
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1" ),
- "pom.xml" ) );
- this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
- .asList( new String[] {
- "install",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
- new Properties(), basedir );
+
+ List goals = new ArrayList();
+
+ String pluginSpec = getPluginCLISpecification();
+
+ goals.add( pluginSpec + "rad-clean" );
+ goals.add( pluginSpec + "rad" );
+
+ Properties props = new Properties();
+
+ executeMaven( pom0, props, goals );
+ executeMaven( pom2, props, goals );
+ executeMaven( pom3, props, goals );
+
+ executeMaven( pom1, props, goals );
+ executeMaven( pom2, props, goals );
+ executeMaven( pom3, props, goals );
+
+// this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
+// .asList( new String[] {
+// "install",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+// new Properties(), basedir );
+// this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
+// .asList( new String[] {
+// "install",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+// new Properties(), basedir );
// jar muss reincoliert sein
assertTrue( getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/maven-core-98.0.jar" )
@@ -149,21 +163,21 @@
public void testProject5_2()
throws Exception
{
-
- FileUtils.deleteDirectory( getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/META-INF" ) );
- FileUtils.copyDirectory( getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/META-INF-2" ),
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/META-INF" ) );
-
File basedir = getTestFile( "src/test/resources/projects/project-rad-5" );
- MavenProject project = this.maven.readProjectWithDependencies( new File( basedir, "pom.xml" ) );
- MavenProject project2 = this.maven
- .readProjectWithDependencies( new File(
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-2" ),
- "pom.xml" ) );
- MavenProject project3 = this.maven
- .readProjectWithDependencies( new File(
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-3" ),
- "pom.xml" ) );
+
+ FileUtils.deleteDirectory( new File( basedir, "project-rad-1/META-INF" ) );
+ FileUtils.copyDirectory( new File( basedir, "project-rad-1/META-INF-2" ),
+ new File( basedir, "project-rad-1/META-INF" ) );
+
+ File pom0 = new File( basedir, "pom.xml" );
+ File pom1 = new File( basedir, "project-rad-1/pom.xml" );
+ File pom2 = new File( basedir, "project-rad-2/pom.xml" );
+ File pom3 = new File( basedir, "project-rad-3/pom.xml" );
+
+ MavenProject project = readProject( pom0 );
+ MavenProject project1 = readProject( pom1 );
+ MavenProject project2 = readProject( pom2 );
+ MavenProject project3 = readProject( pom3 );
EventMonitor eventMonitor = new DefaultEventMonitor( new PlexusLoggerAdapter( new MavenEmbedderConsoleLogger() ) );
@@ -180,22 +194,37 @@
outputDir.mkdirs();
new File( outputDir, project.getArtifactId() );
}
- this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
- .asList( new String[] {
- "install",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
- new Properties(), basedir );
- MavenProject project1 = this.maven
- .readProjectWithDependencies( new File(
- getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1" ),
- "pom.xml" ) );
- this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
- .asList( new String[] {
- "install",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
- "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
- new Properties(), basedir );
+
+ List goals = new ArrayList();
+
+ String pluginSpec = getPluginCLISpecification();
+
+ goals.add( pluginSpec + "rad-clean" );
+ goals.add( pluginSpec + "rad" );
+
+ Properties props = new Properties();
+
+ executeMaven( pom0, props, goals );
+ executeMaven( pom2, props, goals );
+ executeMaven( pom3, props, goals );
+
+ executeMaven( pom1, props, goals );
+ executeMaven( pom2, props, goals );
+ executeMaven( pom3, props, goals );
+
+// this.maven.execute( Arrays.asList( new MavenProject[] { project, project2, project3 } ), Arrays
+// .asList( new String[] {
+// "install",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+// new Properties(), basedir );
+//
+// this.maven.execute( Arrays.asList( new MavenProject[] { project1, project2, project3 } ), Arrays
+// .asList( new String[] {
+// "install",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad-clean",
+// "org.apache.maven.plugins:maven-eclipse-plugin:current:rad" } ), eventMonitor, new ConsoleDownloadMonitor(),
+// new Properties(), basedir );
assertTrue( getTestFile( "src/test/resources/projects/project-rad-5/project-rad-1/maven-core-98.0.jar" )
.exists() );
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-22/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-22/pom.xml?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-22/pom.xml (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-22/pom.xml Thu Nov 9 10:19:31 2006
@@ -13,4 +13,13 @@
<version>3.8.1</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>test</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-23/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-23/pom.xml?view=diff&rev=473001&r1=473000&r2=473001
==============================================================================
--- maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-23/pom.xml (original)
+++ maven/plugins/branches/MECLIPSE-137/maven-eclipse-plugin/src/test/resources/projects/project-23/pom.xml Thu Nov 9 10:19:31 2006
@@ -11,6 +11,8 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
+ <version>test</version>
+ <extensions>true</extensions>
<configuration>
<additionalConfig>
<file>