1 /** 2 * Copyright 2010-2012 The Kuali Foundation 3 * 4 * Licensed under the Educational Community License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.opensource.org/licenses/ecl2.php 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.codehaus.mojo.license; 17 18 import java.util.List; 19 20 /** 21 * Contract to configure which dependencies will be loaded by the dependency tool via the method 22 * {@link DependenciesTool#loadProjectDependencies(org.apache.maven.project.MavenProject, MavenProjectDependenciesConfigurator, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List, java.util.SortedMap)} 23 * 24 * @author tchemit <chemit@codelutin.com> 25 * @see DependenciesTool 26 * @since 1.0 27 */ 28 public interface MavenProjectDependenciesConfigurator 29 { 30 31 /** 32 * @return {@code true} if should include transitive dependencies, {@code false} to include only direct 33 * dependencies. 34 */ 35 boolean isIncludeTransitiveDependencies(); 36 37 /** 38 * @return list of scopes to include while loading dependencies, if {@code null} is setted, then include all scopes. 39 */ 40 List<String> getIncludedScopes(); 41 42 /** 43 * @return list of scopes to exclude while loading dependencies, if {@code null} is setted, then include all scopes. 44 */ 45 List<String> getExcludedScopes(); 46 47 /** 48 * @return a pattern to include dependencies by thier {@code artificatId}, if {@code null} is setted then include 49 * all artifacts. 50 */ 51 String getIncludedArtifacts(); 52 53 /** 54 * @return a pattern to include dependencies by their {@code groupId}, if {@code null} is setted then include 55 * all artifacts. 56 */ 57 String getIncludedGroups(); 58 59 /** 60 * @return a pattern to exclude dependencies by their {@code artifactId}, if {@code null} is setted the no exclude is 61 * done on artifactId. 62 */ 63 String getExcludedGroups(); 64 65 /** 66 * @return a pattern to exclude dependencies by their {@code groupId}, if {@code null} is setted then no exclude 67 * is done on groupId. 68 */ 69 String getExcludedArtifacts(); 70 71 /** 72 * @return {@code true} if verbose mode is on, {@code false} otherwise. 73 */ 74 boolean isVerbose(); 75 }