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

java.lang.Object
  extended by org.apache.maven.shared.test.plugin.ComponentTestTool

public class ComponentTestTool
extends java.lang.Object

Test tool that provides a single point of access for staging a maven component artifact - along with its POM lineage - into a clean test-time local repository. This involves modifying the component POM to provide a stable test-time version for test-build POMs to reference, then installing the component jar and associated POMs (including those ancestors that are reachable using <relativePath>) into the test local repository.

WARNING: Currently, the RepositoryTool will not resolve parent POMs that exist only in your normal local repository, and are not reachable using the relativePath element. This may result in failed test builds, as one or more of the component's ancestor POMs cannot be resolved.

Author:
jdcasey

Field Summary
static java.lang.String ROLE
           
 
Constructor Summary
ComponentTestTool()
           
 
Method Summary
 java.io.File prepareComponentForIntegrationTesting(java.io.File pomFile, java.lang.String testVersion)
          Stage the component, using a stable version, into a temporary local-repository directory that is generated by this method.
 java.io.File prepareComponentForIntegrationTesting(java.io.File pomFile, java.lang.String testVersion, java.io.File localRepositoryDir)
          Stage the component, using a stable version, into the specified local-repository directory.
 java.io.File prepareComponentForUnitTestingWithMavenBuilds(java.io.File pomFile, java.lang.String testVersion)
          Stage the component, using a stable version, into a temporary local-repository directory that is generated by this method.
 java.io.File prepareComponentForUnitTestingWithMavenBuilds(java.io.File pomFile, java.lang.String testVersion, java.io.File localRepositoryDir)
          Stage the component, using a stable version, into the specified local-repository directory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROLE

public static final java.lang.String ROLE
Constructor Detail

ComponentTestTool

public ComponentTestTool()
Method Detail

prepareComponentForIntegrationTesting

public java.io.File prepareComponentForIntegrationTesting(java.io.File pomFile,
                                                          java.lang.String testVersion)
                                                   throws TestToolsException
Stage the component, using a stable version, into a temporary local-repository directory that is generated by this method. When the component is staged, return the local repository base directory for use in test builds.

Parameters:
testVersion - The test version for the component, used for reference in test-build POMs and fully-qualified goals
Returns:
The base-directory location of the generated local repository
Throws:
TestToolsException

prepareComponentForUnitTestingWithMavenBuilds

public java.io.File prepareComponentForUnitTestingWithMavenBuilds(java.io.File pomFile,
                                                                  java.lang.String testVersion)
                                                           throws TestToolsException
Stage the component, using a stable version, into a temporary local-repository directory that is generated by this method. When the component is staged, return the local repository base directory for use in test builds. This method also skips unit testing during component jar production, since it is assumed that executing these tests would lead to a recursive test-and-build loop.

Parameters:
testVersion - The test version for the component, used for reference in test-build POMs and fully-qualified goals
Returns:
The base-directory location of the generated local repository
Throws:
TestToolsException

prepareComponentForIntegrationTesting

public java.io.File prepareComponentForIntegrationTesting(java.io.File pomFile,
                                                          java.lang.String testVersion,
                                                          java.io.File localRepositoryDir)
                                                   throws TestToolsException
Stage the component, using a stable version, into the specified local-repository directory. When the component is staged, return the local repository base directory for verification.

Parameters:
testVersion - The test version for the component, used for reference in test-build POMs and fully-qualified goals
localRepositoryDir - The base-directory location of the test local repository, into which the component's test version should be staged.
Returns:
The base-directory location of the generated local repository
Throws:
TestToolsException

prepareComponentForUnitTestingWithMavenBuilds

public java.io.File prepareComponentForUnitTestingWithMavenBuilds(java.io.File pomFile,
                                                                  java.lang.String testVersion,
                                                                  java.io.File localRepositoryDir)
                                                           throws TestToolsException
Stage the component, using a stable version, into the specified local-repository directory. When the component is staged, return the local repository base directory for verification. This method also skips unit testing during component jar production, since it is assumed that executing these tests would lead to a recursive test-and-build loop.

Parameters:
testVersion - The test version for the component, used for reference in test-build POMs and fully-qualified goals
localRepositoryDir - The base-directory location of the test local repository, into which the component's test version should be staged.
Returns:
The base-directory location of the generated local repository
Throws:
TestToolsException


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