~ubuntu-branches/debian/stretch/maven-enforcer/stretch

« back to all changes in this revision

Viewing changes to enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java

  • Committer: Package Import Robot
  • Author(s): Torsten Werner
  • Date: 2011-09-12 22:30:16 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: package-import@ubuntu.com-20110912223016-e2pk04avoq8bur7t
Tags: 1.0-1
* Team upload
* New upstream release.
* Add more Build-Depends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.apache.maven.plugins.enforcer;
 
2
 
1
3
/*
2
4
 * Licensed to the Apache Software Foundation (ASF) under one
3
5
 * or more contributor license agreements.  See the NOTICE file
16
18
 * specific language governing permissions and limitations
17
19
 * under the License.
18
20
 */
19
 
package org.apache.maven.plugins.enforcer;
20
21
 
21
22
import java.util.Iterator;
22
23
import java.util.Set;
28
29
import org.apache.maven.project.MavenProject;
29
30
import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
30
31
 
31
 
// TODO: Auto-generated Javadoc
32
32
/**
33
33
 * Abstract Rule for banning dependencies.
34
 
 * 
 
34
 *
35
35
 * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
36
 
 * @version $Id: AbstractBanDependencies.java 675992 2008-07-11 15:42:48Z hboutemy $
 
36
 * @version $Id: AbstractBanDependencies.java 885125 2009-11-28 18:51:23Z brianf $
37
37
 */
38
38
public abstract class AbstractBanDependencies
39
39
    extends AbstractNonCacheableEnforcerRule
40
40
{
41
41
 
42
42
    /** Specify if transitive dependencies should be searched (default) or only look at direct dependencies. */
43
 
    public boolean searchTransitive = true;
 
43
    private boolean searchTransitive = true;
44
44
 
45
45
    /**
46
46
     * Execute the rule.
47
 
     * 
 
47
     *
48
48
     * @param helper the helper
49
49
     * @throws EnforcerRuleException the enforcer rule exception
50
50
     */
64
64
        }
65
65
 
66
66
        // get the correct list of dependencies
67
 
        Set dependencies = null;
68
 
        if ( searchTransitive )
69
 
        {
70
 
            dependencies = project.getArtifacts();
71
 
        }
72
 
        else
73
 
        {
74
 
            dependencies = project.getDependencyArtifacts();
75
 
        }
 
67
        Set dependencies = getDependenciesToCheck( project );
76
68
 
77
69
        // look for banned dependencies
78
70
        Set foundExcludes = checkDependencies( dependencies, helper.getLog() );
88
80
            Iterator iter = foundExcludes.iterator();
89
81
            while ( iter.hasNext() )
90
82
            {
91
 
                buf.append( "Found Banned Dependency: " + ( (Artifact) iter.next() ).getId() + "\n" );
 
83
                Artifact artifact = (Artifact) iter.next();
 
84
                buf.append( getErrorMessage( artifact ) );
92
85
            }
93
 
            message = buf.toString();
 
86
            message = buf.toString()+ "Use 'mvn dependency:tree' to locate the source of the banned dependencies.";
94
87
 
95
88
            throw new EnforcerRuleException( message );
96
89
        }
97
90
 
98
91
    }
99
92
 
 
93
    protected CharSequence getErrorMessage( Artifact artifact )
 
94
    {
 
95
        return "Found Banned Dependency: " + artifact.getId() + "\n";
 
96
    }
 
97
 
 
98
    protected Set getDependenciesToCheck( MavenProject project )
 
99
    {
 
100
        Set dependencies = null;
 
101
        if ( searchTransitive )
 
102
        {
 
103
            dependencies = project.getArtifacts();
 
104
        }
 
105
        else
 
106
        {
 
107
            dependencies = project.getDependencyArtifacts();
 
108
        }
 
109
        return dependencies;
 
110
    }
 
111
 
100
112
    /**
101
113
     * Checks the set of dependencies against the list of excludes.
102
 
     * 
 
114
     *
103
115
     * @param dependencies the dependencies
104
116
     * @param log the log
105
117
     * @return the sets the
110
122
 
111
123
    /**
112
124
     * Gets the message.
113
 
     * 
 
125
     *
114
126
     * @return the message
115
127
     */
116
128
    public String getMessage()
120
132
 
121
133
    /**
122
134
     * Sets the message.
123
 
     * 
 
135
     *
124
136
     * @param theMessage the message to set
125
137
     */
126
138
    public void setMessage( String theMessage )
130
142
 
131
143
    /**
132
144
     * Checks if is search transitive.
133
 
     * 
 
145
     *
134
146
     * @return the searchTransitive
135
147
     */
136
148
    public boolean isSearchTransitive()
140
152
 
141
153
    /**
142
154
     * Sets the search transitive.
143
 
     * 
 
155
     *
144
156
     * @param theSearchTransitive the searchTransitive to set
145
157
     */
146
158
    public void setSearchTransitive( boolean theSearchTransitive )