You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/07/28 16:54:14 UTC
svn commit: r225788 - in /maven/components/trunk:
maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/
maven-artifact/src/main/java/org/apache/maven/artifact/resolver/
Author: brett
Date: Thu Jul 28 07:54:04 2005
New Revision: 225788
URL: http://svn.apache.org/viewcvs?rev=225788&view=rev
Log:
PR: MNG-670
stronger warning if scope gets updated over the root POM
Added:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java (with props)
Modified:
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java?rev=225788&r1=225787&r2=225788&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DebugResolutionListener.java Thu Jul 28 07:54:04 2005
@@ -66,9 +66,14 @@
logger.debug( indent + omitted.getId() + " (removed - causes a cycle in the graph)" );
}
+ public void updateScopeCurrentPom( Artifact artifact, String scope )
+ {
+ updateScope( artifact, scope );
+ }
+
public void updateScope( Artifact artifact, String scope )
{
- logger.debug( indent + artifact.getId() + " (settings scope to: " + scope + ")" );
+ logger.debug( indent + artifact.getId() + " (setting scope to: " + scope + ")" );
}
public void manageArtifact( Artifact artifact, Artifact replacement )
Modified: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=225788&r1=225787&r2=225788&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java (original)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java Thu Jul 28 07:54:04 2005
@@ -170,6 +170,8 @@
listeners.add( new DebugResolutionListener( getLogger() ) );
}
+ listeners.add( new WarningResolutionListener( getLogger() ) );
+
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
remoteRepositories, source, filter, listeners );
Added: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java?rev=225788&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java (added)
+++ maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java Thu Jul 28 07:54:04 2005
@@ -0,0 +1,77 @@
+package org.apache.maven.artifact.resolver;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.artifact.Artifact;
+import org.codehaus.plexus.logging.Logger;
+
+/**
+ * Send resolution warning events to the warning log.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class WarningResolutionListener
+ implements ResolutionListener
+{
+ private Logger logger;
+
+ public WarningResolutionListener( Logger logger )
+ {
+ this.logger = logger;
+ }
+
+ public void testArtifact( Artifact node )
+ {
+ }
+
+ public void startProcessChildren( Artifact artifact )
+ {
+ }
+
+ public void endProcessChildren( Artifact artifact )
+ {
+ }
+
+ public void includeArtifact( Artifact artifact )
+ {
+ }
+
+ public void omitForNearer( Artifact omitted, Artifact kept )
+ {
+ }
+
+ public void omitForCycle( Artifact omitted )
+ {
+ }
+
+ public void updateScopeCurrentPom( Artifact artifact, String scope )
+ {
+ logger.warn( "\n\tArtifact " + artifact.getId() + " is having scope '" + artifact + "' replaced with '" +
+ scope + "'\n" +
+ "\tas a dependency has given a broader scope. If this is not intended, use -X to locate the dependency,\n" +
+ "\tor force the desired scope using dependencyManagement.\n" );
+ }
+
+ public void updateScope( Artifact artifact, String scope )
+ {
+ }
+
+ public void manageArtifact( Artifact artifact, Artifact replacement )
+ {
+ }
+}
Propchange: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/WarningResolutionListener.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=225788&r1=225787&r2=225788&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Thu Jul 28 07:54:04 2005
@@ -230,7 +230,17 @@
if ( updateScope )
{
- fireEvent( ResolutionListener.UPDATE_SCOPE, listeners, previous, newArtifact );
+ int event;
+ if ( previous.getDepth() < 2 )
+ {
+ event = ResolutionListener.UPDATE_SCOPE_CURRENT_POM;
+ }
+ else
+ {
+ event = ResolutionListener.UPDATE_SCOPE;
+ }
+
+ fireEvent( event, listeners, previous, newArtifact );
// previously we cloned the artifact, but it is more effecient to just update the scope
// if problems are later discovered that the original object needs its original scope value, cloning may
@@ -272,6 +282,9 @@
break;
case ResolutionListener.UPDATE_SCOPE:
listener.updateScope( node.getArtifact(), replacement.getScope() );
+ break;
+ case ResolutionListener.UPDATE_SCOPE_CURRENT_POM:
+ listener.updateScopeCurrentPom( node.getArtifact(), replacement.getScope() );
break;
case ResolutionListener.MANAGE_ARTIFACT:
listener.manageArtifact( node.getArtifact(), replacement );
Modified: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java?rev=225788&r1=225787&r2=225788&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java (original)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionListener.java Thu Jul 28 07:54:04 2005
@@ -19,7 +19,7 @@
*/
/**
- * TODO: describe
+ * Listens to the resolution process and handles events.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
@@ -44,6 +44,8 @@
int OMIT_FOR_CYCLE = 8;
+ int UPDATE_SCOPE_CURRENT_POM = 9;
+
void testArtifact( Artifact node );
void startProcessChildren( Artifact artifact );
@@ -59,4 +61,6 @@
void manageArtifact( Artifact artifact, Artifact replacement );
void omitForCycle( Artifact artifact );
+
+ void updateScopeCurrentPom( Artifact artifact, String scope );
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org