You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2010/09/19 20:54:26 UTC
svn commit: r998715 - in /maven/maven-3/trunk:
maven-aether-provider/src/main/java/org/apache/maven/repository/internal/
maven-core/src/main/java/org/apache/maven/
maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/
maven-core/src/main/ja...
Author: bentmann
Date: Sun Sep 19 18:54:25 2010
New Revision: 998715
URL: http://svn.apache.org/viewvc?rev=998715&view=rev
Log:
o Fixed repo logging to go consistently through listener
Added:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java (with props)
Modified:
maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/AbstractMavenTransferListener.java
Modified: maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java (original)
+++ maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java Sun Sep 19 18:54:25 2010
@@ -73,6 +73,7 @@ import org.sonatype.aether.resolution.Ar
import org.sonatype.aether.resolution.ArtifactResult;
import org.sonatype.aether.resolution.VersionRequest;
import org.sonatype.aether.resolution.VersionResolutionException;
+import org.sonatype.aether.resolution.VersionResult;
import org.sonatype.aether.spi.locator.Service;
import org.sonatype.aether.spi.locator.ServiceLocator;
import org.sonatype.aether.spi.log.Logger;
@@ -221,7 +222,9 @@ public class DefaultArtifactDescriptorRe
{
VersionRequest versionRequest =
new VersionRequest( artifact, request.getRepositories(), request.getRequestContext() );
- versionResolver.resolveVersion( session, versionRequest );
+ VersionResult versionResult = versionResolver.resolveVersion( session, versionRequest );
+
+ artifact = artifact.setVersion( versionResult.getVersion() );
}
catch ( VersionResolutionException e )
{
Modified: maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java (original)
+++ maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java Sun Sep 19 18:54:25 2010
@@ -19,7 +19,6 @@ package org.apache.maven.repository.inte
* under the License.
*/
-import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.ArrayList;
@@ -46,7 +45,6 @@ import org.sonatype.aether.impl.Metadata
import org.sonatype.aether.impl.VersionRangeResolver;
import org.sonatype.aether.metadata.Metadata;
import org.sonatype.aether.repository.ArtifactRepository;
-import org.sonatype.aether.repository.LocalRepositoryManager;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.repository.WorkspaceReader;
import org.sonatype.aether.resolution.MetadataRequest;
@@ -160,12 +158,16 @@ public class DefaultVersionRangeResolver
MAVEN_METADATA_XML, Metadata.Nature.RELEASE_OR_SNAPSHOT );
List<MetadataRequest> metadataRequests = new ArrayList<MetadataRequest>( request.getRepositories().size() );
+
+ metadataRequests.add( new MetadataRequest( metadata, null, request.getRequestContext() ) );
+
for ( RemoteRepository repository : request.getRepositories() )
{
MetadataRequest metadataRequest = new MetadataRequest( metadata, repository, request.getRequestContext() );
metadataRequest.setDeleteLocalCopyIfMissing( true );
metadataRequests.add( metadataRequest );
}
+
List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataRequests );
WorkspaceReader workspace = session.getWorkspaceReader();
@@ -178,30 +180,22 @@ public class DefaultVersionRangeResolver
}
}
- LocalRepositoryManager lrm = session.getLocalRepositoryManager();
- File localMetadataFile = new File( lrm.getRepository().getBasedir(), lrm.getPathForLocalMetadata( metadata ) );
- if ( localMetadataFile.isFile() )
+ for ( MetadataResult metadataResult : metadataResults )
{
- metadata = metadata.setFile( localMetadataFile );
- Versioning versioning = readVersions( session, metadata, result );
- for ( String version : versioning.getVersions() )
+ result.addException( metadataResult.getException() );
+
+ ArtifactRepository repository = metadataResult.getRequest().getRepository();
+ if ( repository == null )
{
- if ( !versionIndex.containsKey( version ) )
- {
- versionIndex.put( version, lrm.getRepository() );
- }
+ repository = session.getLocalRepository();
}
- }
- for ( MetadataResult metadataResult : metadataResults )
- {
- result.addException( metadataResult.getException() );
- Versioning versioning = readVersions( session, metadataResult.getMetadata(), result );
+ Versioning versioning = readVersions( session, metadataResult.getMetadata(), repository, result );
for ( String version : versioning.getVersions() )
{
if ( !versionIndex.containsKey( version ) )
{
- versionIndex.put( version, metadataResult.getRequest().getRepository() );
+ versionIndex.put( version, repository );
}
}
}
@@ -209,7 +203,8 @@ public class DefaultVersionRangeResolver
return versionIndex;
}
- private Versioning readVersions( RepositorySystemSession session, Metadata metadata, VersionRangeResult result )
+ private Versioning readVersions( RepositorySystemSession session, Metadata metadata, ArtifactRepository repository,
+ VersionRangeResult result )
{
Versioning versioning = null;
@@ -229,7 +224,7 @@ public class DefaultVersionRangeResolver
}
catch ( Exception e )
{
- invalidMetadata( session, metadata, e );
+ invalidMetadata( session, metadata, repository, e );
result.addException( e );
}
finally
@@ -240,13 +235,15 @@ public class DefaultVersionRangeResolver
return ( versioning != null ) ? versioning : new Versioning();
}
- private void invalidMetadata( RepositorySystemSession session, Metadata metadata, Exception exception )
+ private void invalidMetadata( RepositorySystemSession session, Metadata metadata, ArtifactRepository repository,
+ Exception exception )
{
RepositoryListener listener = session.getRepositoryListener();
if ( listener != null )
{
DefaultRepositoryEvent event = new DefaultRepositoryEvent( session, metadata );
event.setException( exception );
+ event.setRepository( repository );
listener.metadataInvalid( event );
}
}
Modified: maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java (original)
+++ maven/maven-3/trunk/maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java Sun Sep 19 18:54:25 2010
@@ -49,7 +49,6 @@ import org.sonatype.aether.impl.VersionR
import org.sonatype.aether.impl.internal.CacheUtils;
import org.sonatype.aether.metadata.Metadata;
import org.sonatype.aether.repository.ArtifactRepository;
-import org.sonatype.aether.repository.LocalRepositoryManager;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.repository.WorkspaceReader;
import org.sonatype.aether.repository.WorkspaceRepository;
@@ -174,6 +173,9 @@ public class DefaultVersionResolver
else
{
List<MetadataRequest> metadataRequests = new ArrayList<MetadataRequest>( request.getRepositories().size() );
+
+ metadataRequests.add( new MetadataRequest( metadata, null, request.getRequestContext() ) );
+
for ( RemoteRepository repository : request.getRepositories() )
{
MetadataRequest metadataRequest =
@@ -182,25 +184,23 @@ public class DefaultVersionResolver
metadataRequest.setFavorLocalRepository( true );
metadataRequests.add( metadataRequest );
}
- List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataRequests );
- LocalRepositoryManager lrm = session.getLocalRepositoryManager();
- File localMetadataFile =
- new File( lrm.getRepository().getBasedir(), lrm.getPathForLocalMetadata( metadata ) );
- if ( localMetadataFile.isFile() )
- {
- metadata = metadata.setFile( localMetadataFile );
- }
+ List<MetadataResult> metadataResults = metadataResolver.resolveMetadata( session, metadataRequests );
Map<String, VersionInfo> infos = new HashMap<String, VersionInfo>();
- merge( artifact, infos, readVersions( session, metadata, result ),
- session.getLocalRepositoryManager().getRepository() );
for ( MetadataResult metadataResult : metadataResults )
{
result.addException( metadataResult.getException() );
- merge( artifact, infos, readVersions( session, metadataResult.getMetadata(), result ),
- metadataResult.getRequest().getRepository() );
+
+ ArtifactRepository repository = metadataResult.getRequest().getRepository();
+ if ( repository == null )
+ {
+ repository = session.getLocalRepository();
+ }
+
+ Versioning versioning = readVersions( session, metadataResult.getMetadata(), repository, result );
+ merge( artifact, infos, versioning, repository );
}
if ( RELEASE.equals( version ) )
@@ -269,7 +269,8 @@ public class DefaultVersionResolver
return info != null;
}
- private Versioning readVersions( RepositorySystemSession session, Metadata metadata, VersionResult result )
+ private Versioning readVersions( RepositorySystemSession session, Metadata metadata, ArtifactRepository repository,
+ VersionResult result )
{
Versioning versioning = null;
@@ -289,7 +290,7 @@ public class DefaultVersionResolver
}
catch ( Exception e )
{
- invalidMetadata( session, metadata, e );
+ invalidMetadata( session, metadata, repository, e );
result.addException( e );
}
finally
@@ -300,13 +301,15 @@ public class DefaultVersionResolver
return ( versioning != null ) ? versioning : new Versioning();
}
- private void invalidMetadata( RepositorySystemSession session, Metadata metadata, Exception exception )
+ private void invalidMetadata( RepositorySystemSession session, Metadata metadata, ArtifactRepository repository,
+ Exception exception )
{
RepositoryListener listener = session.getRepositoryListener();
if ( listener != null )
{
DefaultRepositoryEvent event = new DefaultRepositoryEvent( session, metadata );
event.setException( exception );
+ event.setRepository( repository );
listener.metadataInvalid( event );
}
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Sun Sep 19 18:54:25 2010
@@ -96,7 +96,6 @@ import org.sonatype.aether.util.graph.tr
import org.sonatype.aether.util.graph.transformer.JavaDependencyContextRefiner;
import org.sonatype.aether.util.graph.transformer.JavaEffectiveScopeCalculator;
import org.sonatype.aether.util.graph.traverser.FatArtifactTraverser;
-import org.sonatype.aether.util.listener.AbstractRepositoryListener;
import org.sonatype.aether.util.repository.ChainedWorkspaceReader;
import org.sonatype.aether.util.repository.DefaultAuthenticationSelector;
import org.sonatype.aether.util.repository.DefaultMirrorSelector;
@@ -421,43 +420,7 @@ public class DefaultMaven
session.setTransferListener( request.getTransferListener() );
- session.setRepositoryListener( new AbstractRepositoryListener()
- {
- @Override
- public void artifactInstalling( RepositoryEvent event )
- {
- logger.info( "Installing " + event.getArtifact().getFile() + " to " + event.getFile() );
- }
-
- @Override
- public void metadataInstalling( RepositoryEvent event )
- {
- logger.debug( "Installing " + event.getMetadata() + " to " + event.getFile() );
- }
-
- @Override
- public void artifactDescriptorInvalid( RepositoryEvent event )
- {
- if ( logger.isDebugEnabled() )
- {
- logger.warn( "The POM for " + event.getArtifact() + " is invalid"
- + ", transitive dependencies (if any) will not be available: "
- + event.getException().getMessage() );
- }
- else
- {
- logger.warn( "The POM for " + event.getArtifact() + " is invalid"
- + ", transitive dependencies (if any) will not be available"
- + ", enable debug logging for more details" );
- }
- }
-
- @Override
- public void artifactDescriptorMissing( RepositoryEvent event )
- {
- logger.warn( "The POM for " + event.getArtifact() + " is missing, no dependency information available" );
- }
- } );
+ session.setRepositoryListener( new LoggingRepositoryListener( logger ) );
return session;
}
Added: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java?rev=998715&view=auto
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java (added)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java Sun Sep 19 18:54:25 2010
@@ -0,0 +1,128 @@
+package org.apache.maven;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.codehaus.plexus.logging.Logger;
+import org.sonatype.aether.RepositoryEvent;
+import org.sonatype.aether.transfer.MetadataNotFoundException;
+import org.sonatype.aether.util.listener.AbstractRepositoryListener;
+
+/**
+ * @author Benjamin Bentmann
+ */
+class LoggingRepositoryListener
+ extends AbstractRepositoryListener
+{
+
+ private final Logger logger;
+
+ public LoggingRepositoryListener( Logger logger )
+ {
+ this.logger = logger;
+ }
+
+ @Override
+ public void artifactInstalling( RepositoryEvent event )
+ {
+ logger.info( "Installing " + event.getArtifact().getFile() + " to " + event.getFile() );
+ }
+
+ @Override
+ public void metadataInstalling( RepositoryEvent event )
+ {
+ logger.debug( "Installing " + event.getMetadata() + " to " + event.getFile() );
+ }
+
+ @Override
+ public void metadataResolved( RepositoryEvent event )
+ {
+ Exception e = event.getException();
+ if ( e != null )
+ {
+ if ( e instanceof MetadataNotFoundException )
+ {
+ logger.debug( e.getMessage() );
+ }
+ else if ( logger.isDebugEnabled() )
+ {
+ logger.warn( e.getMessage(), e );
+ }
+ else
+ {
+ logger.warn( e.getMessage() );
+ }
+ }
+ }
+
+ @Override
+ public void metadataInvalid( RepositoryEvent event )
+ {
+ StringBuilder buffer = new StringBuilder( 256 );
+ buffer.append( "The metadata " );
+ if ( event.getMetadata().getFile() != null )
+ {
+ buffer.append( event.getMetadata().getFile() );
+ }
+ else
+ {
+ buffer.append( event.getMetadata() );
+ }
+ buffer.append( " is invalid" );
+ if ( event.getException() != null )
+ {
+ buffer.append( ": " );
+ buffer.append( event.getException().getMessage() );
+ }
+
+ if ( logger.isDebugEnabled() )
+ {
+ logger.warn( buffer.toString(), event.getException() );
+ }
+ else
+ {
+ logger.warn( buffer.toString() );
+ }
+ }
+
+ @Override
+ public void artifactDescriptorInvalid( RepositoryEvent event )
+ {
+ StringBuilder buffer = new StringBuilder( 256 );
+ buffer.append( "The POM for " );
+ buffer.append( event.getArtifact() );
+ buffer.append( " is invalid, transitive dependencies (if any) will not be available" );
+
+ if ( logger.isDebugEnabled() )
+ {
+ logger.warn( buffer + ": " + event.getException().getMessage() );
+ }
+ else
+ {
+ logger.warn( buffer + ", enable debug logging for more details" );
+ }
+ }
+
+ @Override
+ public void artifactDescriptorMissing( RepositoryEvent event )
+ {
+ logger.warn( "The POM for " + event.getArtifact() + " is missing, no dependency information available" );
+ }
+
+}
Propchange: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/LoggingRepositoryListener.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java Sun Sep 19 18:54:25 2010
@@ -19,7 +19,6 @@ package org.apache.maven.plugin.prefix.i
* under the License.
*/
-import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -39,14 +38,16 @@ import org.apache.maven.plugin.prefix.Pl
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;
+import org.sonatype.aether.RepositoryListener;
import org.sonatype.aether.RepositorySystem;
+import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.repository.ArtifactRepository;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.repository.RepositoryPolicy;
import org.sonatype.aether.resolution.MetadataRequest;
import org.sonatype.aether.resolution.MetadataResult;
-import org.sonatype.aether.transfer.MetadataNotFoundException;
import org.sonatype.aether.util.DefaultRepositorySystemSession;
+import org.sonatype.aether.util.listener.DefaultRepositoryEvent;
import org.sonatype.aether.util.metadata.DefaultMetadata;
/**
@@ -207,25 +208,6 @@ public class DefaultPluginPrefixResolver
{
for ( MetadataResult res : results )
{
- if ( res.getException() != null )
- {
- if ( res.getException() instanceof MetadataNotFoundException )
- {
- logger.debug( "Could not find " + res.getRequest().getMetadata() + " in "
- + res.getRequest().getRepository() );
- }
- else if ( logger.isDebugEnabled() )
- {
- logger.warn( "Could not retrieve " + res.getRequest().getMetadata() + " from "
- + res.getRequest().getRepository() + ": " + res.getException().getMessage(), res.getException() );
- }
- else
- {
- logger.warn( "Could not retrieve " + res.getRequest().getMetadata() + " from "
- + res.getRequest().getRepository() + ": " + res.getException().getMessage() );
- }
- }
-
org.sonatype.aether.metadata.Metadata metadata = res.getMetadata();
if ( metadata != null )
@@ -237,7 +219,7 @@ public class DefaultPluginPrefixResolver
}
PluginPrefixResult result =
- resolveFromRepository( request, metadata.getGroupId(), metadata.getFile(), repository );
+ resolveFromRepository( request, metadata.getGroupId(), metadata, repository );
if ( result != null )
{
@@ -255,15 +237,16 @@ public class DefaultPluginPrefixResolver
}
private PluginPrefixResult resolveFromRepository( PluginPrefixRequest request, String pluginGroup,
- File metadataFile, ArtifactRepository repository )
+ org.sonatype.aether.metadata.Metadata metadata,
+ ArtifactRepository repository )
{
- if ( metadataFile != null && metadataFile.isFile() )
+ if ( metadata != null && metadata.getFile() != null && metadata.getFile().isFile() )
{
try
{
Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE );
- Metadata pluginGroupMetadata = metadataReader.read( metadataFile, options );
+ Metadata pluginGroupMetadata = metadataReader.read( metadata.getFile(), options );
List<org.apache.maven.artifact.repository.metadata.Plugin> plugins = pluginGroupMetadata.getPlugins();
@@ -280,18 +263,24 @@ public class DefaultPluginPrefixResolver
}
catch ( IOException e )
{
- if ( logger.isDebugEnabled() )
- {
- logger.warn( "Error reading plugin group metadata: " + e.getMessage(), e );
- }
- else
- {
- logger.warn( "Error reading plugin group metadata: " + e.getMessage() );
- }
+ invalidMetadata( request.getRepositorySession(), metadata, repository, e );
}
}
return null;
}
+ private void invalidMetadata( RepositorySystemSession session, org.sonatype.aether.metadata.Metadata metadata,
+ ArtifactRepository repository, Exception exception )
+ {
+ RepositoryListener listener = session.getRepositoryListener();
+ if ( listener != null )
+ {
+ DefaultRepositoryEvent event = new DefaultRepositoryEvent( session, metadata );
+ event.setException( exception );
+ event.setRepository( repository );
+ listener.metadataInvalid( event );
+ }
+ }
+
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java Sun Sep 19 18:54:25 2010
@@ -19,7 +19,6 @@ package org.apache.maven.plugin.version.
* under the License.
*/
-import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
@@ -39,13 +38,15 @@ import org.codehaus.plexus.component.ann
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.util.StringUtils;
+import org.sonatype.aether.RepositoryListener;
import org.sonatype.aether.RepositorySystem;
+import org.sonatype.aether.RepositorySystemSession;
import org.sonatype.aether.repository.ArtifactRepository;
import org.sonatype.aether.repository.LocalRepository;
import org.sonatype.aether.repository.RemoteRepository;
import org.sonatype.aether.resolution.MetadataRequest;
import org.sonatype.aether.resolution.MetadataResult;
-import org.sonatype.aether.transfer.MetadataNotFoundException;
+import org.sonatype.aether.util.listener.DefaultRepositoryEvent;
import org.sonatype.aether.util.metadata.DefaultMetadata;
/**
@@ -122,29 +123,13 @@ public class DefaultPluginVersionResolve
for ( MetadataResult res : results )
{
- if ( res.getException() != null )
+ ArtifactRepository repository = res.getRequest().getRepository();
+ if ( repository == null )
{
- if ( res.getException() instanceof MetadataNotFoundException )
- {
- logger.debug( "Could not find " + res.getRequest().getMetadata() + " in "
- + res.getRequest().getRepository() );
- }
- else if ( logger.isDebugEnabled() )
- {
- logger.warn( "Could not retrieve " + res.getRequest().getMetadata() + " from "
- + res.getRequest().getRepository() + ": " + res.getException().getMessage(), res.getException() );
- }
- else
- {
- logger.warn( "Could not retrieve " + res.getRequest().getMetadata() + " from "
- + res.getRequest().getRepository() + ": " + res.getException().getMessage() );
- }
+ repository = request.getRepositorySession().getLocalRepository();
}
- if ( res.getMetadata() != null )
- {
- mergeMetadata( versions, res.getMetadata().getFile(), res.getRequest().getRepository() );
- }
+ mergeMetadata( request.getRepositorySession(), versions, res.getMetadata(), repository );
}
if ( StringUtils.isNotEmpty( versions.releaseVersion ) )
@@ -167,32 +152,39 @@ public class DefaultPluginVersionResolve
return result;
}
- private void mergeMetadata( Versions versions, File metadataFile, ArtifactRepository repository )
+ private void mergeMetadata( RepositorySystemSession session, Versions versions,
+ org.sonatype.aether.metadata.Metadata metadata, ArtifactRepository repository )
{
- if ( metadataFile != null && metadataFile.isFile() )
+ if ( metadata != null && metadata.getFile() != null && metadata.getFile().isFile() )
{
try
{
Map<String, ?> options = Collections.singletonMap( MetadataReader.IS_STRICT, Boolean.FALSE );
- Metadata repoMetadata = metadataReader.read( metadataFile, options );
+ Metadata repoMetadata = metadataReader.read( metadata.getFile(), options );
mergeMetadata( versions, repoMetadata, repository );
}
catch ( IOException e )
{
- if ( logger.isDebugEnabled() )
- {
- logger.warn( "Failed to read metadata " + metadataFile + ": " + e.getMessage(), e );
- }
- else
- {
- logger.warn( "Failed to read metadata " + metadataFile + ": " + e.getMessage() );
- }
+ invalidMetadata( session, metadata, repository, e );
}
}
}
+ private void invalidMetadata( RepositorySystemSession session, org.sonatype.aether.metadata.Metadata metadata,
+ ArtifactRepository repository, Exception exception )
+ {
+ RepositoryListener listener = session.getRepositoryListener();
+ if ( listener != null )
+ {
+ DefaultRepositoryEvent event = new DefaultRepositoryEvent( session, metadata );
+ event.setException( exception );
+ event.setRepository( repository );
+ listener.metadataInvalid( event );
+ }
+ }
+
private void mergeMetadata( Versions versions, Metadata source, ArtifactRepository repository )
{
Versioning versioning = source.getVersioning();
Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/AbstractMavenTransferListener.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/AbstractMavenTransferListener.java?rev=998715&r1=998714&r2=998715&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/AbstractMavenTransferListener.java (original)
+++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/AbstractMavenTransferListener.java Sun Sep 19 18:54:25 2010
@@ -48,7 +48,7 @@ abstract class AbstractMavenTransferList
public void transferSucceeded( TransferEvent event )
{
- TransferResource artifact = event.getResource();
+ TransferResource resource = event.getResource();
long contentLength = event.getTransferredBytes();
if ( contentLength >= 0 )
{
@@ -56,7 +56,7 @@ abstract class AbstractMavenTransferList
String len = contentLength >= 1024 ? toKB( contentLength ) + " KB" : contentLength + " B";
String throughput = "";
- long duration = System.currentTimeMillis() - artifact.getTransferStartTime();
+ long duration = System.currentTimeMillis() - resource.getTransferStartTime();
if ( duration > 0 )
{
DecimalFormat format = new DecimalFormat( "0.0", new DecimalFormatSymbols( Locale.ENGLISH ) );
@@ -64,7 +64,7 @@ abstract class AbstractMavenTransferList
throughput = " at " + format.format( kbPerSec ) + " KB/sec";
}
- out.println( type + ": " + artifact.getRepositoryUrl() + artifact.getResourceName() + " (" + len
+ out.println( type + ": " + resource.getRepositoryUrl() + resource.getResourceName() + " (" + len
+ throughput + ")" );
}
}