View Javadoc

1   package org.apache.maven.tools.plugin.scanner;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
23  import org.apache.maven.plugin.descriptor.PluginDescriptor;
24  import org.apache.maven.project.MavenProject;
25  import org.apache.maven.tools.plugin.PluginToolsRequest;
26  import org.apache.maven.tools.plugin.extractor.ExtractionException;
27  
28  import java.util.Set;
29  
30  /**
31   * @author jdcasey
32   * @version $Id: MojoScanner.java 1212905 2011-12-10 22:31:48Z hboutemy $
33   */
34  public interface MojoScanner
35  {
36      /** Plexus role for lookup */
37      String ROLE = MojoScanner.class.getName();
38  
39      /**
40       * @param project not null
41       * @param pluginDescriptor not null
42       * @throws ExtractionException if any
43       * @throws InvalidPluginDescriptorException if any
44       * 
45       * @deprecated Use {@link MojoScanner#populatePluginDescriptor(PluginToolsRequest)} instead. 
46       *     Provided for backward compatibility with maven-plugin-plugin < 2.5.
47       */
48      void populatePluginDescriptor( MavenProject project, PluginDescriptor pluginDescriptor )
49          throws ExtractionException, InvalidPluginDescriptorException;
50  
51      /**
52       * @param request not null
53       * @throws ExtractionException if any
54       * @throws InvalidPluginDescriptorException if any
55       * @since 2.5
56       */
57      void populatePluginDescriptor( PluginToolsRequest request )
58          throws ExtractionException, InvalidPluginDescriptorException;
59  
60      /**
61       * Sets the active extractors.
62       * <p/>
63       * Only the specified extractors will be used, all others will be skipped.
64       *
65       * @param extractors The names of the active extractors. If this parameter is <code>null</code>,
66       * all the scanner's extractors are considered active. Set entries that are <code>null</code> or
67       * empty ("") will be ignored.
68       */
69      void setActiveExtractors( Set<String> extractors );
70  
71  }