Package org.apache.maven.it
Class Verifier
java.lang.Object
org.apache.maven.it.Verifier
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate final Stringprivate booleanprivate booleanprivate static final String[]private Stringprivate Stringprivate final String[]private Stringprivate static MavenLauncherprivate final ByteArrayOutputStreamprivate Booleanprivate Stringprivate Stringprivate Stringprivate static final Stringprivate Stringprivate static final Stringprivate booleanprivate PrintStreamprivate PrintStreamprivate final ByteArrayOutputStreamprivate Propertiesprivate Properties -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCliOption(String option) private static voidaddMetadataToList(File dir, boolean hasCommand, List<String> l, String command) voidvoidassertArtifactNotPresent(String org, String name, String version, String ext) voidassertArtifactPresent(String org, String name, String version, String ext) voidassertFileMatches(String file, String regex) Check that given file's content matches an regular expression.voidassertFileNotPresent(String file) voidassertFilePresent(String file) voiddeleteArtifact(String org, String name, String version, String ext) voiddeleteArtifacts(String gid) Deletes all artifacts in the specified group id from the local repository.voiddeleteArtifacts(String gid, String aid, String version) Deletes all artifacts in the specified g:a:v from the local repository.voiddeleteDirectory(String path) Deletes the specified directory.discoverIntegrationTests(String directory) private voidvoidprivate voidexecuteCommand(String line) voidexecuteGoal(String goal) voidexecuteGoal(String goal, Map<String, String> envVars) voidexecuteGoals(List<String> goals) voidvoidexecuteHook(String filename) filterFile(String srcPath, String dstPath, String fileEncoding, Map<String, String> filterProperties) Filters a text file by replacing some user-defined tokens.filterFile(String srcPath, String dstPath, String fileEncoding, Properties filterProperties) Deprecated.private voidprivate voidfindLocalRepo(String settingsFile) getArtifactFileNameList(String org, String name, String version, String ext) getArtifactMetadataPath(String gid, String aid) Gets the path to the local artifact metadata.getArtifactMetadataPath(String gid, String aid, String version) Gets the path to the local artifact metadata.getArtifactMetadataPath(String gid, String aid, String version, String filename) Gets the path to a file in the local artifact directory.private StringgetArtifactPath(String artifact) getArtifactPath(String org, String name, String version, String ext) Returns the absolute path to the artifact denoted by groupId, artifactId, version, extension and classifier.private static StringgetLogContents(File logFile) Gets the name of the file used to log build output.private MavenLaunchergetMavenLauncher(Map<String, String> envVars) private BufferedReaderprivate voidbooleanbooleanbooleanprivate static booleanisVelocityError(String line) Checks whether the specified line is just an error message from Velocity.static voidlaunchSubversion(String line, String basedir) Loads the (non-empty) lines of the specified text file.loadProperties(String filename) static voidGets a new copy of the default filter properties.replaceArtifacts(String line, boolean hasCommand) voidprivate Stringprivate static StringretrieveLocalRepo(String settingsXmlPath) private static voidrunIntegrationTest(Verifier verifier) voidsetAutoclean(boolean autoclean) voidsetCliOptions(List<String> cliOptions) voidsetDebug(boolean debug) voidsetDebugJvm(boolean debugJvm) voidsetEnvironmentVariable(String key, String value) voidsetEnvironmentVariables(Map<String, String> environmentVariables) voidsetForkJvm(boolean forkJvm) voidsetLocalRepo(String localRepo) voidsetLocalRepoLayout(String localRepoLayout) voidsetLogFileName(String logFileName) Sets the name of the file used to log build output.voidsetMavenDebug(boolean mavenDebug) voidsetSystemProperties(Properties systemProperties) voidsetSystemProperty(String key, String value) voidsetVerifierProperties(Properties verifierProperties) static Stringvoidverify(boolean chokeOnErrorOutput) private voidverifyArtifactPresence(boolean wanted, String org, String name, String version, String ext) voidprivate voidverifyExpectedResult(String line) private voidverifyExpectedResult(String line, boolean wanted) voidverifyTextInLog(String text) Throws an exception if the text is not present in the log.voidWrites a text file with the specified contents.
-
Field Details
-
LOG_FILENAME
- See Also:
-
DEFAULT_CLI_OPTIONS
-
localRepo
-
basedir
-
outStream
-
errStream
-
defaultCliOptions
-
originalOut
-
originalErr
-
cliOptions
-
systemProperties
-
environmentVariables
-
verifierProperties
-
autoclean
private boolean autoclean -
localRepoLayout
-
debug
private boolean debug -
forkJvm
-
logFileName
-
defaultMavenHome
-
defaultClassworldConf
-
defaultClasspath
-
mavenDebug
private boolean mavenDebug -
forkMode
-
debugJvm
private boolean debugJvm -
embeddedLauncher
-
MARKER
- See Also:
-
-
Constructor Details
-
Verifier
- Throws:
VerificationException
-
Verifier
- Throws:
VerificationException
-
Verifier
- Throws:
VerificationException
-
Verifier
- Throws:
VerificationException
-
Verifier
public Verifier(String basedir, String settingsFile, boolean debug, String[] defaultCliOptions) throws VerificationException - Throws:
VerificationException
-
Verifier
public Verifier(String basedir, String settingsFile, boolean debug, boolean forkJvm) throws VerificationException - Throws:
VerificationException
-
Verifier
public Verifier(String basedir, String settingsFile, boolean debug, boolean forkJvm, String[] defaultCliOptions) throws VerificationException - Throws:
VerificationException
-
Verifier
private Verifier(String basedir, String settingsFile, boolean debug, Boolean forkJvm, String[] defaultCliOptions) throws VerificationException - Throws:
VerificationException
-
-
Method Details
-
findDefaultMavenHome
- Throws:
VerificationException
-
setLocalRepo
-
resetStreams
public void resetStreams() -
displayStreamBuffers
public void displayStreamBuffers() -
verify
- Throws:
VerificationException
-
verifyErrorFreeLog
- Throws:
VerificationException
-
isVelocityError
Checks whether the specified line is just an error message from Velocity. Especially old versions of Doxia employ a very noisy Velocity instance.- Parameters:
line- The log line to check, must not benull.- Returns:
trueif the line appears to be a Velocity error,falseotherwise.
-
verifyTextInLog
Throws an exception if the text is not present in the log.- Parameters:
text- the text to assert present- Throws:
VerificationException- if text is not found in log
-
stripAnsi
-
loadProperties
- Throws:
VerificationException
-
loadLines
Loads the (non-empty) lines of the specified text file.- Parameters:
filename- The path to the text file to load, relative to the base directory, must not benull.encoding- The character encoding of the file, may benullor empty to use the platform default encoding.- Returns:
- The list of (non-empty) lines from the text file, can be empty but never
null. - Throws:
IOException- If the file could not be loaded.- Since:
- 1.2
-
getReader
- Throws:
IOException
-
loadFile
public List<String> loadFile(String basedir, String filename, boolean hasCommand) throws VerificationException - Throws:
VerificationException
-
loadFile
- Throws:
VerificationException
-
replaceArtifacts
-
addMetadataToList
-
getArtifactPath
-
getArtifactPath
-
getArtifactPath
public String getArtifactPath(String gid, String aid, String version, String ext, String classifier) Returns the absolute path to the artifact denoted by groupId, artifactId, version, extension and classifier.- Parameters:
gid- The groupId, must not be null.aid- The artifactId, must not be null.version- The version, must not be null.ext- The extension, must not be null.classifier- The classifier, may be null to be omitted.- Returns:
- the absolute path to the artifact denoted by groupId, artifactId, version, extension and classifier, never null.
-
getArtifactFileNameList
-
getArtifactMetadataPath
Gets the path to the local artifact metadata. Note that the method does not check whether the returned path actually points to existing metadata.- Parameters:
gid- The group id, must not benull.aid- The artifact id, must not benull.version- The artifact version, may benull.- Returns:
- The (absolute) path to the local artifact metadata, never
null.
-
getArtifactMetadataPath
Gets the path to a file in the local artifact directory. Note that the method does not check whether the returned path actually points to an existing file.- Parameters:
gid- The group id, must not benull.aid- The artifact id, may benull.version- The artifact version, may benull.filename- The filename to use, must not benull.- Returns:
- The (absolute) path to the local artifact metadata, never
null.
-
getArtifactMetadataPath
Gets the path to the local artifact metadata. Note that the method does not check whether the returned path actually points to existing metadata.- Parameters:
gid- The group id, must not benull.aid- The artifact id, must not benull.- Returns:
- The (absolute) path to the local artifact metadata, never
null.
-
executeHook
- Throws:
VerificationException
-
executeCommand
- Throws:
VerificationException
-
launchSubversion
- Throws:
VerificationException
-
retrieveLocalRepo
- Throws:
VerificationException
-
deleteArtifact
- Throws:
IOException
-
deleteArtifacts
Deletes all artifacts in the specified group id from the local repository.- Parameters:
gid- The group id whose artifacts should be deleted, must not benull.- Throws:
IOException- If the artifacts could not be deleted.- Since:
- 1.2
-
deleteArtifacts
Deletes all artifacts in the specified g:a:v from the local repository.- Parameters:
gid- The group id whose artifacts should be deleted, must not benull.aid- The artifact id whose artifacts should be deleted, must not benull.version- The (base) version whose artifacts should be deleted, must not benull.- Throws:
IOException- If the artifacts could not be deleted.- Since:
- 1.3
-
deleteDirectory
Deletes the specified directory.- Parameters:
path- The path to the directory to delete, relative to the base directory, must not benull.- Throws:
IOException- If the directory could not be deleted.- Since:
- 1.2
-
writeFile
Writes a text file with the specified contents. The contents will be encoded using UTF-8.- Parameters:
path- The path to the file, relative to the base directory, must not benull.contents- The contents to write, must not benull.- Throws:
IOException- If the file could not be written.- Since:
- 1.2
-
filterFile
public File filterFile(String srcPath, String dstPath, String fileEncoding, Map<String, String> filterProperties) throws IOExceptionFilters a text file by replacing some user-defined tokens.- Parameters:
srcPath- The path to the input file, relative to the base directory, must not benull.dstPath- The path to the output file, relative to the base directory and possibly equal to the input file, must not benull.fileEncoding- The file encoding to use, may benullor empty to use the platform's default encoding.filterProperties- The mapping from tokens to replacement values, must not benull.- Returns:
- The path to the filtered output file, never
null. - Throws:
IOException- If the file could not be filtered.- Since:
- 1.2
-
filterFile
@Deprecated public File filterFile(String srcPath, String dstPath, String fileEncoding, Properties filterProperties) throws IOException Deprecated.There are 226 references to this method in Maven core ITs. In most (all?) cases it is used together withnewDefaultFilterProperties(). Need to remove both methods and update all clients eventually/- Parameters:
srcPath- The path to the input file, relative to the base directory, must not benull.dstPath- The path to the output file, relative to the base directory and possibly equal to the input file, must not benull.fileEncoding- The file encoding to use, may benullor empty to use the platform's default encoding.filterProperties- The mapping from tokens to replacement values, must not benull.- Returns:
- The path to the filtered output file, never
null. - Throws:
IOException- If the file could not be filtered.
-
newDefaultFilterProperties
Gets a new copy of the default filter properties. These default filter properties map the tokens "@basedir@" and "@baseurl@" to the test's base directory and its basefile:URL, respectively.- Returns:
- The (modifiable) map with the default filter properties, never
null. - Since:
- 1.2
-
assertFilePresent
-
assertFileMatches
Check that given file's content matches an regular expression. Note this method also checks that the file exists and is readable.- Parameters:
file- the file to check.regex- a regular expression.- See Also:
-
assertFileNotPresent
-
verifyArtifactPresence
-
assertArtifactPresent
-
assertArtifactNotPresent
-
verifyExpectedResult
- Throws:
VerificationException
-
verifyExpectedResult
- Throws:
VerificationException
-
executeGoal
- Throws:
VerificationException
-
executeGoal
- Throws:
VerificationException
-
executeGoals
- Throws:
VerificationException
-
getExecutable
-
executeGoals
public void executeGoals(List<String> goals, Map<String, String> envVars) throws VerificationException- Throws:
VerificationException
-
getMavenLauncher
- Throws:
LauncherException
-
initEmbeddedLauncher
- Throws:
LauncherException
-
getClasspath
- Throws:
LauncherException
-
getMavenVersion
- Throws:
VerificationException
-
getLogContents
-
resolveCommandLineArg
-
discoverIntegrationTests
- Throws:
VerificationException
-
displayLogFile
private void displayLogFile() -
main
- Throws:
VerificationException
-
findLocalRepo
- Throws:
VerificationException
-
runIntegrationTest
- Throws:
VerificationException
-
assertArtifactContents
public void assertArtifactContents(String org, String artifact, String version, String type, String contents) throws IOException - Throws:
IOException
-
getCliOptions
-
setCliOptions
-
addCliOption
-
getSystemProperties
-
setSystemProperties
-
setSystemProperty
-
getEnvironmentVariables
-
setEnvironmentVariables
-
setEnvironmentVariable
-
getVerifierProperties
-
setVerifierProperties
-
isAutoclean
public boolean isAutoclean() -
setAutoclean
public void setAutoclean(boolean autoclean) -
getBasedir
-
getLogFileName
Gets the name of the file used to log build output.- Returns:
- The name of the log file, relative to the base directory, never
null. - Since:
- 1.2
-
setLogFileName
Sets the name of the file used to log build output.- Parameters:
logFileName- The name of the log file, relative to the base directory, must not be empty ornull.- Since:
- 1.2
-
setDebug
public void setDebug(boolean debug) -
isMavenDebug
public boolean isMavenDebug() -
setMavenDebug
public void setMavenDebug(boolean mavenDebug) -
setForkJvm
public void setForkJvm(boolean forkJvm) -
isDebugJvm
public boolean isDebugJvm() -
setDebugJvm
public void setDebugJvm(boolean debugJvm) -
getLocalRepoLayout
-
setLocalRepoLayout
-
getLocalRepository
-
filterFile(String, String, String, Map)