001 package org.apache.maven.plugin;
002
003 /*
004 * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
005 * agreements. See the NOTICE file distributed with this work for additional information regarding
006 * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance with the License. You may obtain a
008 * copy of the License at
009 *
010 * http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software distributed under the License
013 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
014 * or implied. See the License for the specific language governing permissions and limitations under
015 * the License.
016 */
017
018 import java.util.List;
019
020 import org.apache.maven.execution.MavenSession;
021 import org.apache.maven.model.Plugin;
022 import org.apache.maven.plugin.descriptor.MojoDescriptor;
023 import org.apache.maven.plugin.descriptor.PluginDescriptor;
024 import org.codehaus.plexus.classworlds.realm.ClassRealm;
025 import org.sonatype.aether.RepositorySystemSession;
026 import org.sonatype.aether.repository.RemoteRepository;
027
028 /**
029 * @author Jason van Zyl
030 */
031 public interface BuildPluginManager
032 {
033 // igorf: Way too many declared exceptions!
034 PluginDescriptor loadPlugin( Plugin plugin, List<RemoteRepository> repositories, RepositorySystemSession session )
035 throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
036 InvalidPluginDescriptorException;
037
038 // igorf: Way too many declared exceptions!
039 MojoDescriptor getMojoDescriptor( Plugin plugin, String goal, List<RemoteRepository> repositories,
040 RepositorySystemSession session )
041 throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,
042 MojoNotFoundException, InvalidPluginDescriptorException;
043
044 ClassRealm getPluginRealm( MavenSession session, PluginDescriptor pluginDescriptor )
045 throws PluginResolutionException, PluginManagerException;
046
047 void executeMojo( MavenSession session, MojoExecution execution )
048 throws MojoFailureException, MojoExecutionException, PluginConfigurationException, PluginManagerException;
049
050 }