Author: krosenvold
Date: Fri Jun 12 21:33:19 2015
New Revision: 1685177

URL: http://svn.apache.org/r1685177
Log:
Migrated from MavenProjectBuilder to ProjectBuilder

Added:
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/ProjectBuildingRequestCreator.java
Modified:
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
    
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhase.java
 Fri Jun 12 21:33:19 2015
@@ -29,7 +29,7 @@ import org.apache.maven.plugin.assembly.
 import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
 import org.apache.maven.plugin.assembly.model.Assembly;
 import org.apache.maven.plugin.assembly.model.DependencySet;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.manager.ArchiverManager;
 import org.codehaus.plexus.component.annotations.Component;
@@ -53,7 +53,7 @@ public class DependencySetAssemblyPhase
 {
 
     @Requirement
-    private MavenProjectBuilder projectBuilder;
+    private ProjectBuilder projectBuilder;
 
     @Requirement
     private ArchiverManager archiverManager;
@@ -74,7 +74,7 @@ public class DependencySetAssemblyPhase
      * @param projectBuilder The Maven Project Builder.
      * @param logger         The Logger.
      */
-    public DependencySetAssemblyPhase( final MavenProjectBuilder 
projectBuilder, DependencyResolver dependencyResolver,
+    public DependencySetAssemblyPhase( final ProjectBuilder projectBuilder, 
DependencyResolver dependencyResolver,
                                        final Logger logger )
     {
         this.projectBuilder = projectBuilder;

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhase.java
 Fri Jun 12 21:33:19 2015
@@ -43,7 +43,7 @@ import org.apache.maven.plugin.assembly.
 import org.apache.maven.plugin.assembly.utils.ProjectUtils;
 import org.apache.maven.plugin.assembly.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.manager.ArchiverManager;
 import org.codehaus.plexus.component.annotations.Component;
@@ -87,7 +87,7 @@ public class ModuleSetAssemblyPhase
     private static final String LINE_SEPARATOR = System.getProperty( 
"line.separator" );
 
     @Requirement
-    private MavenProjectBuilder projectBuilder;
+    private ProjectBuilder projectBuilder;
 
     @Requirement
     private ArchiverManager archiverManager;
@@ -107,7 +107,7 @@ public class ModuleSetAssemblyPhase
      * @param projectBuilder The project builder.
      * @param logger         The logger.
      */
-    public ModuleSetAssemblyPhase( final MavenProjectBuilder projectBuilder, 
DependencyResolver dependencyResolver,
+    public ModuleSetAssemblyPhase( final ProjectBuilder projectBuilder, 
DependencyResolver dependencyResolver,
                                    final Logger logger )
     {
         this.projectBuilder = projectBuilder;

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTask.java
 Fri Jun 12 21:33:19 2015
@@ -20,6 +20,7 @@ package org.apache.maven.plugin.assembly
  */
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
@@ -33,8 +34,10 @@ import org.apache.maven.plugin.assembly.
 import org.apache.maven.plugin.assembly.utils.FilterUtils;
 import org.apache.maven.plugin.assembly.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingResult;
 import org.apache.maven.shared.artifact.filter.ScopeArtifactFilter;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
@@ -78,7 +81,7 @@ public class AddDependencySetsTask
 
     private MavenProject moduleProject;
 
-    private final MavenProjectBuilder projectBuilder;
+    private final ProjectBuilder projectBuilder1;
 
     private String defaultOutputDirectory;
 
@@ -90,13 +93,12 @@ public class AddDependencySetsTask
 
 
     public AddDependencySetsTask( final List<DependencySet> dependencySets, 
final Set<Artifact> resolvedArtifacts,
-                                  final MavenProject project, final 
MavenProjectBuilder projectBuilder,
-                                  final Logger logger )
+                                  final MavenProject project, ProjectBuilder 
projectBuilder, final Logger logger )
     {
         this.dependencySets = dependencySets;
         this.resolvedArtifacts = resolvedArtifacts;
         this.project = project;
-        this.projectBuilder = projectBuilder;
+        this.projectBuilder1 = projectBuilder;
         this.logger = logger;
     }
 
@@ -150,11 +152,12 @@ public class AddDependencySetsTask
 
         for ( final Artifact depArtifact : dependencyArtifacts )
         {
+            ProjectBuildingRequest pbr = getProjectBuildingRequest( 
configSource );
             MavenProject depProject;
             try
             {
-                depProject = projectBuilder.buildFromRepository( depArtifact, 
configSource.getRemoteRepositories(),
-                                                                 
configSource.getLocalRepository() );
+                ProjectBuildingResult build = projectBuilder1.build( 
depArtifact, pbr );
+                depProject = build.getProject();
             }
             catch ( final ProjectBuildingException e )
             {
@@ -177,6 +180,16 @@ public class AddDependencySetsTask
         }
     }
 
+    private ProjectBuildingRequest getProjectBuildingRequest( 
AssemblerConfigurationSource configSource )
+    {
+        MavenSession session = configSource.getMavenSession();
+        ProjectBuildingRequest pbr = ProjectBuildingRequestCreator.create( 
session );
+        pbr.setRemoteRepositories( configSource.getRemoteRepositories() );
+        pbr.setLocalRepository( configSource.getLocalRepository() );
+        //pbr.setRepositorySession(  configSource.getR''  )
+        return pbr;
+    }
+
     private boolean isUnpackWithOptions( DependencySet dependencySet )
     {
         return dependencySet.isUnpack() && dependencySet.getUnpackOptions() != 
null;

Added: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/ProjectBuildingRequestCreator.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/ProjectBuildingRequestCreator.java?rev=1685177&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/ProjectBuildingRequestCreator.java
 (added)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/task/ProjectBuildingRequestCreator.java
 Fri Jun 12 21:33:19 2015
@@ -0,0 +1,124 @@
+package org.apache.maven.plugin.assembly.archive.task;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.DefaultProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingRequest;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Creates project building requests, regardless of aether type.
+ *
+ * @author Kristian Rosenvold
+ */
+public class ProjectBuildingRequestCreator
+{
+
+    static final Class AETHER = tryLoadClass( 
"org.sonatype.aether.RepositorySystemSession" );
+
+    static final Class ECLIPSE = tryLoadClass( 
"org.eclipse.aether.RepositorySystemSession" );
+
+    public static ProjectBuildingRequest create( MavenSession session )
+    {
+        ProjectBuildingRequest projectBuildingRequest1 = new 
DefaultProjectBuildingRequest();
+
+        Object repositorySession = invoke( session, "getRepositorySession" );
+        Method setRepositorySession = getMethod( 
projectBuildingRequest1.getClass(), "setRepositorySession",
+                                                 ECLIPSE != null ? ECLIPSE : 
AETHER );
+        invoke( setRepositorySession, projectBuildingRequest1, 
repositorySession );
+        injectSession( projectBuildingRequest1, session );
+        return projectBuildingRequest1;
+    }
+
+    private static void injectSession( ProjectBuildingRequest request, 
MavenSession session )
+    {
+        request.setSystemProperties( session.getSystemProperties() );
+        if ( request.getUserProperties().isEmpty() )
+        {
+            request.setUserProperties( session.getUserProperties() );
+        }
+    }
+
+    private static Class tryLoadClass( String name )
+    {
+        try
+        {
+            return Class.forName( name );
+        }
+        catch ( ClassNotFoundException e )
+        {
+            return null;
+        }
+    }
+
+    public static Object invoke( Object object, String method )
+        throws RuntimeException
+    {
+        try
+        {
+            return object.getClass().getMethod( method ).invoke( object );
+        }
+        catch ( IllegalAccessException e )
+        {
+            throw new RuntimeException( e.getMessage(), e );
+        }
+        catch ( InvocationTargetException e )
+        {
+            throw new RuntimeException( e.getMessage(), e );
+        }
+        catch ( NoSuchMethodException e )
+        {
+            throw new RuntimeException( e.getMessage(), e );
+        }
+    }
+
+    public static Method getMethod( Class<?> objectClazz, String method, 
Class<?>... params )
+        throws RuntimeException
+    {
+        try
+        {
+            return objectClazz.getMethod( method, params );
+        }
+        catch ( NoSuchMethodException e )
+        {
+            throw new RuntimeException( e.getMessage(), e );
+        }
+    }
+
+    public static Object invoke( Method method, Object object, Object... args )
+        throws RuntimeException
+    {
+        try
+        {
+            return method.invoke( object, args );
+        }
+        catch ( IllegalAccessException e )
+        {
+            throw new RuntimeException( e.getMessage(), e );
+        }
+        catch ( InvocationTargetException e )
+        {
+            throw new RuntimeException( e.getMessage(), e );
+        }
+    }
+}

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/DependencySetAssemblyPhaseTest.java
 Fri Jun 12 21:33:19 2015
@@ -19,6 +19,7 @@ package org.apache.maven.plugin.assembly
  * under the License.
  */
 
+import junit.framework.TestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugin.assembly.InvalidAssemblerConfigurationException;
@@ -31,17 +32,15 @@ import org.apache.maven.plugin.assembly.
 import org.apache.maven.plugin.assembly.model.Assembly;
 import org.apache.maven.plugin.assembly.model.DependencySet;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.easymock.classextension.EasyMockSupport;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.Collections;
 
-import junit.framework.TestCase;
-import org.easymock.classextension.EasyMockSupport;
-
 public class DependencySetAssemblyPhaseTest
     extends TestCase
 {
@@ -87,7 +86,6 @@ public class DependencySetAssemblyPhaseT
         macTask.expectGetDestFile( new File( "junk" ) );
 //        macTask.expectAddFile( artifactFile, "out/dep", 10 );
 
-        macTask.expectGetSession( null );
 
         project.setArtifacts( Collections.singleton( 
artifactMock.getArtifact() ) );
 
@@ -144,7 +142,7 @@ public class DependencySetAssemblyPhaseT
     private DependencySetAssemblyPhase createPhase( final 
MockAndControlForAddDependencySetsTask macTask,
                                                     final Logger logger, 
DependencyResolver dr )
     {
-        MavenProjectBuilder projectBuilder = null;
+        ProjectBuilder projectBuilder = null;
 
         if ( macTask != null )
         {

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java
 Fri Jun 12 21:33:19 2015
@@ -41,6 +41,7 @@ import org.apache.maven.plugin.assembly.
 import org.apache.maven.plugin.assembly.utils.TypeConversionUtils;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
 import org.easymock.classextension.EasyMock;
@@ -878,7 +879,7 @@ public class ModuleSetAssemblyPhaseTest
     private ModuleSetAssemblyPhase createPhase( final Logger logger,
                                                 final 
MockAndControlForAddDependencySetsTask macTask )
     {
-        MavenProjectBuilder projectBuilder = null;
+        ProjectBuilder projectBuilder = null;
 
         if ( macTask != null )
         {
@@ -889,7 +890,7 @@ public class ModuleSetAssemblyPhaseTest
         return new ModuleSetAssemblyPhase( projectBuilder, dr, logger );
     }
 
-    private ModuleSetAssemblyPhase createPhase( final Logger logger, 
DependencyResolver dr, MavenProjectBuilder projectBuilder1 )
+    private ModuleSetAssemblyPhase createPhase( final Logger logger, 
DependencyResolver dr, ProjectBuilder projectBuilder1 )
     {
         return new ModuleSetAssemblyPhase( projectBuilder1, dr, logger );
     }

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/AddDependencySetsTaskTest.java
 Fri Jun 12 21:33:19 2015
@@ -19,6 +19,7 @@ package org.apache.maven.plugin.assembly
  * under the License.
  */
 
+import junit.framework.TestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Model;
 import org.apache.maven.plugin.assembly.InvalidAssemblerConfigurationException;
@@ -32,6 +33,7 @@ import org.apache.maven.project.MavenPro
 import org.apache.maven.project.ProjectBuildingException;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.easymock.classextension.EasyMockSupport;
 
 import java.io.File;
 import java.io.IOException;
@@ -39,9 +41,6 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
-import junit.framework.TestCase;
-import org.easymock.classextension.EasyMockSupport;
-
 @SuppressWarnings( "OctalInteger" )
 public class AddDependencySetsTaskTest
     extends TestCase
@@ -103,7 +102,7 @@ public class AddDependencySetsTaskTest
         macTask.expectGetDestFile( new File( "junk" ) );
         macTask.expectAddFile( newFile, outDir + depAid + "-" + depVer + "." + 
depExt, 10 );
 
-        macTask.expectGetSession( null );
+//        macTask.expectGetSession( null );
         macTask.expectGetMode( 0222, 0222 );
 
         DefaultAssemblyArchiverTest.setupInterpolators( macTask.configSource );
@@ -177,7 +176,6 @@ public class AddDependencySetsTaskTest
         macTask.expectAddFile( file, "out/" + aid + "-" + version + "." + type 
);
 
         macTask.expectGetMode( 0222, 0222 );
-        macTask.expectGetSession( null );
 
         final DependencySet ds = new DependencySet();
         ds.setOutputDirectory( "/out" );
@@ -245,8 +243,6 @@ public class AddDependencySetsTaskTest
         macTask.expectCSGetFinalName( "final-name" );
         macTask.expectCSGetRepositories( null, null );
 
-        macTask.expectGetSession( null );
-
         final MavenProject depProject = new MavenProject( new Model() );
 
         macTask.expectBuildFromRepository( depProject );

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java?rev=1685177&r1=1685176&r2=1685177&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/task/testutils/MockAndControlForAddDependencySetsTask.java
 Fri Jun 12 21:33:19 2015
@@ -23,6 +23,7 @@ import java.io.File;
 import java.nio.charset.Charset;
 import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Properties;
 import java.util.Set;
 
 import junit.framework.Assert;
@@ -30,20 +31,26 @@ import junit.framework.Assert;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugin.assembly.artifact.DependencyResolutionException;
 import org.apache.maven.plugin.assembly.artifact.DependencyResolver;
 import org.apache.maven.plugin.assembly.model.Assembly;
 import org.apache.maven.plugin.assembly.model.DependencySet;
+import org.apache.maven.project.DependencyResolutionResult;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
+import org.apache.maven.project.ProjectBuildingRequest;
+import org.apache.maven.project.ProjectBuildingResult;
 import org.codehaus.plexus.archiver.ArchivedFileSet;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.manager.ArchiverManager;
 import org.easymock.EasyMock;
 import org.easymock.classextension.EasyMockSupport;
+import org.sonatype.aether.RepositorySystemSession;
 
 import static org.easymock.EasyMock.anyInt;
 import static org.easymock.EasyMock.anyObject;
@@ -56,7 +63,7 @@ public class MockAndControlForAddDepende
 
     public final AssemblerConfigurationSource configSource;
 
-    public final MavenProjectBuilder projectBuilder;
+    public final ProjectBuilder projectBuilder;
 
     public final ArchiverManager archiverManager;
 
@@ -64,6 +71,10 @@ public class MockAndControlForAddDepende
 
     public final DependencyResolver dependencyResolver;
 
+    private final MavenSession session;
+
+    private final RepositorySystemSession repositorySession;
+
 
     public MockAndControlForAddDependencySetsTask( final EasyMockSupport 
mockManager )
     {
@@ -74,11 +85,13 @@ public class MockAndControlForAddDepende
     {
         this.project = project;
 
+        this.session = mockManager.createMock( MavenSession.class );
+        this.repositorySession = mockManager.createMock( 
RepositorySystemSession.class );
         archiver = mockManager.createMock(Archiver.class);
         configSource = mockManager.createMock 
(AssemblerConfigurationSource.class);
 
 
-        projectBuilder = mockManager.createMock(MavenProjectBuilder.class);
+        projectBuilder = mockManager.createMock(ProjectBuilder.class);
 
         archiverManager = mockManager.createMock(ArchiverManager.class);
 
@@ -91,6 +104,12 @@ public class MockAndControlForAddDepende
     private void enableDefaultExpectations()
     {
         expect(configSource.getProject()).andReturn( project ).anyTimes();
+        expect( session.getRepositorySession()).andReturn( repositorySession 
).anyTimes();
+        expect( session.getSystemProperties()).andReturn( new Properties(  ) 
).anyTimes();
+        expect( session.getUserProperties()).andReturn( new Properties(  ) 
).anyTimes();
+        expect( session.getExecutionProperties()).andReturn( new Properties(  
) ).anyTimes();
+
+        expectGetSession( session );
     }
 
     public void expectAddArchivedFileSet()
@@ -200,8 +219,8 @@ public class MockAndControlForAddDepende
     {
         try
         {
-            expect(projectBuilder.buildFromRepository( (Artifact) anyObject(), 
(List) anyObject(),
-                                                (ArtifactRepository) 
anyObject() )).andThrow( error );
+            expect(projectBuilder.build( (Artifact) anyObject(), 
(ProjectBuildingRequest) anyObject() )).andThrow(
+                error );
 //            projectBuilderCtl.setThrowable( error, MockControl.ONE_OR_MORE );
         }
         catch ( final ProjectBuildingException e )
@@ -212,9 +231,42 @@ public class MockAndControlForAddDepende
 
     public void expectBuildFromRepository( final MavenProject project )
     {
+        ProjectBuildingResult pbr = new ProjectBuildingResult(){
+            @Override
+            public String getProjectId()
+            {
+                return null;
+            }
+
+            @Override
+            public File getPomFile()
+            {
+                return null;
+            }
+
+            @Override
+            public MavenProject getProject()
+            {
+                return project;
+            }
+
+            @Override
+            public List<ModelProblem> getProblems()
+            {
+                return null;
+            }
+
+            @Override
+            public DependencyResolutionResult getDependencyResolutionResult()
+            {
+                return null;
+            }
+        };
+
         try
         {
-            expect(projectBuilder.buildFromRepository( ( Artifact) 
anyObject(), (List)anyObject(), (ArtifactRepository)anyObject() )).andReturn( 
project ).anyTimes();
+            expect( projectBuilder.build( (Artifact) anyObject(), 
(ProjectBuildingRequest) anyObject() )).andReturn(
+                pbr ).anyTimes();
         }
         catch ( final ProjectBuildingException e )
         {


Reply via email to