org.apache.maven.shared.test.plugin
Class BuildTool

java.lang.Object
  extended by org.apache.maven.shared.test.plugin.BuildTool
All Implemented Interfaces:
org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable

public class BuildTool
extends Object
implements org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable, org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable

Test-tool used to execute Maven builds in order to test plugin functionality.

Author:
jdcasey

Field Summary
static String ROLE
           
 
Constructor Summary
BuildTool()
           
 
Method Summary
 org.apache.maven.shared.invoker.InvocationRequest createBasicInvocationRequest(File pom, Properties properties, List goals, File buildLogFile)
          Construct a standardized InvocationRequest given the test-build POM, a set of CLI properties, a list of goals to execute, and the location of a log file to which build output should be directed.
 void dispose()
          Not currently used; when this API switches to use the Maven Embedder, it will be used to shutdown the embedder and its associated container, to free up JVM memory.
 org.apache.maven.shared.invoker.InvocationResult executeMaven(File pom, Properties properties, List goals, File buildLogFile)
          Build a standard InvocationRequest using the specified test-build POM, command-line properties, goals, and output logfile.
 org.apache.maven.shared.invoker.InvocationResult executeMaven(org.apache.maven.shared.invoker.InvocationRequest request)
          Execute a test build using a customized InvocationRequest.
 void initialize()
          Initialize this tool once it's been instantiated and composed, in order to start up the MavenInvoker instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROLE

public static final String ROLE
Constructor Detail

BuildTool

public BuildTool()
Method Detail

executeMaven

public org.apache.maven.shared.invoker.InvocationResult executeMaven(File pom,
                                                                     Properties properties,
                                                                     List goals,
                                                                     File buildLogFile)
                                                              throws TestToolsException
Build a standard InvocationRequest using the specified test-build POM, command-line properties, goals, and output logfile. Then, execute Maven using this standard request. Return the result of the invocation.

Parameters:
pom - The test-build POM
properties - command-line properties to fine-tune the test build, or test parameter extraction from CLI properties
goals - The list of goals and/or lifecycle phases to execute during this build
buildLogFile - The logfile used to capture build output
Returns:
The result of the Maven invocation, including exit value and any execution exceptions resulting from the Maven invocation.
Throws:
TestToolsException

executeMaven

public org.apache.maven.shared.invoker.InvocationResult executeMaven(org.apache.maven.shared.invoker.InvocationRequest request)
                                                              throws TestToolsException
Execute a test build using a customized InvocationRequest. Normally, this request would be created using the createBasicInvocationRequest method in this class.

Parameters:
request - The customized InvocationRequest containing the configuration used to execute the current test build
Returns:
The result of the Maven invocation, containing exit value, along with any execution exceptions resulting from the [attempted] Maven invocation.
Throws:
TestToolsException

createBasicInvocationRequest

public org.apache.maven.shared.invoker.InvocationRequest createBasicInvocationRequest(File pom,
                                                                                      Properties properties,
                                                                                      List goals,
                                                                                      File buildLogFile)
Construct a standardized InvocationRequest given the test-build POM, a set of CLI properties, a list of goals to execute, and the location of a log file to which build output should be directed. The resulting InvocationRequest can then be customized by the test class before being used to execute a test build. Both standard-out and standard-error will be directed to the specified log file.

Parameters:
pom - The POM for the test build
properties - The command-line properties for use in this test build
goals - The goals and/or lifecycle phases to execute during the test build
buildLogFile - Location to which build output should be logged
Returns:
The standardized InvocationRequest for the test build, ready for any necessary customizations.

initialize

public void initialize()
                throws org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException
Initialize this tool once it's been instantiated and composed, in order to start up the MavenInvoker instance.

Specified by:
initialize in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable
Throws:
org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException

dispose

public void dispose()
Not currently used; when this API switches to use the Maven Embedder, it will be used to shutdown the embedder and its associated container, to free up JVM memory.

Specified by:
dispose in interface org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable


Copyright © 2002-2006 Apache Software Foundation. All Rights Reserved.