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