You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/04/01 19:32:19 UTC
svn commit: r760975 - in /maven/components/branches/MNG-2766/maven-core/src:
main/java/org/apache/maven/plugin/ test/java/org/apache/maven/
test/java/org/apache/maven/lifecycle/ test/java/org/apache/maven/plugin/
test/resources/org/apache/maven/plugin/
Author: jvanzyl
Date: Wed Apr 1 17:32:18 2009
New Revision: 760975
URL: http://svn.apache.org/viewvc?rev=760975&view=rev
Log:
o aligning the plugin parameter expression evaluator with the new test code
Added:
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java (contents, props changed)
- copied, changed from r760747, maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java
Removed:
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java
maven/components/branches/MNG-2766/maven-core/src/test/resources/org/apache/maven/plugin/
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/MavenTest.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=760975&r1=760974&r2=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Wed Apr 1 17:32:18 2009
@@ -44,7 +44,6 @@
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.RuntimeInformation;
import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginExecution;
import org.apache.maven.monitor.logging.DefaultLog;
@@ -56,7 +55,6 @@
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
-import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.repository.VersionNotFoundException;
import org.codehaus.plexus.PlexusContainer;
@@ -91,8 +89,8 @@
@Requirement
protected ArtifactFilterManager coreArtifactFilterManager;
- @Requirement
- protected PathTranslator pathTranslator;
+ //@Requirement
+ //protected PathTranslator pathTranslator;
@Requirement
protected MavenPluginCollector pluginCollector;
@@ -351,16 +349,18 @@
logger.warn( "Mojo: " + mojoDescriptor.getGoal() + " is deprecated.\n" + mojoDescriptor.getDeprecated() );
}
+ /*
Model model = project.getModel();
pathTranslator.alignToBaseDirectory( model, project.getBasedir() );
project.setBuild( model.getBuild() );
+ */
if ( mojoDescriptor.isDependencyResolutionRequired() != null )
{
try
{
// mojoDescriptor.isDependencyResolutionRequired() is actually the scope of the dependency resolution required, not a boolean ... yah.
- downloadDependencies( session, mojoDescriptor.isDependencyResolutionRequired() );
+ downloadProjectDependencies( session, mojoDescriptor.isDependencyResolutionRequired() );
}
catch ( ArtifactResolutionException e )
{
@@ -550,11 +550,7 @@
PlexusConfiguration mergedConfiguration = mergeMojoConfiguration( pomConfiguration, mojoDescriptor );
- // TODO: plexus changes to make this more like the component descriptor so this can be used instead
- // PlexusConfiguration mergedConfiguration = mergeConfiguration( pomConfiguration,
- // mojoDescriptor.getConfiguration() );
-
- ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator( session, mojoExecution, pathTranslator, logger, session.getExecutionProperties() );
+ ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator( session, mojoExecution );
PlexusConfiguration extractedMojoConfiguration = extractMojoConfiguration( mergedConfiguration, mojoDescriptor );
@@ -1092,17 +1088,54 @@
// Artifact downloading
// ----------------------------------------------------------------------
- private void downloadDependencies( MavenSession session, String scope )
+ //TODO: This needs to be moved out of here, and there needs to be some interplay between the lifecycle executor and the plugin manager.
+ private void downloadProjectDependencies( MavenSession session, String scope )
throws ArtifactResolutionException, ArtifactNotFoundException, InvalidDependencyVersionException
- {
- resolveTransitiveDependencies( session, scope );
+ {
+ MavenProject project = session.getCurrentProject();
+
+ // TODO: such a call in MavenMetadataSource too - packaging not really the intention of type
+ Artifact artifact = repositorySystem.createArtifact( project.getGroupId(), project.getArtifactId(), project.getVersion(), null, project.getPackaging() );
+
+ // TODO: we don't need to resolve over and over again, as long as we are sure that the parameters are the same
+ // check this with yourkit as a hot spot.
+ // Don't recreate if already created - for effeciency, and because clover plugin adds to it
+ if ( project.getDependencyArtifacts() == null )
+ {
+ // NOTE: Don't worry about covering this case with the error-reporter bindings...it's already handled by the project error reporter.
+ try
+ {
+ project.setDependencyArtifacts( repositorySystem.createArtifacts( project.getDependencies(), null, null, project ) );
+ }
+ catch ( VersionNotFoundException e )
+ {
+ throw new InvalidDependencyVersionException( e.getProjectId(), e.getDependency(), e.getPomFile(), e.getCauseException() );
+ }
+ }
+
+ ArtifactFilter filter = new ScopeArtifactFilter( scope );
+
+ ArtifactResolutionRequest request = new ArtifactResolutionRequest()
+ .setArtifact( artifact )
+ .setResolveRoot( false )
+ .setArtifactDependencies( project.getDependencyArtifacts() )
+ .setLocalRepository( session.getLocalRepository() )
+ .setRemoteRepostories( project.getRemoteArtifactRepositories() )
+ .setManagedVersionMap( project.getManagedVersionMap() )
+ .setFilter( filter );
+
+ ArtifactResolutionResult result = repositorySystem.resolve( request );
+
+ resolutionErrorHandler.throwErrors( request, result );
+
+ project.setArtifacts( result.getArtifacts() );
ArtifactRepository localRepository = session.getLocalRepository();
List<ArtifactRepository> remoteArtifactRepositories = session.getCurrentProject().getRemoteArtifactRepositories();
- for ( Artifact artifact : session.getCurrentProject().getArtifacts() )
+ for ( Artifact projectArtifact : session.getCurrentProject().getArtifacts() )
{
- repositorySystem.resolve( new ArtifactResolutionRequest( artifact, localRepository, remoteArtifactRepositories ) );
+ repositorySystem.resolve( new ArtifactResolutionRequest( projectArtifact, localRepository, remoteArtifactRepositories ) );
}
}
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java?rev=760975&r1=760974&r2=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java Wed Apr 1 17:32:18 2009
@@ -26,46 +26,32 @@
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.path.PathTranslator;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
-import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
/**
* @author Jason van Zyl
- * @version $Id$
- * @todo belong in MavenSession, so it only gets created once?
*/
public class PluginParameterExpressionEvaluator
implements ExpressionEvaluator
{
- private final PathTranslator pathTranslator;
+ private MavenSession session;
- private final MavenSession context;
+ private MojoExecution mojoExecution;
- private final Logger logger;
+ private MavenProject project;
- private final MojoExecution mojoExecution;
+ private String basedir;
- private final MavenProject project;
-
- private final String basedir;
-
- private final Properties properties;
-
- public PluginParameterExpressionEvaluator( MavenSession context,
- MojoExecution mojoExecution,
- PathTranslator pathTranslator,
- Logger logger,
- Properties properties )
+ private Properties properties;
+
+ public PluginParameterExpressionEvaluator( MavenSession session, MojoExecution mojoExecution )
{
- this.context = context;
+ this.session = session;
this.mojoExecution = mojoExecution;
- this.pathTranslator = pathTranslator;
- this.logger = logger;
- this.properties = properties;
- project = context.getCurrentProject();
+ this.properties = session.getExecutionProperties();
+ project = session.getCurrentProject();
String basedir = null;
@@ -80,50 +66,9 @@
}
}
- if ( ( basedir == null ) && ( context != null ) )
- {
- basedir = context.getExecutionRootDirectory();
- }
-
- if ( basedir == null )
- {
- basedir = System.getProperty( "user.dir" );
- }
-
- this.basedir = basedir;
- }
-
- /**
- * @deprecated Use {@link PluginParameterExpressionEvaluator#PluginParameterExpressionEvaluator(MavenSession, MojoExecution, PathTranslator, LifecycleExecutionContext, Logger, Properties)}
- * instead.
- */
- @Deprecated
- public PluginParameterExpressionEvaluator( MavenSession context,
- MojoExecution mojoExecution,
- PathTranslator pathTranslator,
- Logger logger,
- MavenProject project,
- Properties properties )
- {
- this.context = context;
- this.mojoExecution = mojoExecution;
- this.pathTranslator = pathTranslator;
- this.logger = logger;
- this.properties = properties;
-
- this.project = project;
-
- String basedir = null;
-
- if ( project != null )
+ if ( ( basedir == null ) && ( session != null ) )
{
- File projectFile = project.getFile();
-
- // this should always be the case for non-super POM instances...
- if ( projectFile != null )
- {
- basedir = projectFile.getParentFile().getAbsolutePath();
- }
+ basedir = session.getExecutionRootDirectory();
}
if ( basedir == null )
@@ -193,15 +138,15 @@
if ( "localRepository".equals( expression ) )
{
- value = context.getLocalRepository();
+ value = session.getLocalRepository();
}
else if ( "session".equals( expression ) )
{
- value = context;
+ value = session;
}
else if ( "reactorProjects".equals( expression ) )
{
- value = context.getSortedProjects();
+ value = session.getSortedProjects();
}
else if ("mojoExecution".equals(expression))
{
@@ -299,7 +244,7 @@
}
else if ( "settings".equals( expression ) )
{
- value = context.getSettings();
+ value = session.getSettings();
}
else if ( expression.startsWith( "settings" ) )
{
@@ -310,12 +255,12 @@
if ( pathSeparator > 0 )
{
String pathExpression = expression.substring( 1, pathSeparator );
- value = ReflectionValueExtractor.evaluate( pathExpression, context.getSettings() );
+ value = ReflectionValueExtractor.evaluate( pathExpression, session.getSettings() );
value = value + expression.substring( pathSeparator );
}
else
{
- value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), context.getSettings() );
+ value = ReflectionValueExtractor.evaluate( expression.substring( 1 ), session.getSettings() );
}
}
catch ( Exception e )
@@ -337,10 +282,6 @@
{
value = basedir + expression.substring( pathSeparator );
}
- else
- {
- logger.error( "Got expression '" + expression + "' that was not recognised" );
- }
}
if ( value == null )
@@ -399,22 +340,6 @@
public File alignToBaseDirectory( File file )
{
- File basedir;
-
- if ( ( project != null ) && ( project.getFile() != null ) )
- {
- basedir = project.getFile().getParentFile();
- }
- else if ( ( context != null ) && ( context.getExecutionRootDirectory() != null ) )
- {
- basedir = new File( context.getExecutionRootDirectory() ).getAbsoluteFile();
- }
- else
- {
- basedir = new File( "." ).getAbsoluteFile().getParentFile();
- }
-
- return new File( pathTranslator.alignToBaseDirectory( file.getPath(), basedir ) );
+ return file;
}
-
}
Copied: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java (from r760747, maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java)
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java?p2=maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java&p1=maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java&r1=760747&r2=760975&rev=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java Wed Apr 1 17:32:18 2009
@@ -8,6 +8,7 @@
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Model;
import org.apache.maven.plugin.MavenPluginCollector;
import org.apache.maven.plugin.MavenPluginDiscoverer;
import org.apache.maven.project.DefaultProjectBuilderConfiguration;
@@ -20,7 +21,7 @@
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.util.FileUtils;
-public abstract class AbstractCoreMavenComponentTest
+public abstract class AbstractCoreMavenComponentTestCase
extends PlexusTestCase
{
@Requirement
@@ -34,11 +35,11 @@
{
super.setUp();
repositorySystem = lookup( RepositorySystem.class );
- projectBuilder = lookup( MavenProjectBuilder.class );
+ projectBuilder = lookup( MavenProjectBuilder.class );
}
abstract protected String getProjectsDirectory();
-
+
protected File getProject( String name )
throws Exception
{
@@ -96,11 +97,28 @@
.setLocalRepository( request.getLocalRepository() )
.setRemoteRepositories( request.getRemoteRepositories() );
- // We just need to use the configuration, and get the POM from that.
- MavenProject project = projectBuilder.build( pom, configuration );
+ MavenProject project = null;
+
+ if ( pom != null )
+ {
+ project = projectBuilder.build( pom, configuration );
+ }
+ else
+ {
+ project = createStubMavenProject();
+ }
MavenSession session = new MavenSession( getContainer(), request, project );
return session;
+ }
+
+ protected MavenProject createStubMavenProject()
+ {
+ Model model = new Model();
+ model.setGroupId( "org.apache.maven.test" );
+ model.setArtifactId( "maven-test" );
+ model.setVersion( "1.0" );
+ return new MavenProject( model );
}
}
Propchange: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Apr 1 17:32:18 2009
@@ -0,0 +1,7 @@
+/maven/components/branches/MNG-3932-1/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:746145-746157
+/maven/components/branches/maven-2.0.10-RC/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:680477
+/maven/components/branches/maven-2.0.x/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:679206,708871,720042,726541,727548,727998,728264,728940,729060,729738,729785,730631
+/maven/components/branches/maven-2.1.x/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:739385,741841,747468,748815,749612
+/maven/components/branches/sisbell-plugin-manager/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:738757-738972
+/maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTest.java:688587-696625,696644-699681
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/MavenTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/MavenTest.java?rev=760975&r1=760974&r2=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/MavenTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/MavenTest.java Wed Apr 1 17:32:18 2009
@@ -7,7 +7,7 @@
import org.codehaus.plexus.component.annotations.Requirement;
public class MavenTest
- extends AbstractCoreMavenComponentTest
+ extends AbstractCoreMavenComponentTestCase
{
@Requirement
private Maven maven;
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java?rev=760975&r1=760974&r2=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java Wed Apr 1 17:32:18 2009
@@ -3,7 +3,7 @@
import java.io.File;
import java.util.List;
-import org.apache.maven.AbstractCoreMavenComponentTest;
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecution;
import org.apache.maven.plugin.PluginManager;
@@ -12,7 +12,7 @@
import org.codehaus.plexus.component.annotations.Requirement;
public class LifecycleExecutorTest
- extends AbstractCoreMavenComponentTest
+ extends AbstractCoreMavenComponentTestCase
{
@Requirement
private DefaultLifecycleExecutor lifecycleExecutor;
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java?rev=760975&r1=760974&r2=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java Wed Apr 1 17:32:18 2009
@@ -1,6 +1,6 @@
package org.apache.maven.plugin;
-import org.apache.maven.AbstractCoreMavenComponentTest;
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
@@ -8,7 +8,7 @@
import org.codehaus.plexus.component.annotations.Requirement;
public class PluginManagerTest
- extends AbstractCoreMavenComponentTest
+ extends AbstractCoreMavenComponentTestCase
{
@Requirement
private PluginManager pluginManager;
@@ -153,6 +153,8 @@
// test interpolation of basedir values in mojo configuration
+ // test a build where projects use different versions of the same plugin
+
// -----------------------------------------------------------------------------------------------
// Testing help
// -----------------------------------------------------------------------------------------------
Modified: maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java?rev=760975&r1=760974&r2=760975&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java Wed Apr 1 17:32:18 2009
@@ -27,6 +27,7 @@
import java.util.Map;
import java.util.Properties;
+import org.apache.maven.AbstractCoreMavenComponentTestCase;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -38,22 +39,15 @@
import org.apache.maven.execution.DuplicateProjectException;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.ReactorManager;
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.path.PathTranslator;
import org.codehaus.plexus.MutablePlexusContainer;
import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.logging.console.ConsoleLogger;
import org.codehaus.plexus.util.dag.CycleDetectedException;
-import org.easymock.MockControl;
/**
@@ -62,33 +56,27 @@
* 06:06:21 jdcasey Exp $
*/
public class PluginParameterExpressionEvaluatorTest
- extends PlexusTestCase
+ extends AbstractCoreMavenComponentTestCase
{
private static final String FS = System.getProperty( "file.separator" );
private ArtifactFactory factory;
- private PathTranslator pathTranslator;
-
public void setUp()
throws Exception
{
super.setUp();
- factory = lookup( ArtifactFactory.class );
- pathTranslator = lookup( PathTranslator.class );
+ factory = lookup( ArtifactFactory.class );
}
-
+
public void testPluginDescriptorExpressionReference()
- throws ExpressionEvaluationException, CycleDetectedException, DuplicateProjectException
+ throws Exception
{
MojoExecution exec = newMojoExecution();
MavenSession session = newMavenSession();
- Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "test" );
-
- Object result = new PluginParameterExpressionEvaluator( session, exec, pathTranslator,
- logger, new Properties() ).evaluate( "${plugin}" );
+ Object result = new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin}" );
System.out.println( "Result: " + result );
@@ -98,7 +86,7 @@
}
public void testPluginArtifactsExpressionReference()
- throws ExpressionEvaluationException, CycleDetectedException, DuplicateProjectException
+ throws Exception
{
MojoExecution exec = newMojoExecution();
@@ -116,10 +104,7 @@
MavenSession session = newMavenSession();
- Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "test" );
-
- List depResults = (List) new PluginParameterExpressionEvaluator( session, exec, pathTranslator,
- logger, new Properties() ).evaluate( "${plugin.artifacts}" );
+ List depResults = (List) new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin.artifacts}" );
System.out.println( "Result: " + depResults );
@@ -129,7 +114,7 @@
}
public void testPluginArtifactMapExpressionReference()
- throws ExpressionEvaluationException, CycleDetectedException, DuplicateProjectException
+ throws Exception
{
MojoExecution exec = newMojoExecution();
@@ -147,11 +132,7 @@
MavenSession session = newMavenSession();
- Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "test" );
-
- Map depResults = (Map) new PluginParameterExpressionEvaluator( session, exec,
- pathTranslator, logger,
- new Properties() ).evaluate( "${plugin.artifactMap}" );
+ Map depResults = (Map) new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin.artifactMap}" );
System.out.println( "Result: " + depResults );
@@ -163,16 +144,13 @@
}
public void testPluginArtifactIdExpressionReference()
- throws ExpressionEvaluationException, CycleDetectedException, DuplicateProjectException
+ throws Exception
{
MojoExecution exec = newMojoExecution();
MavenSession session = newMavenSession();
- Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "test" );
-
- Object result = new PluginParameterExpressionEvaluator( session, exec, pathTranslator,
- logger, new Properties() ).evaluate( "${plugin.artifactId}" );
+ Object result = new PluginParameterExpressionEvaluator( session, exec ).evaluate( "${plugin.artifactId}" );
System.out.println( "Result: " + result );
@@ -339,11 +317,11 @@
assertEquals( "value", value );
}
- private static MavenSession createSession( PlexusContainer container, ArtifactRepository repo )
+ private static MavenSession createSession( PlexusContainer container, ArtifactRepository repo, Properties properties )
throws CycleDetectedException, DuplicateProjectException
{
MavenExecutionRequest request = new DefaultMavenExecutionRequest()
- .setProperties( new Properties() )
+ .setProperties( properties )
.setGoals( Collections.EMPTY_LIST )
.setBaseDirectory( new File( "" ) )
.setLocalRepository( repo );
@@ -416,7 +394,8 @@
ArtifactRepository repo = new DefaultArtifactRepository( "local", "target/repo", repoLayout );
MutablePlexusContainer container = (MutablePlexusContainer) getContainer();
- MavenSession session = createSession( container, repo );
+ MavenSession session = createSession( container, repo, executionProperties );
+ session.setCurrentProject( project );
MojoDescriptor mojo = new MojoDescriptor();
mojo.setPluginDescriptor( pluginDescriptor );
@@ -424,7 +403,7 @@
MojoExecution mojoExecution = new MojoExecution( mojo );
- return new PluginParameterExpressionEvaluator( session, mojoExecution, null, container.getLogger(), project, executionProperties );
+ return new PluginParameterExpressionEvaluator( session, mojoExecution );
}
protected Artifact createArtifact( String groupId,
@@ -454,19 +433,15 @@
}
private MavenSession newMavenSession()
- throws CycleDetectedException, DuplicateProjectException
+ throws Exception
{
- Model model = new Model();
- model.setGroupId( "group" );
- model.setArtifactId( "artifact" );
- model.setVersion( "1" );
-
- MavenProject project = new MavenProject( model );
- ReactorManager rm = new ReactorManager( Collections.singletonList( project ), ReactorManager.FAIL_FAST );
- MockControl mockMavenExecutionRequest = MockControl.createControl( MavenExecutionRequest.class );
- MavenExecutionRequest req = (MavenExecutionRequest) mockMavenExecutionRequest.getMock();
- MavenSession session = new MavenSession( req );
+ return createMavenSession( null );
+ }
- return session;
+ @Override
+ protected String getProjectsDirectory()
+ {
+ // TODO Auto-generated method stub
+ return null;
}
}