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.

Version:
$Id: ComponentTestTool.java 677115 2008-07-16 00:16:13Z vsiveton $
Author:
jdcasey

Field Summary
static java.lang.String ROLE
          Plexus 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
Plexus 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:
pomFile - current POM file
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 - if any

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:
pomFile - current POM file
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 - if any

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:
pomFile - current POM file
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 - if any

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:
pomFile - current POM file
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 - if any


Copyright © 2008-2010 Apache Software Foundation. All Rights Reserved.