Author: markh Date: Fri Sep 14 09:02:31 2007 New Revision: 575732 URL: http://svn.apache.org/viewvc?rev=575732&view=rev Log: Added readProjectWithDependencies methods to compliment readProject methods.
Modified: maven/shared/trunk/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java Modified: maven/shared/trunk/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java?rev=575732&r1=575731&r2=575732&view=diff ============================================================================== --- maven/shared/trunk/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java (original) +++ maven/shared/trunk/maven-plugin-testing-tools/src/main/java/org/apache/maven/shared/test/plugin/ProjectTool.java Fri Sep 14 09:02:31 2007 @@ -32,6 +32,8 @@ import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.resolver.ArtifactNotFoundException; +import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.model.Build; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.DistributionManagement; @@ -113,6 +115,43 @@ return projectBuilder.build( pomFile, localRepository, null ); } catch ( ProjectBuildingException e ) + { + throw new TestToolsException( "Error building MavenProject instance from test pom: " + pomFile, e ); + } + } + + /** + * Construct a MavenProject instance from the specified POM file with dependencies. + */ + public MavenProject readProjectWithDependencies( File pomFile ) + throws TestToolsException + { + return readProjectWithDependencies( pomFile, repositoryTool.findLocalRepositoryDirectory() ); + } + + /** + * Construct a MavenProject instance from the specified POM file with dependencies, using the specified local + * repository directory to resolve ancestor POMs as needed. + */ + public MavenProject readProjectWithDependencies( File pomFile, File localRepositoryBasedir ) + throws TestToolsException + { + try + { + ArtifactRepository localRepository = repositoryTool + .createLocalArtifactRepositoryInstance( localRepositoryBasedir ); + + return projectBuilder.buildWithDependencies( pomFile, localRepository, null ); + } + catch ( ProjectBuildingException e ) + { + throw new TestToolsException( "Error building MavenProject instance from test pom: " + pomFile, e ); + } + catch ( ArtifactResolutionException e ) + { + throw new TestToolsException( "Error building MavenProject instance from test pom: " + pomFile, e ); + } + catch ( ArtifactNotFoundException e ) { throw new TestToolsException( "Error building MavenProject instance from test pom: " + pomFile, e ); }