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

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

public class PluginTestTool
extends java.lang.Object

Test tool that provides a single point of access for staging a plugin artifact - along with its POM lineage - into a clean test-time local repository. This involves modifying the plugin POM to provide a stable test-time version for test-build POMs to reference, then installing the plugin 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 plugin's ancestor POMs cannot be resolved.

Author:
jdcasey

Field Summary
static java.lang.String ROLE
           
 
Constructor Summary
PluginTestTool()
           
 
Method Summary
 java.io.File preparePluginForIntegrationTesting(java.io.File pomFile, java.lang.String testVersion)
          Stage the plugin, using a stable version, into a temporary local-repository directory that is generated by this method.
 java.io.File preparePluginForIntegrationTesting(java.io.File pomFile, java.lang.String testVersion, java.io.File localRepositoryDir)
          Stage the plugin, using a stable version, into the specified local-repository directory.
 java.io.File preparePluginForUnitTestingWithMavenBuilds(java.io.File pomFile, java.lang.String testVersion)
          Stage the plugin, using a stable version, into a temporary local-repository directory that is generated by this method.
 java.io.File preparePluginForUnitTestingWithMavenBuilds(java.io.File pomFile, java.lang.String testVersion, java.io.File localRepositoryDir)
          Stage the plugin, 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

PluginTestTool

public PluginTestTool()
Method Detail

preparePluginForIntegrationTesting

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

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

preparePluginForUnitTestingWithMavenBuilds

public java.io.File preparePluginForUnitTestingWithMavenBuilds(java.io.File pomFile,
                                                               java.lang.String testVersion)
                                                        throws TestToolsException
Stage the plugin, using a stable version, into a temporary local-repository directory that is generated by this method. When the plugin is staged, return the local repository base directory for use in test builds. This method also skips unit testing during plugin 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 plugin, used for reference in test-build POMs and fully-qualified goals
Returns:
The base-directory location of the generated local repository
Throws:
TestToolsException

preparePluginForIntegrationTesting

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

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

preparePluginForUnitTestingWithMavenBuilds

public java.io.File preparePluginForUnitTestingWithMavenBuilds(java.io.File pomFile,
                                                               java.lang.String testVersion,
                                                               java.io.File localRepositoryDir)
                                                        throws TestToolsException
Stage the plugin, using a stable version, into the specified local-repository directory. When the plugin is staged, return the local repository base directory for verification. This method also skips unit testing during plugin 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 plugin, used for reference in test-build POMs and fully-qualified goals
localRepositoryDir - The base-directory location of the test local repository, into which the plugin'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.