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; } }