This is an automated email from the ASF dual-hosted git repository. eolivelli pushed a commit to branch maven-metrics in repository https://gitbox.apache.org/repos/asf/maven-studies.git
commit d127bce8c9ba1011ef531c864162368891e8d499 Author: Lewinski, Arne <arne.lewinski....@de-l072609.groupinfra.com> AuthorDate: Sun Feb 16 14:54:11 2020 +0100 Revert "[MNG-6867] extract methods, apply SLA" This reverts commit c423a090e385735d2b826860f790077269bbf8ba. --- .../plugin/internal/DefaultMavenPluginManager.java | 68 +++++++++------------- 1 file changed, 26 insertions(+), 42 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java index eec09ef..500ead6 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java @@ -328,15 +328,37 @@ public class DefaultMavenPluginManager if ( plugin.isExtensions() ) { - setupPluginDescriptor( pluginDescriptor, session ); + ExtensionRealmCache.CacheRecord extensionRecord; + try + { + RepositorySystemSession repositorySession = session.getRepositorySession(); + extensionRecord = setupExtensionsRealm( project, plugin, repositorySession ); + } + catch ( PluginManagerException e ) + { + // extensions realm is expected to be fully setup at this point + // any exception means a problem in maven code, not a user error + throw new IllegalStateException( e ); + } + + ClassRealm pluginRealm = extensionRecord.getRealm(); + List<Artifact> pluginArtifacts = extensionRecord.getArtifacts(); + + for ( ComponentDescriptor<?> componentDescriptor : pluginDescriptor.getComponents() ) + { + componentDescriptor.setRealm( pluginRealm ); + } + + pluginDescriptor.setClassRealm( pluginRealm ); + pluginDescriptor.setArtifacts( pluginArtifacts ); } else { Map<String, ClassLoader> foreignImports = calcImports( project, parent, imports ); - PluginRealmCache.Key cacheKey = - pluginRealmCache.createKey( plugin, parent, foreignImports, filter, - project.getRemotePluginRepositories(), session.getRepositorySession() ); + PluginRealmCache.Key cacheKey = pluginRealmCache.createKey( plugin, parent, foreignImports, filter, + project.getRemotePluginRepositories(), + session.getRepositorySession() ); PluginRealmCache.CacheRecord cacheRecord = pluginRealmCache.get( cacheKey ); @@ -361,44 +383,6 @@ public class DefaultMavenPluginManager } } - private void setupPluginDescriptor( PluginDescriptor pluginDescriptor, MavenSession session ) - { - setupPluginDescriptor( pluginDescriptor, - setupExtensionsRealmInternal( session.getCurrentProject(), pluginDescriptor.getPlugin(), - session.getRepositorySession() ) ); - } - - private void setupPluginDescriptor( PluginDescriptor pluginDescriptor, - ExtensionRealmCache.CacheRecord extensionRecord ) - { - setupComponentDescriptors( extensionRecord, pluginDescriptor.getComponents() ); - pluginDescriptor.setClassRealm( extensionRecord.getRealm() ); - pluginDescriptor.setArtifacts( extensionRecord.getArtifacts() ); - } - - private void setupComponentDescriptors( ExtensionRealmCache.CacheRecord extensionRecord, - List<ComponentDescriptor<?>> components ) - { - components.stream().forEach( descriptor -> descriptor.setRealm( extensionRecord.getRealm() ) ); - } - - /** - * For internal usage. It is assumed that the prerequisites are met so a setup of the extensions realm can be - * processed without any error. Any exception thrown indicates a programming error, not a user error! - */ - private ExtensionRealmCache.CacheRecord setupExtensionsRealmInternal( MavenProject project, Plugin plugin, - RepositorySystemSession repositorySystemSession ) - { - try - { - return setupExtensionsRealm( project, plugin, repositorySystemSession ); - } - catch ( PluginManagerException e ) - { - throw new IllegalStateException( e ); - } - } - private void createPluginRealm( PluginDescriptor pluginDescriptor, MavenSession session, ClassLoader parent, Map<String, ClassLoader> foreignImports, DependencyFilter filter ) throws PluginResolutionException, PluginContainerException