Class MavenCompatiblityHelper


  • @Component(role=MavenCompatiblityHelper.class)
    public class MavenCompatiblityHelper
    extends java.lang.Object
    Reflection helper which handles incompatible changes in maven core between maven 3.0.x and maven 3.1
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.maven.plugin.PluginDescriptorCache.Key createKey​(org.apache.maven.model.Plugin plugin, org.apache.maven.project.MavenProject project, org.apache.maven.execution.MavenSession session)
      Equivalent to {@link PluginDescriptorCache#createKey(Plugin, project.getRemotePluginRepositories(), session.getRepositorySession())}.
      private static java.lang.reflect.Method getMethod​(java.lang.Class clazz, java.lang.String methodName)  
      org.apache.maven.plugin.descriptor.PluginDescriptor getPluginDescriptor​(org.apache.maven.model.Plugin plugin, org.apache.maven.project.MavenProject project, org.apache.maven.execution.MavenSession session)
      Equivalent to {@link MavenPluginManager#getPluginDescriptor(Plugin, project.getRemotePluginRepositories(), session.getRepositorySession())}.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        @Requirement
        private org.codehaus.plexus.logging.Logger logger
      • mavenPluginManager

        @Requirement
        protected org.apache.maven.plugin.MavenPluginManager mavenPluginManager
      • getPluginDescriptorMethod

        private java.lang.reflect.Method getPluginDescriptorMethod
      • pluginDescriptorCache

        @Requirement
        private org.apache.maven.plugin.PluginDescriptorCache pluginDescriptorCache
      • createKeyMethod

        private java.lang.reflect.Method createKeyMethod
      • getRepositorySessionMethod

        private java.lang.reflect.Method getRepositorySessionMethod
    • Constructor Detail

      • MavenCompatiblityHelper

        public MavenCompatiblityHelper()
    • Method Detail

      • getMethod

        private static java.lang.reflect.Method getMethod​(java.lang.Class clazz,
                                                          java.lang.String methodName)
      • getPluginDescriptor

        public org.apache.maven.plugin.descriptor.PluginDescriptor getPluginDescriptor​(org.apache.maven.model.Plugin plugin,
                                                                                       org.apache.maven.project.MavenProject project,
                                                                                       org.apache.maven.execution.MavenSession session)
                                                                                throws org.apache.maven.plugin.PluginResolutionException,
                                                                                       org.apache.maven.plugin.PluginDescriptorParsingException,
                                                                                       org.apache.maven.plugin.InvalidPluginDescriptorException
        Equivalent to {@link MavenPluginManager#getPluginDescriptor(Plugin, project.getRemotePluginRepositories(), session.getRepositorySession())}. The types RemoteRepository and RepositorySystemSession from aether are changed incompatibly in maven 3.1 so we invoke MavenPluginManager#getPluginDescriptor reflectively. See maven issue MNG-5354.
        Throws:
        org.apache.maven.plugin.PluginResolutionException
        org.apache.maven.plugin.PluginDescriptorParsingException
        org.apache.maven.plugin.InvalidPluginDescriptorException
      • createKey

        public org.apache.maven.plugin.PluginDescriptorCache.Key createKey​(org.apache.maven.model.Plugin plugin,
                                                                           org.apache.maven.project.MavenProject project,
                                                                           org.apache.maven.execution.MavenSession session)
        Equivalent to {@link PluginDescriptorCache#createKey(Plugin, project.getRemotePluginRepositories(), session.getRepositorySession())}. The types RemoteRepository and RepositorySystemSession from aether are changed incompatibly in maven 3.1 so we invoke PluginDescriptorCache#createKey reflectively. See maven issue MNG-5354.