1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  package org.apache.maven.plugin;
20  
21  import java.util.List;
22  
23  import org.apache.maven.execution.MavenSession;
24  import org.apache.maven.model.Plugin;
25  import org.apache.maven.plugin.descriptor.MojoDescriptor;
26  import org.apache.maven.plugin.descriptor.PluginDescriptor;
27  import org.codehaus.plexus.classworlds.realm.ClassRealm;
28  import org.eclipse.aether.RepositorySystemSession;
29  import org.eclipse.aether.repository.RemoteRepository;
30  
31  
32  
33  
34  public interface BuildPluginManager {
35      
36      PluginDescriptor loadPlugin(Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session)
37              throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
38                      InvalidPluginDescriptorException;
39  
40      
41      MojoDescriptor getMojoDescriptor(
42              Plugin plugin, String goal, List<RemoteRepository> repositories, RepositorySystemSession session)
43              throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
44                      MojoNotFoundException, InvalidPluginDescriptorException;
45  
46      ClassRealm getPluginRealm(MavenSession session, PluginDescriptor pluginDescriptor)
47              throws PluginResolutionException, PluginManagerException;
48  
49      void executeMojo(MavenSession session, MojoExecution execution)
50              throws MojoFailureException, MojoExecutionException, PluginConfigurationException, PluginManagerException;
51  }