001 /** 002 * Copyright 2010-2013 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.codehaus.mojo.license; 017 018 import java.util.List; 019 020 /** 021 * Contract to configure which dependencies will be loaded by the dependency tool via the method 022 * {@link DependenciesTool#loadProjectDependencies(org.apache.maven.project.MavenProject, MavenProjectDependenciesConfigurator, org.apache.maven.artifact.repository.ArtifactRepository, java.util.List, java.util.SortedMap)} 023 * 024 * @author tchemit <chemit@codelutin.com> 025 * @see DependenciesTool 026 * @since 1.0 027 */ 028 public interface MavenProjectDependenciesConfigurator 029 { 030 031 /** 032 * @return {@code true} if should include transitive dependencies, {@code false} to include only direct 033 * dependencies. 034 */ 035 boolean isIncludeTransitiveDependencies(); 036 037 /** 038 * @return list of scopes to include while loading dependencies, if {@code null} is setted, then include all scopes. 039 */ 040 List<String> getIncludedScopes(); 041 042 /** 043 * @return list of scopes to exclude while loading dependencies, if {@code null} is setted, then include all scopes. 044 */ 045 List<String> getExcludedScopes(); 046 047 /** 048 * @return a pattern to include dependencies by thier {@code artificatId}, if {@code null} is setted then include 049 * all artifacts. 050 */ 051 String getIncludedArtifacts(); 052 053 /** 054 * @return a pattern to include dependencies by their {@code groupId}, if {@code null} is setted then include 055 * all artifacts. 056 */ 057 String getIncludedGroups(); 058 059 /** 060 * @return a pattern to exclude dependencies by their {@code artifactId}, if {@code null} is setted the no exclude is 061 * done on artifactId. 062 */ 063 String getExcludedGroups(); 064 065 /** 066 * @return a pattern to exclude dependencies by their {@code groupId}, if {@code null} is setted then no exclude 067 * is done on groupId. 068 */ 069 String getExcludedArtifacts(); 070 071 /** 072 * @return {@code true} if verbose mode is on, {@code false} otherwise. 073 */ 074 boolean isVerbose(); 075 }