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 }