hardened checks
git-svn-id: https://svn.apache.org/repos/asf/maven/shared/trunk@1597206 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java b/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
index dbd536a..52c131c 100644
--- a/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
+++ b/src/it/reactor/resolve-extension/src/main/java/org/apache/maven/its/deptree/ResolveDependenciesLifecycleParticipant.java
@@ -28,6 +28,7 @@
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.util.FileUtils;
import java.io.File;
import java.io.IOException;
@@ -70,19 +71,33 @@
File resolved = new File( basedir, "resolved-" + project.getArtifactId() + ".txt" );
try
{
+ log.info( "building with reactor projects" );
// No need to filter our search. We want to resolve all artifacts.
dependencyGraphBuilder.buildDependencyGraph( project, null, projects );
-
- // proof that resolution has happened
- resolved.createNewFile();
}
catch ( DependencyGraphBuilderException e )
{
throw new MavenExecutionException( "Could not resolve dependencies for project: " + project, e );
}
- catch ( IOException e )
+
+ try
{
- throw new MavenExecutionException( "Could not create " + resolved, e );
+ log.info( "building without reactor projects" );
+ // resolution without reactor projects, to check that it is not possible at this point
+ dependencyGraphBuilder.buildDependencyGraph( project, null );
+ }
+ catch ( DependencyGraphBuilderException e )
+ {
+ log.info( "expected resolution failure: " + e.getMessage() );
+
+ try
+ {
+ FileUtils.fileWrite( resolved.getAbsolutePath(), e.getMessage() );
+ }
+ catch ( IOException ioe )
+ {
+ throw new MavenExecutionException( "Could not write " + resolved, ioe );
+ }
}
}
diff --git a/src/it/reactor/setup.bsh b/src/it/reactor/setup.bsh
index fe4ec74..b69ce1d 100644
--- a/src/it/reactor/setup.bsh
+++ b/src/it/reactor/setup.bsh
@@ -25,7 +25,19 @@
while ( files.hasNext() )
{
- files.next().delete();
+ file = files.next();
+ System.out.println( "deleting file " + file );
+ file.delete();
+}
+
+// delete modules from local repository
+files = FileUtils.getDirectoryNames( new File( basedir, "../.." ), "local-repo/org/apache/maven/its/dependency-tree/module*", "", true ).iterator();
+
+while ( files.hasNext() )
+{
+ file = new File( files.next() );
+ System.out.println( "deleting directory " + file );
+ FileUtils.deleteDirectory( file );
}
return true;
diff --git a/src/it/reactor/verify.bsh b/src/it/reactor/verify.bsh
index 6d1ae09..17c1e47 100644
--- a/src/it/reactor/verify.bsh
+++ b/src/it/reactor/verify.bsh
@@ -34,9 +34,11 @@
throw new Exception( "Unexpected dependency tree" );
}
-if ( !new File( basedir, "resolved-module-z-deps-y.txt" ).exists() )
+String resolved = FileUtils.fileRead( new File( basedir, "resolved-module-z-deps-y.txt" ) );
+
+if ( !"Could not resolve the following dependencies: [org.apache.maven.its.dependency-tree:module-y-deps-x:jar:1.0-SNAPSHOT (compile), org.apache.maven.its.dependency-tree:module-x:jar:1.0-SNAPSHOT (compile)]".equals( resolved ) )
{
- throw new Exception( "resolved-module-z-deps-y.txt was not written by ResolveDependenciesLifecycleParticipant" );
+ throw new Exception( "unexpected content in resolved-module-z-deps-y.txt written by ResolveDependenciesLifecycleParticipant" );
}
return true;