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.TestRule
TestRule
for 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 withWithoutMojo
to prevent the rule from firing.- Since:
- 2.2
- Version:
- $Id$
- Author:
- Mirko Friedenhagen
-
-
Constructor Summary
Constructors Constructor Description MojoRule()
MojoRule(AbstractMojoTestCase testCase)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
after()
May be overridden in the implementation to do stuff after the current test was run.org.junit.runners.model.Statement
apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
protected void
before()
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.Mojo
configureMojo(org.apache.maven.plugin.Mojo mojo, java.lang.String artifactId, java.io.File pom)
org.apache.maven.plugin.Mojo
configureMojo(org.apache.maven.plugin.Mojo mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration)
void
executeMojo(java.io.File basedir, java.lang.String goal)
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)
void
executeMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, org.apache.maven.plugin.MojoExecution execution)
void
executeMojo(org.apache.maven.project.MavenProject project, java.lang.String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters)
org.codehaus.plexus.configuration.PlexusConfiguration
extractPluginConfiguration(java.lang.String artifactId, java.io.File pom)
org.codehaus.plexus.configuration.PlexusConfiguration
extractPluginConfiguration(java.lang.String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom)
org.codehaus.plexus.PlexusContainer
getContainer()
java.lang.String
getPluginDescriptorLocation()
java.lang.String
getPluginDescriptorPath()
java.io.InputStream
getPublicDescriptorStream()
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.Object
getVariableValueFromObject(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> T
lookup(java.lang.Class<T> role)
org.apache.maven.plugin.Mojo
lookupConfiguredMojo(java.io.File basedir, java.lang.String goal)
org.apache.maven.plugin.Mojo
lookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution)
org.apache.maven.plugin.Mojo
lookupConfiguredMojo(org.apache.maven.project.MavenProject project, java.lang.String goal)
org.apache.maven.plugin.Mojo
lookupEmptyMojo(java.lang.String goal, java.io.File pom)
Lookup the mojo leveraging the actual subprojects pomorg.apache.maven.plugin.Mojo
lookupEmptyMojo(java.lang.String goal, java.lang.String pluginPom)
Lookup an empty mojoorg.apache.maven.plugin.Mojo
lookupMojo(java.lang.String goal, java.io.File pom)
Lookup the mojo leveraging the actual subprojects pomorg.apache.maven.plugin.Mojo
lookupMojo(java.lang.String goal, java.lang.String pluginPom)
Lookup the mojo leveraging the subproject pomorg.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)
org.apache.maven.execution.MavenSession
newMavenSession(org.apache.maven.project.MavenProject project)
org.apache.maven.plugin.MojoExecution
newMojoExecution(java.lang.String goal)
org.apache.maven.project.MavenProject
readMavenProject(java.io.File basedir)
void
setupContainer()
org.codehaus.plexus.ContainerConfiguration
setupContainerConfiguration()
void
setVariableValueToObject(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
-
-
-
Constructor Detail
-
MojoRule
public MojoRule()
-
MojoRule
public MojoRule(AbstractMojoTestCase testCase)
-
-
Method Detail
-
before
protected void before() throws java.lang.Throwable
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.- 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.Exception
Lookup 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.Exception
Lookup 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.Exception
Lookup 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.Exception
Lookup 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.Exception
org.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.IllegalAccessException
Convenience 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.IllegalArgumentException
java.lang.IllegalAccessException
-
getVariablesAndValuesFromObject
public java.util.Map<java.lang.String,java.lang.Object> getVariablesAndValuesFromObject(java.lang.Object object) throws java.lang.IllegalAccessException
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.- 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.IllegalAccessException
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.- 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.IllegalAccessException
Convenience 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:
apply
in 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.Exception
org.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
-
-