Package org.apache.maven.plugin.testing
Class MojoRule
java.lang.Object
org.apache.maven.plugin.testing.MojoRule
- All Implemented Interfaces:
org.junit.rules.TestRule
TestRule
for usage with Junit-4.10ff. This is just a wrapper for an embedded
AbstractMojoTestCase
, so all protected
methods of the TestCase are
exhibited as public
in the rule. You may annotate single tests methods with
WithoutMojo
to prevent the rule from firing.- Since:
- 2.2
- Author:
- Mirko Friedenhagen
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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.<T extends org.apache.maven.plugin.Mojo>
TconfigureMojo
(T mojo, String artifactId, File pom) <T extends org.apache.maven.plugin.Mojo>
TconfigureMojo
(T mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) void
executeMojo
(File basedir, String goal) void
executeMojo
(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, 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, String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters) org.codehaus.plexus.configuration.PlexusConfiguration
extractPluginConfiguration
(String artifactId, File pom) org.codehaus.plexus.configuration.PlexusConfiguration
extractPluginConfiguration
(String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom) org.codehaus.plexus.PlexusContainer
getVariablesAndValuesFromObject
(Class<?> clazz, 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.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.<T> T
getVariableValueFromObject
(Object object, String variable) Convenience method to obtain the value of a variable on a mojo that might not have a getter.final <T> T
<T extends org.apache.maven.plugin.Mojo>
TlookupConfiguredMojo
(File basedir, String goal) <T extends org.apache.maven.plugin.Mojo>
TlookupConfiguredMojo
(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution) <T extends org.apache.maven.plugin.Mojo>
TlookupConfiguredMojo
(org.apache.maven.project.MavenProject project, String goal) <T extends org.apache.maven.plugin.Mojo>
TlookupEmptyMojo
(String goal, File pom) Lookup the mojo leveraging the actual subprojects pom<T extends org.apache.maven.plugin.Mojo>
TlookupEmptyMojo
(String goal, String pluginPom) Lookup an empty mojo<T extends org.apache.maven.plugin.Mojo>
TlookupMojo
(String goal, File pom) Lookup the mojo leveraging the actual subprojects pom<T extends org.apache.maven.plugin.Mojo>
TlookupMojo
(String goal, String pluginPom) Lookup the mojo leveraging the subproject pom<T extends org.apache.maven.plugin.Mojo>
TlookupMojo
(String groupId, String artifactId, String version, 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
(String goal) org.apache.maven.project.MavenProject
readMavenProject
(File basedir) void
org.codehaus.plexus.ContainerConfiguration
<T> void
setVariableValueToObject
(Object object, String variable, T value) Convenience method to set values to variables in objects that don't have setters
-
Constructor Details
-
MojoRule
public MojoRule() -
MojoRule
-
-
Method Details
-
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.- Throws:
Throwable
-
after
protected void after()May be overridden in the implementation to do stuff after the current test was run. -
getPublicDescriptorStream
- Throws:
Exception
-
getPluginDescriptorPath
-
getPluginDescriptorLocation
-
setupContainer
public void setupContainer() -
setupContainerConfiguration
public org.codehaus.plexus.ContainerConfiguration setupContainerConfiguration() -
getContainer
public org.codehaus.plexus.PlexusContainer getContainer() -
lookupMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupMojo(String goal, String pluginPom) throws Exception Lookup the mojo leveraging the subproject pom- Parameters:
goal
-pluginPom
-- Returns:
- a Mojo instance
- Throws:
Exception
-
lookupEmptyMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupEmptyMojo(String goal, String pluginPom) throws Exception Lookup an empty mojo- Parameters:
goal
-pluginPom
-- Returns:
- a Mojo instance
- Throws:
Exception
-
lookupMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupMojo(String goal, File pom) throws Exception Lookup the mojo leveraging the actual subprojects pom- Parameters:
goal
-pom
-- Returns:
- a Mojo instance
- Throws:
Exception
-
lookupEmptyMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupEmptyMojo(String goal, File pom) throws Exception Lookup the mojo leveraging the actual subprojects pom- Parameters:
goal
-pom
-- Returns:
- a Mojo instance
- Throws:
Exception
-
lookupMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupMojo(String groupId, String artifactId, String version, String goal, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) throws Exception - Throws:
Exception
-
lookupConfiguredMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupConfiguredMojo(org.apache.maven.project.MavenProject project, String goal) throws Exception - Throws:
Exception
-
lookupConfiguredMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupConfiguredMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.plugin.MojoExecution execution) throws Exception, org.codehaus.plexus.component.configurator.ComponentConfigurationException - Throws:
Exception
org.codehaus.plexus.component.configurator.ComponentConfigurationException
-
newMavenSession
public org.apache.maven.execution.MavenSession newMavenSession(org.apache.maven.project.MavenProject project) -
newMojoExecution
-
extractPluginConfiguration
public org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(String artifactId, File pom) throws Exception - Throws:
Exception
-
extractPluginConfiguration
public org.codehaus.plexus.configuration.PlexusConfiguration extractPluginConfiguration(String artifactId, org.codehaus.plexus.util.xml.Xpp3Dom pomDom) throws Exception - Throws:
Exception
-
configureMojo
public <T extends org.apache.maven.plugin.Mojo> T configureMojo(T mojo, String artifactId, File pom) throws Exception - Throws:
Exception
-
configureMojo
public <T extends org.apache.maven.plugin.Mojo> T configureMojo(T mojo, org.codehaus.plexus.configuration.PlexusConfiguration pluginConfiguration) throws Exception - Throws:
Exception
-
getVariableValueFromObject
public <T> T getVariableValueFromObject(Object object, String variable) throws 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:
IllegalArgumentException
IllegalAccessException
-
getVariablesAndValuesFromObject
public Map<String,Object> getVariablesAndValuesFromObject(Object object) throws 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:
IllegalAccessException
-
getVariablesAndValuesFromObject
public Map<String,Object> getVariablesAndValuesFromObject(Class<?> clazz, Object object) throws 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:
IllegalAccessException
-
setVariableValueToObject
public <T> void setVariableValueToObject(Object object, String variable, T value) throws IllegalAccessException Convenience method to set values to variables in objects that don't have setters- Parameters:
object
-variable
-value
-- Throws:
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
- Throws:
Exception
- Since:
- 3.1.0
-
executeMojo
- Throws:
Exception
- Since:
- 3.1.0
-
lookupConfiguredMojo
public <T extends org.apache.maven.plugin.Mojo> T lookupConfiguredMojo(File basedir, String goal) throws Exception, org.codehaus.plexus.component.configurator.ComponentConfigurationException - Throws:
Exception
org.codehaus.plexus.component.configurator.ComponentConfigurationException
- Since:
- 3.1.0
-
lookup
public final <T> T lookup(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, String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters) throws Exception - Throws:
Exception
- Since:
- 3.2.0
-
executeMojo
public void executeMojo(org.apache.maven.execution.MavenSession session, org.apache.maven.project.MavenProject project, String goal, org.codehaus.plexus.util.xml.Xpp3Dom... parameters) throws Exception - Throws:
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 Exception - Throws:
Exception
- Since:
- 3.2.0
-