Package org.apache.maven.plugin.testing
Class MojoRule
- java.lang.Object
-
- org.apache.maven.plugin.testing.MojoRule
-
- All Implemented Interfaces:
org.junit.rules.TestRule
public class MojoRule extends java.lang.Object implements org.junit.rules.TestRuleTestRulefor usage with Junit-4.10ff. This is just a wrapper for an embeddedAbstractMojoTestCase, so all protected methods of the TestCase are exhibited as public in the rule. You may annotate single tests methods withWithoutMojoto prevent the rule from firing.- Since:
- 2.2
- Version:
- $Id$
-
-
Field Summary
Fields Modifier and Type Field Description private AbstractMojoTestCasetestCase
-
Constructor Summary
Constructors Constructor Description MojoRule()MojoRule(AbstractMojoTestCase testCase)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafter()May be overridden in the implementation to do stuff after the current test was run.org.junit.runners.model.Statementapply(org.junit.runners.model.Statement base, org.junit.runner.Description description)protected voidbefore()May be overridden in the implementation to do stuff after the embedded test case is set up but before the current test is actually run.org.apache.maven.plugin.MojoconfigureMojo(org.apache.maven.plugin.Mojo mojo, java.lang.String artifactId, java.io.File pom)org.apache.maven.plugin.MojoconfigureMojo(org.apache.maven.plugin.Mojo mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration)voidexecuteMojo(java.io.File basedir, java.lang.String goal)voidexecuteMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.lang.String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters)voidexecuteMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, org.apache.maven.plugin.MojoExecution execution)voidexecuteMojo(org.apache.maven.project.MavenProject project, java.lang.String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters)org.codehaus.plexus.configuration.PlexusConfigurationextractPluginConfiguration(java.lang.String artifactId, java.io.File pom)org.codehaus.plexus.configuration.PlexusConfigurationextractPluginConfiguration(java.lang.String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom)org.codehaus.plexus.PlexusContainergetContainer()java.lang.StringgetPluginDescriptorLocation()java.lang.StringgetPluginDescriptorPath()java.io.InputStreamgetPublicDescriptorStream()java.util.Map<java.lang.String,java.lang.Object>getVariablesAndValuesFromObject(java.lang.Class<?> clazz, java.lang.Object object)Convenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.java.util.Map<java.lang.String,java.lang.Object>getVariablesAndValuesFromObject(java.lang.Object object)Convenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.java.lang.ObjectgetVariableValueFromObject(java.lang.Object object, java.lang.String variable)Convenience method to obtain the value of a variable on a mojo that might not have a getter.<T> Tlookup(java.lang.Class<T> role)org.apache.maven.plugin.MojolookupConfiguredMojo(java.io.File basedir, java.lang.String goal)org.apache.maven.plugin.MojolookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution)org.apache.maven.plugin.MojolookupConfiguredMojo(org.apache.maven.project.MavenProject project, java.lang.String goal)org.apache.maven.plugin.MojolookupEmptyMojo(java.lang.String goal, java.io.File pom)Lookup the mojo leveraging the actual subprojects pomorg.apache.maven.plugin.MojolookupEmptyMojo(java.lang.String goal, java.lang.String pluginPom)Lookup an empty mojoorg.apache.maven.plugin.MojolookupMojo(java.lang.String goal, java.io.File pom)Lookup the mojo leveraging the actual subprojects pomorg.apache.maven.plugin.MojolookupMojo(java.lang.String goal, java.lang.String pluginPom)Lookup the mojo leveraging the subproject pomorg.apache.maven.plugin.MojolookupMojo(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String goal, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration)org.apache.maven.execution.MavenSessionnewMavenSession(org.apache.maven.project.MavenProject project)org.apache.maven.plugin.MojoExecutionnewMojoExecution(java.lang.String goal)org.apache.maven.project.MavenProjectreadMavenProject(java.io.File basedir)voidsetupContainer()org.codehaus.plexus.ContainerConfigurationsetupContainerConfiguration()voidsetVariableValueToObject(java.lang.Object object, java.lang.String variable, java.lang.Object value)Convenience method to set values to variables in objects that don't have setters
-
-
-
Field Detail
-
testCase
private final AbstractMojoTestCase testCase
-
-
Constructor Detail
-
MojoRule
public MojoRule()
-
MojoRule
public MojoRule(AbstractMojoTestCase testCase)
-
-
Method Detail
-
before
protected void before() throws java.lang.ThrowableMay be overridden in the implementation to do stuff after the embedded test case is set up but before the current test is actually run.- Throws:
java.lang.Throwable
-
after
protected void after()
May be overridden in the implementation to do stuff after the current test was run.
-
getPublicDescriptorStream
public java.io.InputStream getPublicDescriptorStream() throws java.lang.Exception- Throws:
java.lang.Exception
-
getPluginDescriptorPath
public java.lang.String getPluginDescriptorPath()
-
getPluginDescriptorLocation
public java.lang.String getPluginDescriptorLocation()
-
setupContainer
public void setupContainer()
-
setupContainerConfiguration
public org.codehaus.plexus.ContainerConfiguration setupContainerConfiguration()
-
getContainer
public org.codehaus.plexus.PlexusContainer getContainer()
-
lookupMojo
public org.apache.maven.plugin.Mojo lookupMojo(java.lang.String goal, java.lang.String pluginPom) throws java.lang.ExceptionLookup the mojo leveraging the subproject pom- Parameters:
goal-pluginPom-- Returns:
- a Mojo instance
- Throws:
java.lang.Exception
-
lookupEmptyMojo
public org.apache.maven.plugin.Mojo lookupEmptyMojo(java.lang.String goal, java.lang.String pluginPom) throws java.lang.ExceptionLookup an empty mojo- Parameters:
goal-pluginPom-- Returns:
- a Mojo instance
- Throws:
java.lang.Exception
-
lookupMojo
public org.apache.maven.plugin.Mojo lookupMojo(java.lang.String goal, java.io.File pom) throws java.lang.ExceptionLookup the mojo leveraging the actual subprojects pom- Parameters:
goal-pom-- Returns:
- a Mojo instance
- Throws:
java.lang.Exception
-
lookupEmptyMojo
public org.apache.maven.plugin.Mojo lookupEmptyMojo(java.lang.String goal, java.io.File pom) throws java.lang.ExceptionLookup the mojo leveraging the actual subprojects pom- Parameters:
goal-pom-- Returns:
- a Mojo instance
- Throws:
java.lang.Exception
-
lookupMojo
public org.apache.maven.plugin.Mojo lookupMojo(java.lang.String groupId, java.lang.String artifactId, java.lang.String version, java.lang.String goal, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) throws java.lang.Exception- Throws:
java.lang.Exception
-
lookupConfiguredMojo
public org.apache.maven.plugin.Mojo lookupConfiguredMojo(org.apache.maven.project.MavenProject project, java.lang.String goal) throws java.lang.Exception- Throws:
java.lang.Exception
-
lookupConfiguredMojo
public org.apache.maven.plugin.Mojo lookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution) throws java.lang.Exception, org.codehaus.plexus.component.configurator.ComponentConfigurationException- Throws:
java.lang.Exceptionorg.codehaus.plexus.component.configurator.ComponentConfigurationException
-
newMavenSession
public org.apache.maven.execution.MavenSession newMavenSession(org.apache.maven.project.MavenProject project)
-
newMojoExecution
public org.apache.maven.plugin.MojoExecution newMojoExecution(java.lang.String goal)
-
extractPluginConfiguration
public org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(java.lang.String artifactId, java.io.File pom) throws java.lang.Exception- Throws:
java.lang.Exception
-
extractPluginConfiguration
public org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(java.lang.String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom) throws java.lang.Exception- Throws:
java.lang.Exception
-
configureMojo
public org.apache.maven.plugin.Mojo configureMojo(org.apache.maven.plugin.Mojo mojo, java.lang.String artifactId, java.io.File pom) throws java.lang.Exception- Throws:
java.lang.Exception
-
configureMojo
public org.apache.maven.plugin.Mojo configureMojo(org.apache.maven.plugin.Mojo mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) throws java.lang.Exception- Throws:
java.lang.Exception
-
getVariableValueFromObject
public java.lang.Object getVariableValueFromObject(java.lang.Object object, java.lang.String variable) throws java.lang.IllegalAccessExceptionConvenience method to obtain the value of a variable on a mojo that might not have a getter. NOTE: the caller is responsible for casting to to what the desired type is.- Parameters:
object-variable-- Returns:
- object value of variable
- Throws:
java.lang.IllegalArgumentExceptionjava.lang.IllegalAccessException
-
getVariablesAndValuesFromObject
public java.util.Map<java.lang.String,java.lang.Object> getVariablesAndValuesFromObject(java.lang.Object object) throws java.lang.IllegalAccessExceptionConvenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.- Parameters:
object-- Returns:
- map of variable names and values
- Throws:
java.lang.IllegalAccessException
-
getVariablesAndValuesFromObject
public java.util.Map<java.lang.String,java.lang.Object> getVariablesAndValuesFromObject(java.lang.Class<?> clazz, java.lang.Object object) throws java.lang.IllegalAccessExceptionConvenience method to obtain all variables and values from the mojo (including its superclasses) Note: the values in the map are of type Object so the caller is responsible for casting to desired types.- Parameters:
clazz-object-- Returns:
- map of variable names and values
- Throws:
java.lang.IllegalAccessException
-
setVariableValueToObject
public void setVariableValueToObject(java.lang.Object object, java.lang.String variable, java.lang.Object value) throws java.lang.IllegalAccessExceptionConvenience method to set values to variables in objects that don't have setters- Parameters:
object-variable-value-- Throws:
java.lang.IllegalAccessException
-
apply
public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)- Specified by:
applyin interfaceorg.junit.rules.TestRule
-
readMavenProject
public org.apache.maven.project.MavenProject readMavenProject(java.io.File basedir) throws java.lang.Exception- Throws:
java.lang.Exception- Since:
- 3.1.0
-
executeMojo
public void executeMojo(java.io.File basedir, java.lang.String goal) throws java.lang.Exception- Throws:
java.lang.Exception- Since:
- 3.1.0
-
lookupConfiguredMojo
public org.apache.maven.plugin.Mojo lookupConfiguredMojo(java.io.File basedir, java.lang.String goal) throws java.lang.Exception, org.codehaus.plexus.component.configurator.ComponentConfigurationException- Throws:
java.lang.Exceptionorg.codehaus.plexus.component.configurator.ComponentConfigurationException- Since:
- 3.1.0
-
lookup
public final <T> T lookup(java.lang.Class<T> role) throws org.codehaus.plexus.component.repository.exception.ComponentLookupException- Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException- Since:
- 3.1.0
-
executeMojo
public void executeMojo(org.apache.maven.project.MavenProject project, java.lang.String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters) throws java.lang.Exception- Throws:
java.lang.Exception- Since:
- 3.2.0
-
executeMojo
public void executeMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, java.lang.String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters) throws java.lang.Exception- Throws:
java.lang.Exception- Since:
- 3.2.0
-
executeMojo
public void executeMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, org.apache.maven.plugin.MojoExecution execution) throws java.lang.Exception- Throws:
java.lang.Exception- Since:
- 3.2.0
-
-