public class Verifier
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static class |
Verifier.UserModelReader |
Modifier and Type | Field and Description |
---|---|
private boolean |
autoclean |
private java.lang.String |
basedir |
private java.util.List<java.lang.String> |
cliOptions |
private boolean |
debug |
private boolean |
debugJvm |
private static java.lang.String[] |
DEFAULT_CLI_OPTIONS |
private java.lang.String |
defaultClasspath |
private java.lang.String |
defaultClassworldConf |
private java.lang.String[] |
defaultCliOptions |
private java.lang.String |
defaultMavenHome |
private static MavenLauncher |
embeddedLauncher |
private java.util.Map<java.lang.String,java.lang.String> |
environmentVariables |
private java.io.ByteArrayOutputStream |
errStream |
private java.lang.Boolean |
forkJvm |
private java.lang.String |
forkMode |
private java.lang.String |
localRepo |
private java.lang.String |
localRepoLayout |
private static java.lang.String |
LOG_FILENAME |
private java.lang.String |
logFileName |
private static java.lang.String |
MARKER |
private boolean |
mavenDebug |
private java.io.PrintStream |
originalErr |
private java.io.PrintStream |
originalOut |
private java.io.ByteArrayOutputStream |
outStream |
private java.util.Properties |
systemProperties |
private java.util.Properties |
verifierProperties |
Modifier | Constructor and Description |
---|---|
|
Verifier(java.lang.String basedir) |
|
Verifier(java.lang.String basedir,
boolean debug) |
|
Verifier(java.lang.String basedir,
java.lang.String settingsFile) |
|
Verifier(java.lang.String basedir,
java.lang.String settingsFile,
boolean debug) |
|
Verifier(java.lang.String basedir,
java.lang.String settingsFile,
boolean debug,
boolean forkJvm) |
|
Verifier(java.lang.String basedir,
java.lang.String settingsFile,
boolean debug,
boolean forkJvm,
java.lang.String[] defaultCliOptions) |
private |
Verifier(java.lang.String basedir,
java.lang.String settingsFile,
boolean debug,
java.lang.Boolean forkJvm,
java.lang.String[] defaultCliOptions) |
|
Verifier(java.lang.String basedir,
java.lang.String settingsFile,
boolean debug,
java.lang.String[] defaultCliOptions) |
Modifier and Type | Method and Description |
---|---|
void |
addCliOption(java.lang.String option) |
private static void |
addMetadataToList(java.io.File dir,
boolean hasCommand,
java.util.List<java.lang.String> l,
java.lang.String command) |
void |
assertArtifactContents(java.lang.String org,
java.lang.String artifact,
java.lang.String version,
java.lang.String type,
java.lang.String contents) |
void |
assertArtifactNotPresent(java.lang.String org,
java.lang.String name,
java.lang.String version,
java.lang.String ext) |
void |
assertArtifactPresent(java.lang.String org,
java.lang.String name,
java.lang.String version,
java.lang.String ext) |
void |
assertFileMatches(java.lang.String file,
java.lang.String regex)
Check that given file's content matches an regular expression.
|
void |
assertFileNotPresent(java.lang.String file) |
void |
assertFilePresent(java.lang.String file) |
void |
deleteArtifact(java.lang.String org,
java.lang.String name,
java.lang.String version,
java.lang.String ext) |
void |
deleteArtifacts(java.lang.String gid)
Deletes all artifacts in the specified group id from the local repository.
|
void |
deleteArtifacts(java.lang.String gid,
java.lang.String aid,
java.lang.String version)
Deletes all artifacts in the specified g:a:v from the local repository.
|
void |
deleteDirectory(java.lang.String path)
Deletes the specified directory.
|
private static java.util.List<java.lang.String> |
discoverIntegrationTests(java.lang.String directory) |
private void |
displayLogFile() |
void |
displayStreamBuffers() |
private void |
executeCommand(java.lang.String line) |
void |
executeGoal(java.lang.String goal) |
void |
executeGoal(java.lang.String goal,
java.util.Map<java.lang.String,java.lang.String> envVars) |
void |
executeGoals(java.util.List<java.lang.String> goals) |
void |
executeGoals(java.util.List<java.lang.String> goals,
java.util.Map<java.lang.String,java.lang.String> envVars) |
void |
executeHook(java.lang.String filename) |
java.io.File |
filterFile(java.lang.String srcPath,
java.lang.String dstPath,
java.lang.String fileEncoding,
java.util.Map<java.lang.String,java.lang.String> filterProperties)
Filters a text file by replacing some user-defined tokens.
|
java.io.File |
filterFile(java.lang.String srcPath,
java.lang.String dstPath,
java.lang.String fileEncoding,
java.util.Properties filterProperties)
Deprecated.
|
private void |
findDefaultMavenHome() |
private void |
findLocalRepo(java.lang.String settingsFile) |
java.util.List<java.lang.String> |
getArtifactFileNameList(java.lang.String org,
java.lang.String name,
java.lang.String version,
java.lang.String ext) |
java.lang.String |
getArtifactMetadataPath(java.lang.String gid,
java.lang.String aid)
Gets the path to the local artifact metadata.
|
java.lang.String |
getArtifactMetadataPath(java.lang.String gid,
java.lang.String aid,
java.lang.String version)
Gets the path to the local artifact metadata.
|
java.lang.String |
getArtifactMetadataPath(java.lang.String gid,
java.lang.String aid,
java.lang.String version,
java.lang.String filename)
Gets the path to a file in the local artifact directory.
|
private java.lang.String |
getArtifactPath(java.lang.String artifact) |
java.lang.String |
getArtifactPath(java.lang.String org,
java.lang.String name,
java.lang.String version,
java.lang.String ext) |
java.lang.String |
getArtifactPath(java.lang.String gid,
java.lang.String aid,
java.lang.String version,
java.lang.String ext,
java.lang.String classifier)
Returns the absolute path to the artifact denoted by groupId, artifactId, version, extension and classifier.
|
java.lang.String |
getBasedir() |
private java.util.List<java.net.URL> |
getClasspath() |
java.util.List<java.lang.String> |
getCliOptions() |
java.util.Map<java.lang.String,java.lang.String> |
getEnvironmentVariables() |
java.lang.String |
getExecutable() |
java.lang.String |
getLocalRepoLayout() |
java.lang.String |
getLocalRepository() |
private static java.lang.String |
getLogContents(java.io.File logFile) |
java.lang.String |
getLogFileName()
Gets the name of the file used to log build output.
|
private MavenLauncher |
getMavenLauncher(java.util.Map<java.lang.String,java.lang.String> envVars) |
java.lang.String |
getMavenVersion() |
java.util.Properties |
getSystemProperties() |
java.util.Properties |
getVerifierProperties() |
private void |
initEmbeddedLauncher() |
boolean |
isAutoclean() |
boolean |
isDebugJvm() |
boolean |
isMavenDebug() |
private static boolean |
isVelocityError(java.lang.String line)
Checks whether the specified line is just an error message from Velocity.
|
static void |
launchSubversion(java.lang.String line,
java.lang.String basedir) |
java.util.List<java.lang.String> |
loadFile(java.io.File file,
boolean hasCommand) |
java.util.List<java.lang.String> |
loadFile(java.lang.String basedir,
java.lang.String filename,
boolean hasCommand) |
java.util.List<java.lang.String> |
loadLines(java.lang.String filename,
java.lang.String encoding)
Loads the (non-empty) lines of the specified text file.
|
java.util.Properties |
loadProperties(java.lang.String filename) |
static void |
main(java.lang.String[] args) |
java.util.Properties |
newDefaultFilterProperties()
Gets a new copy of the default filter properties.
|
private java.util.List<java.lang.String> |
replaceArtifacts(java.lang.String line,
boolean hasCommand) |
void |
resetStreams() |
private java.lang.String |
resolveCommandLineArg(java.lang.String key) |
private static java.lang.String |
retrieveLocalRepo(java.lang.String settingsXmlPath) |
private static void |
runIntegrationTest(Verifier verifier) |
void |
setAutoclean(boolean autoclean) |
void |
setCliOptions(java.util.List<java.lang.String> cliOptions) |
void |
setDebug(boolean debug) |
void |
setDebugJvm(boolean debugJvm) |
void |
setEnvironmentVariable(java.lang.String key,
java.lang.String value) |
void |
setEnvironmentVariables(java.util.Map<java.lang.String,java.lang.String> environmentVariables) |
void |
setForkJvm(boolean forkJvm) |
void |
setLocalRepo(java.lang.String localRepo) |
void |
setLocalRepoLayout(java.lang.String localRepoLayout) |
void |
setLogFileName(java.lang.String logFileName)
Sets the name of the file used to log build output.
|
void |
setMavenDebug(boolean mavenDebug) |
void |
setSystemProperties(java.util.Properties systemProperties) |
void |
setSystemProperty(java.lang.String key,
java.lang.String value) |
void |
setVerifierProperties(java.util.Properties verifierProperties) |
void |
verify(boolean chokeOnErrorOutput) |
private void |
verifyArtifactPresence(boolean wanted,
java.lang.String org,
java.lang.String name,
java.lang.String version,
java.lang.String ext) |
void |
verifyErrorFreeLog() |
private void |
verifyExpectedResult(java.lang.String line) |
private void |
verifyExpectedResult(java.lang.String line,
boolean wanted) |
void |
verifyTextInLog(java.lang.String text)
Throws an exception if the text is not present in the log.
|
void |
writeFile(java.lang.String path,
java.lang.String contents)
Writes a text file with the specified contents.
|
private static final java.lang.String LOG_FILENAME
private static final java.lang.String[] DEFAULT_CLI_OPTIONS
private java.lang.String localRepo
private final java.lang.String basedir
private final java.io.ByteArrayOutputStream outStream
private final java.io.ByteArrayOutputStream errStream
private final java.lang.String[] defaultCliOptions
private java.io.PrintStream originalOut
private java.io.PrintStream originalErr
private java.util.List<java.lang.String> cliOptions
private java.util.Properties systemProperties
private java.util.Map<java.lang.String,java.lang.String> environmentVariables
private java.util.Properties verifierProperties
private boolean autoclean
private java.lang.String localRepoLayout
private boolean debug
private java.lang.Boolean forkJvm
private java.lang.String logFileName
private java.lang.String defaultMavenHome
private java.lang.String defaultClassworldConf
private java.lang.String defaultClasspath
private boolean mavenDebug
private java.lang.String forkMode
private boolean debugJvm
private static MavenLauncher embeddedLauncher
private static final java.lang.String MARKER
public Verifier(java.lang.String basedir) throws VerificationException
VerificationException
public Verifier(java.lang.String basedir, boolean debug) throws VerificationException
VerificationException
public Verifier(java.lang.String basedir, java.lang.String settingsFile) throws VerificationException
VerificationException
public Verifier(java.lang.String basedir, java.lang.String settingsFile, boolean debug) throws VerificationException
VerificationException
public Verifier(java.lang.String basedir, java.lang.String settingsFile, boolean debug, java.lang.String[] defaultCliOptions) throws VerificationException
VerificationException
public Verifier(java.lang.String basedir, java.lang.String settingsFile, boolean debug, boolean forkJvm) throws VerificationException
VerificationException
public Verifier(java.lang.String basedir, java.lang.String settingsFile, boolean debug, boolean forkJvm, java.lang.String[] defaultCliOptions) throws VerificationException
VerificationException
private Verifier(java.lang.String basedir, java.lang.String settingsFile, boolean debug, java.lang.Boolean forkJvm, java.lang.String[] defaultCliOptions) throws VerificationException
VerificationException
private void findDefaultMavenHome() throws VerificationException
VerificationException
public void setLocalRepo(java.lang.String localRepo)
public void resetStreams()
public void displayStreamBuffers()
public void verify(boolean chokeOnErrorOutput) throws VerificationException
VerificationException
public void verifyErrorFreeLog() throws VerificationException
VerificationException
private static boolean isVelocityError(java.lang.String line)
line
- The log line to check, must not be null
.true
if the line appears to be a Velocity error, false
otherwise.public void verifyTextInLog(java.lang.String text) throws VerificationException
text
- the text to assert presentVerificationException
public java.util.Properties loadProperties(java.lang.String filename) throws VerificationException
VerificationException
public java.util.List<java.lang.String> loadLines(java.lang.String filename, java.lang.String encoding) throws java.io.IOException
filename
- The path to the text file to load, relative to the base directory, must not be null
.encoding
- The character encoding of the file, may be null
or empty to use the platform default
encoding.null
.java.io.IOException
- If the file could not be loaded.public java.util.List<java.lang.String> loadFile(java.lang.String basedir, java.lang.String filename, boolean hasCommand) throws VerificationException
VerificationException
public java.util.List<java.lang.String> loadFile(java.io.File file, boolean hasCommand) throws VerificationException
VerificationException
private java.util.List<java.lang.String> replaceArtifacts(java.lang.String line, boolean hasCommand)
private static void addMetadataToList(java.io.File dir, boolean hasCommand, java.util.List<java.lang.String> l, java.lang.String command)
private java.lang.String getArtifactPath(java.lang.String artifact)
public java.lang.String getArtifactPath(java.lang.String org, java.lang.String name, java.lang.String version, java.lang.String ext)
public java.lang.String getArtifactPath(java.lang.String gid, java.lang.String aid, java.lang.String version, java.lang.String ext, java.lang.String classifier)
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.public java.util.List<java.lang.String> getArtifactFileNameList(java.lang.String org, java.lang.String name, java.lang.String version, java.lang.String ext)
public java.lang.String getArtifactMetadataPath(java.lang.String gid, java.lang.String aid, java.lang.String version)
gid
- The group id, must not be null
.aid
- The artifact id, must not be null
.version
- The artifact version, may be null
.null
.public java.lang.String getArtifactMetadataPath(java.lang.String gid, java.lang.String aid, java.lang.String version, java.lang.String filename)
gid
- The group id, must not be null
.aid
- The artifact id, may be null
.version
- The artifact version, may be null
.filename
- The filename to use, must not be null
.null
.public java.lang.String getArtifactMetadataPath(java.lang.String gid, java.lang.String aid)
gid
- The group id, must not be null
.aid
- The artifact id, must not be null
.null
.public void executeHook(java.lang.String filename) throws VerificationException
VerificationException
private void executeCommand(java.lang.String line) throws VerificationException
VerificationException
public static void launchSubversion(java.lang.String line, java.lang.String basedir) throws VerificationException
VerificationException
private static java.lang.String retrieveLocalRepo(java.lang.String settingsXmlPath) throws VerificationException
VerificationException
public void deleteArtifact(java.lang.String org, java.lang.String name, java.lang.String version, java.lang.String ext) throws java.io.IOException
java.io.IOException
public void deleteArtifacts(java.lang.String gid) throws java.io.IOException
gid
- The group id whose artifacts should be deleted, must not be null
.java.io.IOException
- If the artifacts could not be deleted.public void deleteArtifacts(java.lang.String gid, java.lang.String aid, java.lang.String version) throws java.io.IOException
gid
- The group id whose artifacts should be deleted, must not be null
.aid
- The artifact id whose artifacts should be deleted, must not be null
.version
- The (base) version whose artifacts should be deleted, must not be null
.java.io.IOException
- If the artifacts could not be deleted.public void deleteDirectory(java.lang.String path) throws java.io.IOException
path
- The path to the directory to delete, relative to the base directory, must not be null
.java.io.IOException
- If the directory could not be deleted.public void writeFile(java.lang.String path, java.lang.String contents) throws java.io.IOException
path
- The path to the file, relative to the base directory, must not be null
.contents
- The contents to write, must not be null
.java.io.IOException
- If the file could not be written.public java.io.File filterFile(java.lang.String srcPath, java.lang.String dstPath, java.lang.String fileEncoding, java.util.Map<java.lang.String,java.lang.String> filterProperties) throws java.io.IOException
srcPath
- The path to the input file, relative to the base directory, must not be
null
.dstPath
- The path to the output file, relative to the base directory and possibly equal to the
input file, must not be null
.fileEncoding
- The file encoding to use, may be null
or empty to use the platform's default
encoding.filterProperties
- The mapping from tokens to replacement values, must not be null
.null
.java.io.IOException
- If the file could not be filtered.public java.io.File filterFile(java.lang.String srcPath, java.lang.String dstPath, java.lang.String fileEncoding, java.util.Properties filterProperties) throws java.io.IOException
filterFile(String, String, String, Map)
newDefaultFilterProperties()
. Need to remove both methods and update all clients eventually/java.io.IOException
public java.util.Properties newDefaultFilterProperties()
file:
URL, respectively.null
.public void assertFilePresent(java.lang.String file)
public void assertFileMatches(java.lang.String file, java.lang.String regex)
file
- the file to check.regex
- a regular expression.Pattern
public void assertFileNotPresent(java.lang.String file)
private void verifyArtifactPresence(boolean wanted, java.lang.String org, java.lang.String name, java.lang.String version, java.lang.String ext)
public void assertArtifactPresent(java.lang.String org, java.lang.String name, java.lang.String version, java.lang.String ext)
public void assertArtifactNotPresent(java.lang.String org, java.lang.String name, java.lang.String version, java.lang.String ext)
private void verifyExpectedResult(java.lang.String line) throws VerificationException
VerificationException
private void verifyExpectedResult(java.lang.String line, boolean wanted) throws VerificationException
VerificationException
public void executeGoal(java.lang.String goal) throws VerificationException
VerificationException
public void executeGoal(java.lang.String goal, java.util.Map<java.lang.String,java.lang.String> envVars) throws VerificationException
VerificationException
public void executeGoals(java.util.List<java.lang.String> goals) throws VerificationException
VerificationException
public java.lang.String getExecutable()
public void executeGoals(java.util.List<java.lang.String> goals, java.util.Map<java.lang.String,java.lang.String> envVars) throws VerificationException
VerificationException
private MavenLauncher getMavenLauncher(java.util.Map<java.lang.String,java.lang.String> envVars) throws LauncherException
LauncherException
private void initEmbeddedLauncher() throws LauncherException
LauncherException
private java.util.List<java.net.URL> getClasspath() throws LauncherException
LauncherException
public java.lang.String getMavenVersion() throws VerificationException
VerificationException
private static java.lang.String getLogContents(java.io.File logFile)
private java.lang.String resolveCommandLineArg(java.lang.String key)
private static java.util.List<java.lang.String> discoverIntegrationTests(java.lang.String directory) throws VerificationException
VerificationException
private void displayLogFile()
public static void main(java.lang.String[] args) throws VerificationException
VerificationException
private void findLocalRepo(java.lang.String settingsFile) throws VerificationException
VerificationException
private static void runIntegrationTest(Verifier verifier) throws VerificationException
VerificationException
public void assertArtifactContents(java.lang.String org, java.lang.String artifact, java.lang.String version, java.lang.String type, java.lang.String contents) throws java.io.IOException
java.io.IOException
public java.util.List<java.lang.String> getCliOptions()
public void setCliOptions(java.util.List<java.lang.String> cliOptions)
public void addCliOption(java.lang.String option)
public java.util.Properties getSystemProperties()
public void setSystemProperties(java.util.Properties systemProperties)
public void setSystemProperty(java.lang.String key, java.lang.String value)
public java.util.Map<java.lang.String,java.lang.String> getEnvironmentVariables()
public void setEnvironmentVariables(java.util.Map<java.lang.String,java.lang.String> environmentVariables)
public void setEnvironmentVariable(java.lang.String key, java.lang.String value)
public java.util.Properties getVerifierProperties()
public void setVerifierProperties(java.util.Properties verifierProperties)
public boolean isAutoclean()
public void setAutoclean(boolean autoclean)
public java.lang.String getBasedir()
public java.lang.String getLogFileName()
null
.public void setLogFileName(java.lang.String logFileName)
logFileName
- The name of the log file, relative to the base directory, must not be empty or
null
.public void setDebug(boolean debug)
public boolean isMavenDebug()
public void setMavenDebug(boolean mavenDebug)
public void setForkJvm(boolean forkJvm)
public boolean isDebugJvm()
public void setDebugJvm(boolean debugJvm)
public java.lang.String getLocalRepoLayout()
public void setLocalRepoLayout(java.lang.String localRepoLayout)
public java.lang.String getLocalRepository()