mirror of https://github.com/apache/maven.git
Adding file-pattern matching for expected results, along with ability to suppress the default maven.repo.local specification from verifier.properties...also, adding a test case for MNG-1021, to ensure the source artifact has the same build number as the main jar...I cannot reproduce the problem using this test...
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@292286 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
03b6c44316
commit
5ebaf148da
|
@ -519,6 +519,49 @@ public class Verifier
|
||||||
expectedFile = new File( basedir, line );
|
expectedFile = new File( basedir, line );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( line.indexOf( '*' ) > -1 )
|
||||||
|
{
|
||||||
|
File parent = expectedFile.getParentFile();
|
||||||
|
|
||||||
|
if ( !parent.exists() )
|
||||||
|
{
|
||||||
|
if ( wanted )
|
||||||
|
{
|
||||||
|
throw new VerificationException( "Expected file was not found: " + expectedFile.getPath() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
String shortNamePattern = expectedFile.getName().replaceAll( "\\*", ".*" );
|
||||||
|
|
||||||
|
String[] candidates = parent.list();
|
||||||
|
|
||||||
|
boolean found = false;
|
||||||
|
|
||||||
|
if ( candidates != null )
|
||||||
|
{
|
||||||
|
for ( int i = 0; i < candidates.length; i++ )
|
||||||
|
{
|
||||||
|
if ( candidates[i].matches( shortNamePattern ) )
|
||||||
|
{
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( !found && wanted )
|
||||||
|
{
|
||||||
|
throw new VerificationException( "Expected file pattern was not found: " + expectedFile.getPath() );
|
||||||
|
}
|
||||||
|
else if ( found && !wanted )
|
||||||
|
{
|
||||||
|
throw new VerificationException( "Unwanted file pattern was found: " + expectedFile.getPath() );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if ( !expectedFile.exists() )
|
if ( !expectedFile.exists() )
|
||||||
{
|
{
|
||||||
if ( wanted )
|
if ( wanted )
|
||||||
|
@ -535,12 +578,13 @@ public class Verifier
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
public void executeGoals( Properties properties, String filename )
|
public void executeGoals( Properties properties, Properties controlProperties, String filename )
|
||||||
throws VerificationException
|
throws VerificationException
|
||||||
{
|
{
|
||||||
String mavenHome = System.getProperty( "maven.home" );
|
String mavenHome = System.getProperty( "maven.home" );
|
||||||
|
@ -583,7 +627,10 @@ public class Verifier
|
||||||
for ( Iterator it = cliOptions.iterator(); it.hasNext(); )
|
for ( Iterator it = cliOptions.iterator(); it.hasNext(); )
|
||||||
{
|
{
|
||||||
String key = (String) it.next();
|
String key = (String) it.next();
|
||||||
cli.createArgument().setLine( key );
|
|
||||||
|
String resolvedArg = resolveCommandLineArg( key );
|
||||||
|
|
||||||
|
cli.createArgument().setLine( resolvedArg );
|
||||||
}
|
}
|
||||||
|
|
||||||
cli.createArgument().setValue( "-e" );
|
cli.createArgument().setValue( "-e" );
|
||||||
|
@ -598,9 +645,13 @@ public class Verifier
|
||||||
cli.createArgument().setLine( "-D" + key + "=" + properties.getProperty( key ) );
|
cli.createArgument().setLine( "-D" + key + "=" + properties.getProperty( key ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean useMavenRepoLocal = Boolean.valueOf( controlProperties.getProperty( "use.mavenRepoLocal", "true" ) ).booleanValue();
|
||||||
|
if ( useMavenRepoLocal )
|
||||||
|
{
|
||||||
// Note: Make sure that the repo is surrounded by quotes as it can possibly have
|
// Note: Make sure that the repo is surrounded by quotes as it can possibly have
|
||||||
// spaces in its path.
|
// spaces in its path.
|
||||||
cli.createArgument().setLine( "-Dmaven.repo.local=" + "\"" + localRepo + "\"" );
|
cli.createArgument().setLine( "-Dmaven.repo.local=" + "\"" + localRepo + "\"" );
|
||||||
|
}
|
||||||
|
|
||||||
for ( Iterator i = allGoals.iterator(); i.hasNext(); )
|
for ( Iterator i = allGoals.iterator(); i.hasNext(); )
|
||||||
{
|
{
|
||||||
|
@ -636,6 +687,15 @@ public class Verifier
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String resolveCommandLineArg( String key )
|
||||||
|
{
|
||||||
|
String result = key.replaceAll( "\\$\\{basedir\\}", basedir );
|
||||||
|
result = result.replaceAll( "\\\\", "\\" );
|
||||||
|
result = result.replaceAll( "\\/\\/", "\\/" );
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
private void displayLogFile()
|
private void displayLogFile()
|
||||||
{
|
{
|
||||||
System.out.println( "Log file contents:" );
|
System.out.println( "Log file contents:" );
|
||||||
|
@ -746,7 +806,7 @@ public class Verifier
|
||||||
boolean chokeOnErrorOutput = Boolean.valueOf(
|
boolean chokeOnErrorOutput = Boolean.valueOf(
|
||||||
controlProperties.getProperty( "failOnErrorOutput", "true" ) ).booleanValue();
|
controlProperties.getProperty( "failOnErrorOutput", "true" ) ).booleanValue();
|
||||||
|
|
||||||
verifier.executeGoals( properties, "goals.txt" );
|
verifier.executeGoals( properties, controlProperties, "goals.txt" );
|
||||||
|
|
||||||
verifier.executeHook( "postbuild-hook.txt" );
|
verifier.executeHook( "postbuild-hook.txt" );
|
||||||
|
|
||||||
|
|
|
@ -291,5 +291,14 @@ it2001: Test that repositories are accumulated as the artifact resolution
|
||||||
that transitive dependencies can be resolved from repositories defined
|
that transitive dependencies can be resolved from repositories defined
|
||||||
in the top-level pom.xml. See MNG-757.
|
in the top-level pom.xml. See MNG-757.
|
||||||
|
|
||||||
|
|
||||||
|
it2002: Test the release plugin.
|
||||||
|
|
||||||
|
it2003: Test that source artifacts share the same build number as the main
|
||||||
|
project artifact. This is only defined in the 2000 series because of
|
||||||
|
the exorbitant time it takes to execute (it uses a uniquely defined
|
||||||
|
local repository, to avoid pollution from existing artifacts in
|
||||||
|
pattern matching of the results).
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
This should be defined as a 00-series IT, but it takes WAY too long to run, so
|
||||||
|
I'm putting it in the 20-series. You should use the same method for running this
|
||||||
|
test as you would any single test in the 00 series.
|
|
@ -0,0 +1 @@
|
||||||
|
--settings ${basedir}/settings.xml
|
|
@ -0,0 +1,2 @@
|
||||||
|
target/test-repo/org/apache/maven/it/maven-core-it2003/1.0-SNAPSHOT/maven-core-it2003-1.0-*-1.jar
|
||||||
|
target/test-repo/org/apache/maven/it/maven-core-it2003/1.0-SNAPSHOT/maven-core-it2003-1.0-*-1-sources.jar
|
|
@ -0,0 +1 @@
|
||||||
|
deploy
|
|
@ -0,0 +1,31 @@
|
||||||
|
<project>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>org.apache.maven.it</groupId>
|
||||||
|
<artifactId>maven-core-it2003</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<distributionManagement>
|
||||||
|
<snapshotRepository>
|
||||||
|
<id>test-repo</id>
|
||||||
|
<url>file:target/test-repo</url>
|
||||||
|
</snapshotRepository>
|
||||||
|
</distributionManagement>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-source-plugin</artifactId>
|
||||||
|
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>attach-sources</id>
|
||||||
|
<goals>
|
||||||
|
<goal>jar</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,3 @@
|
||||||
|
<settings>
|
||||||
|
<localRepository>file:target/local-repo</localRepository>
|
||||||
|
</settings>
|
|
@ -0,0 +1,6 @@
|
||||||
|
package org.apache.maven.it2003;
|
||||||
|
|
||||||
|
public class Person
|
||||||
|
{
|
||||||
|
private String name;
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
use.mavenRepoLocal=false
|
Loading…
Reference in New Issue