Class 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 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
    Version:
    $Id$
    • 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 pom
      org.apache.maven.plugin.Mojo lookupEmptyMojo​(java.lang.String goal, java.lang.String pluginPom)
      Lookup an empty mojo
      org.apache.maven.plugin.Mojo lookupMojo​(java.lang.String goal, java.io.File pom)
      Lookup the mojo leveraging the actual subprojects pom
      org.apache.maven.plugin.Mojo lookupMojo​(java.lang.String goal, java.lang.String pluginPom)
      Lookup the mojo leveraging the subproject pom
      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)  
      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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 interface org.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