basher:initiate-run

Full name:

net.sourceforge.basher:maven-basher-plugin:1.0.13:initiate-run

Description:

Mojo will instantiate and run Basher according to the settings configured in the pom and associated Basher context (both from POM and from within Gaderian registry).
The original functionality of this plugin was copied from the Maven SureFire plugin.

Attributes:

  • Requires a Maven 2.0 project to be executed.
  • Requires dependency resolution of artifacts in scope: test.
  • Binds by default to the lifecycle phase: test.

Required Parameters

Name Type Since Description
basedir File - The base directory of the project being used. This can be obtained in your Basher tasks by System.getProperty("basedir").
buildDirectory File - Location of the build directory.
classesDirectory File - Location of the build directory.

Optional Parameters

Name Type Since Description
activeBasherContext String - The name of the Basher context to use
Default value is: default.
argLine String - Arbitrary JVM options to set on the command line.
basherContexts List - List of Basher contexts which can be used for a run.
debugForkedProcess String - Attach a debugger to the forked JVM. If set to "true", the process will suspend and wait for a debugger to attach on port 5005. If set to some other string, that string will be appended to the argLine, allowing you to configure arbitrary debuggability options (without overwriting the other options specified in the argLine).
enableAssertions boolean - By default, Basher enables JVM assertions for the execution of your tasks. To disable the assertions, set this flag to false.
Default value is: true.
environmentVariables Map - Additional environments to set on the command line.
excludes List - List of patterns (separated by commas) used to specify the tasks that should be excluded in the Basher run. When not specified and when the task parameter is not specified, the default excludes will be **/*$* (which excludes all inner classes).
forkMode String - Option to specify the forking mode. Can be "never" or "once".
Default value is: once.
includes List - List of patterns (separated by commas) used to specify the tasks that should be included in the Basher run. When not specified and when the task parameter is not specified, the default includes will be **/Task*.java **/*Task.java .
jvm String - Option to specify the jvm (or path to the java executable) to use with the forking options. For the default, the jvm will be the same as the one used to run Maven.
processTimeOut int - Defines the timeout to use for monitoring a forked of Basher run.
Default value is: 0.
profiler String - Attach a profiler to the forked JVM. If set to "yourkit", the process will activate a YourKit based profiler agent by default.
If set to some other string, that string will be appended to the JVM arguments, allowing you to configure arbitrary profiling options (without overwriting the other options specified in the argLine).
If set to "none", no profiler is used. This is useful when wanting to override a POM defined profiler.
remoteRepositories List - The plugin remote repositories declared in the pom.
reportsDirectory File - Base directory where all reports are written to.
systemProperties Properties - List of System properties to pass to the Basher tasks.
useManifestOnlyJar boolean - By default, Basher forks your run using a manifest-only jar; set this parameter to "false" to force it to launch your Basher run with a plain old Java classpath. (See http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html for a more detailed explanation of manifest-only jars and their benefits.)

Default value is "true". Beware, setting this to "false" may cause your tasks to fail on Windows if your classpath is too long.
Default value is: true.
useSystemClassLoader Boolean - Option to pass dependencies to the system's classloader instead of using an isolated class loader when forking. Prevents problems with JDKs which implement the service provider lookup mechanism by using the system's classloader. Default value is "true".
workingDirectory File - Command line working directory.

Parameter Details

activeBasherContext:

The name of the Basher context to use
  • Type: java.lang.String
  • Required: No
  • Expression: ${maven.basher.activeBasherContext}
  • Default: default

argLine:

Arbitrary JVM options to set on the command line.
  • Type: java.lang.String
  • Required: No
  • Expression: ${argLine}

basedir:

The base directory of the project being used. This can be obtained in your Basher tasks by System.getProperty("basedir").
  • Type: java.io.File
  • Required: Yes
  • Expression: ${basedir}

basherContexts:

List of Basher contexts which can be used for a run.
  • Type: java.util.List
  • Required: No

buildDirectory:

Location of the build directory.
  • Type: java.io.File
  • Required: Yes
  • Expression: ${project.build.testOutputDirectory}

classesDirectory:

Location of the build directory.
  • Type: java.io.File
  • Required: Yes
  • Expression: ${project.build.outputDirectory}

debugForkedProcess:

Attach a debugger to the forked JVM. If set to "true", the process will suspend and wait for a debugger to attach on port 5005. If set to some other string, that string will be appended to the argLine, allowing you to configure arbitrary debuggability options (without overwriting the other options specified in the argLine).
  • Type: java.lang.String
  • Required: No
  • Expression: ${maven.basher.debug}

enableAssertions:

By default, Basher enables JVM assertions for the execution of your tasks. To disable the assertions, set this flag to false.
  • Type: boolean
  • Required: No
  • Expression: ${enableAssertions}
  • Default: true

environmentVariables:

Additional environments to set on the command line.
  • Type: java.util.Map
  • Required: No

excludes:

List of patterns (separated by commas) used to specify the tasks that should be excluded in the Basher run. When not specified and when the task parameter is not specified, the default excludes will be **/*$* (which excludes all inner classes).
  • Type: java.util.List
  • Required: No

