001 /**
002 * Copyright 2010-2012 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 }