forkMode:

Option to specify the forking mode. Can be "never" or "once".
  • Type: java.lang.String
  • Required: No
  • Expression: ${maven.basher.forkMode}
  • Default: once

includes:

List of patterns (separated by commas) used to specify the tasks that should be included in the Basher run. When not specified and when the task parameter is not specified, the default includes will be **/Task*.java **/*Task.java .
  • Type: java.util.List
  • Required: No

jvm:

Option to specify the jvm (or path to the java executable) to use with the forking options. For the default, the jvm will be the same as the one used to run Maven.
  • Type: java.lang.String
  • Required: No
  • Expression: ${maven.basher.jvm}

processTimeOut:

Defines the timeout to use for monitoring a forked of Basher run.
  • Type: int
  • Required: No
  • Expression: ${processTimeOut}
  • Default: 0

profiler:

Attach a profiler to the forked JVM. If set to "yourkit", the process will activate a YourKit based profiler agent by default.
If set to some other string, that string will be appended to the JVM arguments, allowing you to configure arbitrary profiling options (without overwriting the other options specified in the argLine).
If set to "none", no profiler is used. This is useful when wanting to override a POM defined profiler.
  • Type: java.lang.String
  • Required: No
  • Expression: ${maven.basher.profiler}

remoteRepositories:

The plugin remote repositories declared in the pom.
  • Type: java.util.List
  • Required: No
  • Expression: ${project.pluginArtifactRepositories}

reportsDirectory:

Base directory where all reports are written to.
  • Type: java.io.File
  • Required: No
  • Expression: ${project.build.directory}/basher-reports

systemProperties:

List of System properties to pass to the Basher tasks.
  • Type: java.util.Properties
  • Required: No

useManifestOnlyJar:

By default, Basher forks your run using a manifest-only jar; set this parameter to "false" to force it to launch your Basher run with a plain old Java classpath. (See http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html for a more detailed explanation of manifest-only jars and their benefits.)

Default value is "true". Beware, setting this to "false" may cause your tasks to fail on Windows if your classpath is too long.
  • Type: boolean
  • Required: No
  • Expression: ${maven.basher.useManifestOnlyJar}
  • Default: true

useSystemClassLoader:

Option to pass dependencies to the system's classloader instead of using an isolated class loader when forking. Prevents problems with JDKs which implement the service provider lookup mechanism by using the system's classloader. Default value is "true".
  • Type: java.lang.Boolean
  • Required: No
  • Expression: ${basher.useSystemClassLoader}

workingDirectory:

Command line working directory.
  • Type: java.io.File
  • Required: No
  • Expression: ${basedir}