mirror of https://github.com/apache/maven.git
o another pass at removing wagon from the core.
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@823064 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
0f3d4d243f
commit
b6c70ca1f9
|
@ -169,13 +169,11 @@ public class DefaultArtifactResolver
|
|||
if ( artifact.getRepository() != null )
|
||||
{
|
||||
// the transformations discovered the artifact - so use it exclusively
|
||||
wagonManager.getArtifact( artifact, artifact.getRepository(), downloadMonitor,
|
||||
request.isForceUpdate() );
|
||||
wagonManager.getArtifact( artifact, artifact.getRepository(), downloadMonitor, request.isForceUpdate() );
|
||||
}
|
||||
else
|
||||
{
|
||||
wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor,
|
||||
request.isForceUpdate() );
|
||||
wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor, request.isForceUpdate() );
|
||||
}
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package org.apache.maven.cli;
|
||||
package org.apache.maven.repository;
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
|
@ -19,18 +19,16 @@ package org.apache.maven.cli;
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Test for {@link BatchModeDownloadMonitor}
|
||||
*
|
||||
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
|
||||
* @version $Id$
|
||||
*/
|
||||
public class BatchModeDownloadMonitorTest
|
||||
extends AbstractConsoleDownloadMonitorTest
|
||||
public class ArtifactDoesNotExistException
|
||||
extends Exception
|
||||
{
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
public ArtifactDoesNotExistException( final String message )
|
||||
{
|
||||
monitor = new BatchModeDownloadMonitor();
|
||||
super( message );
|
||||
}
|
||||
|
||||
public ArtifactDoesNotExistException( final String message, final Throwable cause )
|
||||
{
|
||||
super( message, cause );
|
||||
}
|
||||
}
|
|
@ -0,0 +1,292 @@
|
|||
package org.apache.maven.repository;
|
||||
|
||||
/*
|
||||
* 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 java.io.File;
|
||||
import java.util.EventObject;
|
||||
|
||||
/**
|
||||
* TransferEvent is used to notify TransferListeners about progress
|
||||
* in transfer of resources form/to the repository
|
||||
*
|
||||
* @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
|
||||
* @version $Id$
|
||||
*/
|
||||
public class ArtifactTransferEvent
|
||||
extends EventObject
|
||||
{
|
||||
/**
|
||||
* A transfer was attempted, but has not yet commenced.
|
||||
*/
|
||||
public static final int TRANSFER_INITIATED = 0;
|
||||
|
||||
/**
|
||||
* A transfer was started.
|
||||
*/
|
||||
public static final int TRANSFER_STARTED = 1;
|
||||
|
||||
/**
|
||||
* A transfer is completed.
|
||||
*/
|
||||
public static final int TRANSFER_COMPLETED = 2;
|
||||
|
||||
/**
|
||||
* A transfer is in progress.
|
||||
*/
|
||||
public static final int TRANSFER_PROGRESS = 3;
|
||||
|
||||
/**
|
||||
* An error occurred during transfer
|
||||
*/
|
||||
public static final int TRANSFER_ERROR = 4;
|
||||
|
||||
/**
|
||||
* Indicates GET transfer (from the repository)
|
||||
*/
|
||||
public static final int REQUEST_GET = 5;
|
||||
|
||||
/**
|
||||
* Indicates PUT transfer (to the repository)
|
||||
*/
|
||||
public static final int REQUEST_PUT = 6;
|
||||
|
||||
private int eventType;
|
||||
|
||||
private int requestType;
|
||||
|
||||
private Exception exception;
|
||||
|
||||
private File localFile;
|
||||
|
||||
private MavenArtifact artifact;
|
||||
|
||||
public ArtifactTransferEvent( String wagon, final int eventType, final int requestType )
|
||||
{
|
||||
super( wagon );
|
||||
|
||||
setEventType( eventType );
|
||||
|
||||
setRequestType( requestType );
|
||||
}
|
||||
|
||||
public ArtifactTransferEvent( String wagon, final Exception exception, final int requestType )
|
||||
{
|
||||
this( wagon, TRANSFER_ERROR, requestType );
|
||||
|
||||
this.exception = exception;
|
||||
}
|
||||
|
||||
public MavenArtifact getResource()
|
||||
{
|
||||
return artifact;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the exception.
|
||||
*/
|
||||
public Exception getException()
|
||||
{
|
||||
return exception;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the request type.
|
||||
*
|
||||
* @return Returns the request type. The Request type is one of
|
||||
* <code>TransferEvent.REQUEST_GET<code> or <code>TransferEvent.REQUEST_PUT<code>
|
||||
*/
|
||||
public int getRequestType()
|
||||
{
|
||||
return requestType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the request type
|
||||
*
|
||||
* @param requestType The requestType to set.
|
||||
* The Request type value should be either
|
||||
* <code>TransferEvent.REQUEST_GET<code> or <code>TransferEvent.REQUEST_PUT<code>.
|
||||
* @throws IllegalArgumentException when
|
||||
*/
|
||||
public void setRequestType( final int requestType )
|
||||
{
|
||||
switch ( requestType )
|
||||
{
|
||||
|
||||
case REQUEST_PUT:
|
||||
break;
|
||||
case REQUEST_GET:
|
||||
break;
|
||||
|
||||
default :
|
||||
throw new IllegalArgumentException( "Illegal request type: " + requestType );
|
||||
}
|
||||
|
||||
this.requestType = requestType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the eventType.
|
||||
*/
|
||||
public int getEventType()
|
||||
{
|
||||
return eventType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param eventType The eventType to set.
|
||||
*/
|
||||
public void setEventType( final int eventType )
|
||||
{
|
||||
switch ( eventType )
|
||||
{
|
||||
|
||||
case TRANSFER_INITIATED:
|
||||
break;
|
||||
case TRANSFER_STARTED:
|
||||
break;
|
||||
case TRANSFER_COMPLETED:
|
||||
break;
|
||||
case TRANSFER_PROGRESS:
|
||||
break;
|
||||
case TRANSFER_ERROR:
|
||||
break;
|
||||
default :
|
||||
throw new IllegalArgumentException( "Illegal event type: " + eventType );
|
||||
}
|
||||
|
||||
this.eventType = eventType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns the local file.
|
||||
*/
|
||||
public File getLocalFile()
|
||||
{
|
||||
return localFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param localFile The local file to set.
|
||||
*/
|
||||
public void setLocalFile( File localFile )
|
||||
{
|
||||
this.localFile = localFile;
|
||||
}
|
||||
|
||||
public String toString()
|
||||
{
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
||||
sb.append( "TransferEvent[" );
|
||||
|
||||
switch ( this.getRequestType() )
|
||||
{
|
||||
case REQUEST_GET:
|
||||
sb.append( "GET" );
|
||||
break;
|
||||
case REQUEST_PUT:
|
||||
sb.append( "PUT" );
|
||||
break;
|
||||
default:
|
||||
sb.append( this.getRequestType() );
|
||||
break;
|
||||
}
|
||||
|
||||
sb.append( "|" );
|
||||
switch ( this.getEventType() )
|
||||
{
|
||||
case TRANSFER_COMPLETED:
|
||||
sb.append( "COMPLETED" );
|
||||
break;
|
||||
case TRANSFER_ERROR:
|
||||
sb.append( "ERROR" );
|
||||
break;
|
||||
case TRANSFER_INITIATED:
|
||||
sb.append( "INITIATED" );
|
||||
break;
|
||||
case TRANSFER_PROGRESS:
|
||||
sb.append( "PROGRESS" );
|
||||
break;
|
||||
case TRANSFER_STARTED:
|
||||
sb.append( "STARTED" );
|
||||
break;
|
||||
default:
|
||||
sb.append( this.getEventType() );
|
||||
break;
|
||||
}
|
||||
|
||||
sb.append( "|" );
|
||||
sb.append( this.getLocalFile() ).append( "|" );
|
||||
sb.append( "]" );
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public int hashCode()
|
||||
{
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + eventType;
|
||||
result = prime * result + ( ( exception == null ) ? 0 : exception.hashCode() );
|
||||
result = prime * result + ( ( localFile == null ) ? 0 : localFile.hashCode() );
|
||||
result = prime * result + requestType;
|
||||
return result;
|
||||
}
|
||||
|
||||
public boolean equals( Object obj )
|
||||
{
|
||||
if ( this == obj )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if ( ( obj == null ) || ( getClass() != obj.getClass() ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
final ArtifactTransferEvent other = (ArtifactTransferEvent) obj;
|
||||
if ( eventType != other.eventType )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ( exception == null )
|
||||
{
|
||||
if ( other.exception != null )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if ( !exception.getClass().equals( other.exception.getClass() ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ( requestType != other.requestType )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if ( !source.equals( other.source ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package org.apache.maven.repository;
|
||||
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
public class ArtifactTransferFailedException
|
||||
extends Exception
|
||||
{
|
||||
public ArtifactTransferFailedException( final String message )
|
||||
{
|
||||
super( message );
|
||||
}
|
||||
|
||||
public ArtifactTransferFailedException( final String message, final Throwable cause )
|
||||
{
|
||||
super( message, cause );
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package org.apache.maven;
|
||||
package org.apache.maven.repository;
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
|
@ -19,14 +19,7 @@ package org.apache.maven;
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.maven.wagon.events.TransferListener;
|
||||
|
||||
/**
|
||||
* @author Jason van Zyl
|
||||
* @version $Revision$
|
||||
*/
|
||||
public interface MavenTransferListener
|
||||
extends TransferListener
|
||||
public interface ArtifactTransferListener
|
||||
{
|
||||
public boolean isShowChecksumEvents();
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package org.apache.maven.repository;
|
||||
|
||||
public class MavenArtifact
|
||||
{
|
||||
public String getName()
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
public int getContentLength()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -34,9 +34,6 @@ import org.apache.maven.model.Plugin;
|
|||
import org.apache.maven.model.Repository;
|
||||
import org.apache.maven.settings.Mirror;
|
||||
import org.apache.maven.settings.Server;
|
||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||
import org.apache.maven.wagon.TransferFailedException;
|
||||
import org.apache.maven.wagon.events.TransferListener;
|
||||
|
||||
/**
|
||||
* @author Jason van Zyl
|
||||
|
@ -147,10 +144,10 @@ public interface RepositorySystem
|
|||
//
|
||||
// Raw file transfers
|
||||
//
|
||||
void publish( ArtifactRepository repository, File source, String remotePath, TransferListener downloadMonitor )
|
||||
throws TransferFailedException;
|
||||
void publish( ArtifactRepository repository, File source, String remotePath, ArtifactTransferListener transferListener )
|
||||
throws ArtifactTransferFailedException;
|
||||
|
||||
void retrieve( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor )
|
||||
throws TransferFailedException, ResourceDoesNotExistException;
|
||||
void retrieve( ArtifactRepository repository, File destination, String remotePath, ArtifactTransferListener transferListener )
|
||||
throws ArtifactTransferFailedException, ArtifactDoesNotExistException;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package org.apache.maven.repository;
|
||||
package org.apache.maven.repository.legacy;
|
||||
|
||||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
||||
|
@ -45,15 +45,16 @@ import org.apache.maven.model.Repository;
|
|||
import org.apache.maven.model.RepositoryPolicy;
|
||||
import org.apache.maven.repository.DelegatingLocalArtifactRepository;
|
||||
import org.apache.maven.repository.LocalArtifactRepository;
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
import org.apache.maven.repository.MetadataResolutionRequest;
|
||||
import org.apache.maven.repository.MetadataResolutionResult;
|
||||
import org.apache.maven.repository.MirrorSelector;
|
||||
import org.apache.maven.repository.Proxy;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.apache.maven.repository.legacy.WagonManager;
|
||||
import org.apache.maven.repository.ArtifactDoesNotExistException;
|
||||
import org.apache.maven.repository.ArtifactTransferFailedException;
|
||||
import org.apache.maven.settings.Mirror;
|
||||
import org.apache.maven.settings.Server;
|
||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||
import org.apache.maven.wagon.TransferFailedException;
|
||||
import org.apache.maven.wagon.events.TransferListener;
|
||||
import org.codehaus.plexus.PlexusContainer;
|
||||
import org.codehaus.plexus.component.annotations.Component;
|
||||
import org.codehaus.plexus.component.annotations.Requirement;
|
||||
|
@ -577,21 +578,39 @@ public class LegacyRepositorySystem
|
|||
// ArtifactFilter filter,
|
||||
// List<ResolutionListener> listeners,
|
||||
// List<ConflictResolver> conflictResolvers )
|
||||
|
||||
// ArtifactResolutionResult result = artifactCollector.
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void retrieve( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor )
|
||||
throws TransferFailedException, ResourceDoesNotExistException
|
||||
public void retrieve( ArtifactRepository repository, File destination, String remotePath, ArtifactTransferListener transferListener )
|
||||
throws ArtifactTransferFailedException, ArtifactDoesNotExistException
|
||||
{
|
||||
wagonManager.getRemoteFile( repository, destination, remotePath, downloadMonitor, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, true );
|
||||
try
|
||||
{
|
||||
wagonManager.getRemoteFile( repository, destination, remotePath, new TransferListenerAdapter( transferListener ), ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, true );
|
||||
}
|
||||
catch ( org.apache.maven.wagon.TransferFailedException e )
|
||||
{
|
||||
throw new ArtifactTransferFailedException( "Error transferring artifact.", e );
|
||||
}
|
||||
catch ( org.apache.maven.wagon.ResourceDoesNotExistException e )
|
||||
{
|
||||
throw new ArtifactDoesNotExistException( "Requested artifact does not exist.", e );
|
||||
}
|
||||
}
|
||||
|
||||
public void publish( ArtifactRepository repository, File source, String remotePath, TransferListener downloadMonitor )
|
||||
throws TransferFailedException
|
||||
public void publish( ArtifactRepository repository, File source, String remotePath, ArtifactTransferListener transferListener )
|
||||
throws ArtifactTransferFailedException
|
||||
{
|
||||
wagonManager.putRemoteFile( repository, source, remotePath, downloadMonitor );
|
||||
try
|
||||
{
|
||||
wagonManager.putRemoteFile( repository, source, remotePath, new TransferListenerAdapter( transferListener ) );
|
||||
}
|
||||
catch ( org.apache.maven.wagon.TransferFailedException e )
|
||||
{
|
||||
throw new ArtifactTransferFailedException( "Error transferring artifact.", e );
|
||||
}
|
||||
}
|
||||
|
||||
//
|
|
@ -0,0 +1,40 @@
|
|||
package org.apache.maven.repository.legacy;
|
||||
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
import org.apache.maven.wagon.events.TransferEvent;
|
||||
import org.apache.maven.wagon.events.TransferListener;
|
||||
|
||||
public class TransferListenerAdapter
|
||||
implements TransferListener
|
||||
{
|
||||
private ArtifactTransferListener transferListener;
|
||||
|
||||
public TransferListenerAdapter( ArtifactTransferListener transferListener )
|
||||
{
|
||||
this.transferListener = transferListener;
|
||||
}
|
||||
|
||||
public void debug( String arg0 )
|
||||
{
|
||||
}
|
||||
|
||||
public void transferCompleted( TransferEvent arg0 )
|
||||
{
|
||||
}
|
||||
|
||||
public void transferError( TransferEvent arg0 )
|
||||
{
|
||||
}
|
||||
|
||||
public void transferInitiated( TransferEvent arg0 )
|
||||
{
|
||||
}
|
||||
|
||||
public void transferProgress( TransferEvent arg0, byte[] arg1, int arg2 )
|
||||
{
|
||||
}
|
||||
|
||||
public void transferStarted( TransferEvent arg0 )
|
||||
{
|
||||
}
|
||||
}
|
|
@ -21,6 +21,7 @@ import java.util.List;
|
|||
import org.apache.maven.artifact.Artifact;
|
||||
import org.apache.maven.artifact.metadata.ArtifactMetadata;
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||
import org.apache.maven.wagon.TransferFailedException;
|
||||
import org.apache.maven.wagon.UnsupportedProtocolException;
|
||||
|
|
|
@ -20,7 +20,6 @@ import java.util.Arrays;
|
|||
|
||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||
import org.apache.maven.artifact.repository.Authentication;
|
||||
import org.apache.maven.repository.LegacyRepositorySystem;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.apache.maven.settings.Server;
|
||||
import org.codehaus.plexus.PlexusTestCase;
|
||||
|
|
|
@ -80,20 +80,6 @@
|
|||
<artifactId>commons-jxpath</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-provider-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-file</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-http-lightweight</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<resources>
|
||||
|
|
|
@ -30,10 +30,10 @@ import org.apache.maven.artifact.repository.RepositoryCache;
|
|||
import org.apache.maven.model.Profile;
|
||||
import org.apache.maven.project.DefaultProjectBuildingRequest;
|
||||
import org.apache.maven.project.ProjectBuildingRequest;
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
import org.apache.maven.settings.Mirror;
|
||||
import org.apache.maven.settings.Proxy;
|
||||
import org.apache.maven.settings.Server;
|
||||
import org.apache.maven.wagon.events.TransferListener;
|
||||
|
||||
/**
|
||||
* @author Jason van Zyl
|
||||
|
@ -112,7 +112,7 @@ public class DefaultMavenExecutionRequest
|
|||
|
||||
private List<String> inactiveProfiles;
|
||||
|
||||
private TransferListener transferListener;
|
||||
private ArtifactTransferListener transferListener;
|
||||
|
||||
private int loggingLevel = LOGGING_LEVEL_INFO;
|
||||
|
||||
|
@ -348,7 +348,7 @@ public class DefaultMavenExecutionRequest
|
|||
return inactiveProfiles;
|
||||
}
|
||||
|
||||
public TransferListener getTransferListener()
|
||||
public ArtifactTransferListener getTransferListener()
|
||||
{
|
||||
return transferListener;
|
||||
}
|
||||
|
@ -585,7 +585,7 @@ public class DefaultMavenExecutionRequest
|
|||
return this;
|
||||
}
|
||||
|
||||
public MavenExecutionRequest setTransferListener( TransferListener transferListener )
|
||||
public MavenExecutionRequest setTransferListener( ArtifactTransferListener transferListener )
|
||||
{
|
||||
this.transferListener = transferListener;
|
||||
|
||||
|
|
|
@ -29,10 +29,10 @@ import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
|
|||
import org.apache.maven.artifact.repository.RepositoryCache;
|
||||
import org.apache.maven.model.Profile;
|
||||
import org.apache.maven.project.ProjectBuildingRequest;
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
import org.apache.maven.settings.Mirror;
|
||||
import org.apache.maven.settings.Proxy;
|
||||
import org.apache.maven.settings.Server;
|
||||
import org.apache.maven.wagon.events.TransferListener;
|
||||
import org.codehaus.plexus.logging.Logger;
|
||||
|
||||
/**
|
||||
|
@ -164,8 +164,8 @@ public interface MavenExecutionRequest
|
|||
boolean isShowErrors();
|
||||
|
||||
// Transfer listeners
|
||||
MavenExecutionRequest setTransferListener( TransferListener transferListener );
|
||||
TransferListener getTransferListener();
|
||||
MavenExecutionRequest setTransferListener( ArtifactTransferListener transferListener );
|
||||
ArtifactTransferListener getTransferListener();
|
||||
|
||||
// Logging
|
||||
MavenExecutionRequest setLoggingLevel( int loggingLevel );
|
||||
|
|
|
@ -37,8 +37,8 @@ import org.apache.maven.plugin.prefix.PluginPrefixRequest;
|
|||
import org.apache.maven.plugin.prefix.PluginPrefixResolver;
|
||||
import org.apache.maven.plugin.prefix.PluginPrefixResult;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||
import org.apache.maven.wagon.TransferFailedException;
|
||||
import org.apache.maven.repository.ArtifactDoesNotExistException;
|
||||
import org.apache.maven.repository.ArtifactTransferFailedException;
|
||||
import org.codehaus.plexus.component.annotations.Component;
|
||||
import org.codehaus.plexus.component.annotations.Requirement;
|
||||
import org.codehaus.plexus.logging.Logger;
|
||||
|
@ -173,7 +173,7 @@ public class DefaultPluginPrefixResolver
|
|||
{
|
||||
repositorySystem.retrieve( repository, destination, remotePath, null );
|
||||
}
|
||||
catch ( TransferFailedException e )
|
||||
catch ( ArtifactTransferFailedException e )
|
||||
{
|
||||
if ( logger.isDebugEnabled() )
|
||||
{
|
||||
|
@ -186,7 +186,7 @@ public class DefaultPluginPrefixResolver
|
|||
|
||||
continue;
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
catch ( ArtifactDoesNotExistException e )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@ import org.apache.maven.plugin.version.PluginVersionResolutionException;
|
|||
import org.apache.maven.plugin.version.PluginVersionResolver;
|
||||
import org.apache.maven.plugin.version.PluginVersionResult;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||
import org.apache.maven.wagon.TransferFailedException;
|
||||
import org.apache.maven.repository.ArtifactDoesNotExistException;
|
||||
import org.apache.maven.repository.ArtifactTransferFailedException;
|
||||
import org.codehaus.plexus.component.annotations.Component;
|
||||
import org.codehaus.plexus.component.annotations.Requirement;
|
||||
import org.codehaus.plexus.logging.Logger;
|
||||
|
@ -86,7 +86,7 @@ public class DefaultPluginVersionResolver
|
|||
{
|
||||
repositorySystem.retrieve( repository, artifactMetadataFile, remotePath, null );
|
||||
}
|
||||
catch ( TransferFailedException e )
|
||||
catch ( ArtifactTransferFailedException e )
|
||||
{
|
||||
if ( logger.isDebugEnabled() )
|
||||
{
|
||||
|
@ -99,7 +99,7 @@ public class DefaultPluginVersionResolver
|
|||
|
||||
continue;
|
||||
}
|
||||
catch ( ResourceDoesNotExistException e )
|
||||
catch ( ArtifactDoesNotExistException e )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package org.apache.maven.project;
|
||||
|
||||
import org.apache.maven.artifact.resolver.ArtifactResolver;
|
||||
import org.apache.maven.repository.LegacyRepositorySystem;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.apache.maven.repository.legacy.LegacyRepositorySystem;
|
||||
import org.codehaus.plexus.component.annotations.Component;
|
||||
import org.codehaus.plexus.component.annotations.Requirement;
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
|
|||
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
|
||||
import org.apache.maven.artifact.resolver.ResolutionErrorHandler;
|
||||
import org.apache.maven.model.Dependency;
|
||||
import org.apache.maven.repository.LegacyRepositorySystem;
|
||||
import org.apache.maven.repository.RepositorySystem;
|
||||
import org.apache.maven.repository.legacy.LegacyRepositorySystem;
|
||||
import org.codehaus.plexus.PlexusTestCase;
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,11 +18,8 @@
|
|||
<artifactId>maven</artifactId>
|
||||
<version>3.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>maven-embedder</artifactId>
|
||||
|
||||
<name>Maven Embedder</name>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
|
@ -67,26 +64,7 @@
|
|||
<groupId>commons-cli</groupId>
|
||||
<artifactId>commons-cli</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-provider-api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-http-lightweight</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
<artifactId>wagon-file</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>easymock</groupId>
|
||||
<artifactId>easymock</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
|
|
|
@ -1,128 +0,0 @@
|
|||
package org.apache.maven.cli;
|
||||
|
||||
/*
|
||||
* 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.apache.maven.MavenTransferListener;
|
||||
import org.apache.maven.wagon.WagonConstants;
|
||||
import org.apache.maven.wagon.events.TransferEvent;
|
||||
import org.codehaus.plexus.logging.AbstractLogEnabled;
|
||||
|
||||
/**
|
||||
* Abstract console download progress meter.
|
||||
*
|
||||
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
|
||||
* @version $Id$
|
||||
* @since 2.0.5
|
||||
*/
|
||||
public abstract class AbstractConsoleDownloadMonitor
|
||||
extends AbstractLogEnabled
|
||||
implements MavenTransferListener
|
||||
{
|
||||
private boolean showChecksumEvents = false;
|
||||
|
||||
protected boolean showEvent( TransferEvent event )
|
||||
{
|
||||
if ( event.getResource() == null )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
String resource = event.getResource().getName();
|
||||
|
||||
if ( resource == null || resource.trim().length() == 0 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( resource.endsWith( ".sha1" ) || resource.endsWith( ".md5" ) )
|
||||
{
|
||||
return showChecksumEvents;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void transferInitiated( TransferEvent transferEvent )
|
||||
{
|
||||
if ( !showEvent( transferEvent ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
String message = transferEvent.getRequestType() == TransferEvent.REQUEST_PUT ? "Uploading" : "Downloading";
|
||||
|
||||
String url = transferEvent.getWagon().getRepository().getUrl();
|
||||
|
||||
// TODO: can't use getLogger() because this isn't currently instantiated as a component
|
||||
System.out.println( message + ": " + url + "/" + transferEvent.getResource().getName() );
|
||||
}
|
||||
|
||||
/**
|
||||
* Do nothing
|
||||
*/
|
||||
public void transferStarted( TransferEvent transferEvent )
|
||||
{
|
||||
// This space left intentionally blank
|
||||
}
|
||||
|
||||
/**
|
||||
* Do nothing
|
||||
*/
|
||||
public void transferProgress( TransferEvent transferEvent, byte[] buffer, int length )
|
||||
{
|
||||
// This space left intentionally blank
|
||||
}
|
||||
|
||||
public void transferCompleted( TransferEvent transferEvent )
|
||||
{
|
||||
long contentLength = transferEvent.getResource().getContentLength();
|
||||
if ( contentLength != WagonConstants.UNKNOWN_LENGTH )
|
||||
{
|
||||
String type = ( transferEvent.getRequestType() == TransferEvent.REQUEST_PUT ? "uploaded" : "downloaded" );
|
||||
String l = contentLength >= 1024 ? ( contentLength / 1024 ) + "K" : contentLength + "b";
|
||||
System.out.println( l + " " + type );
|
||||
}
|
||||
}
|
||||
|
||||
public void transferError( TransferEvent transferEvent )
|
||||
{
|
||||
// TODO: can't use getLogger() because this isn't currently instantiated as a component
|
||||
// transferEvent.getException().printStackTrace();
|
||||
}
|
||||
|
||||
/**
|
||||
* Do nothing
|
||||
*/
|
||||
public void debug( String message )
|
||||
{
|
||||
// TODO: can't use getLogger() because this isn't currently instantiated as a component
|
||||
// getLogger().debug( message );
|
||||
}
|
||||
|
||||
public boolean isShowChecksumEvents()
|
||||
{
|
||||
return showChecksumEvents;
|
||||
}
|
||||
|
||||
public void setShowChecksumEvents( boolean showChecksumEvents )
|
||||
{
|
||||
this.showChecksumEvents = showChecksumEvents;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
package org.apache.maven.cli;
|
||||
|
||||
/*
|
||||
* 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.apache.maven.repository.ArtifactTransferEvent;
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
|
||||
public abstract class AbstractMavenTransferListener
|
||||
implements ArtifactTransferListener
|
||||
{
|
||||
private boolean showChecksumEvents = false;
|
||||
|
||||
protected boolean showEvent( ArtifactTransferEvent event )
|
||||
{
|
||||
if ( event.getResource() == null )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
String resource = event.getResource().getName();
|
||||
|
||||
if ( resource == null || resource.trim().length() == 0 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( resource.endsWith( ".sha1" ) || resource.endsWith( ".md5" ) )
|
||||
{
|
||||
return showChecksumEvents;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void transferInitiated( ArtifactTransferEvent transferEvent )
|
||||
{
|
||||
if ( !showEvent( transferEvent ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public void transferCompleted( ArtifactTransferEvent transferEvent )
|
||||
{
|
||||
long contentLength = transferEvent.getResource().getContentLength();
|
||||
if ( contentLength != -1 )
|
||||
{
|
||||
String type = ( transferEvent.getRequestType() == ArtifactTransferEvent.REQUEST_PUT ? "uploaded" : "downloaded" );
|
||||
String l = contentLength >= 1024 ? ( contentLength / 1024 ) + "K" : contentLength + "b";
|
||||
System.out.println( l + " " + type );
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isShowChecksumEvents()
|
||||
{
|
||||
return showChecksumEvents;
|
||||
}
|
||||
|
||||
public void setShowChecksumEvents( boolean showChecksumEvents )
|
||||
{
|
||||
this.showChecksumEvents = showChecksumEvents;
|
||||
}
|
||||
}
|
|
@ -1,48 +0,0 @@
|
|||
package org.apache.maven.cli;
|
||||
|
||||
/*
|
||||
* 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.apache.maven.wagon.events.TransferEvent;
|
||||
|
||||
/**
|
||||
* Console download progress meter.
|
||||
*
|
||||
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
|
||||
*/
|
||||
public class BatchModeDownloadMonitor
|
||||
extends AbstractConsoleDownloadMonitor
|
||||
{
|
||||
public void transferInitiated( TransferEvent transferEvent )
|
||||
{
|
||||
if ( !showEvent( transferEvent ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
String message = transferEvent.getRequestType() == TransferEvent.REQUEST_PUT ? "Uploading" : "Downloading";
|
||||
|
||||
String url = transferEvent.getWagon().getRepository().getUrl();
|
||||
|
||||
System.out.println( "url = " + url );
|
||||
|
||||
// TODO: can't use getLogger() because this isn't currently instantiated as a component
|
||||
System.out.println( message + ": " + url + "/" + transferEvent.getResource().getName() );
|
||||
}
|
||||
}
|
|
@ -19,18 +19,16 @@ package org.apache.maven.cli;
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Test for {@link ConsoleDownloadMonitor}
|
||||
*
|
||||
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
|
||||
* @version $Id$
|
||||
*/
|
||||
public class ConsoleDownloadMonitorTest
|
||||
extends AbstractConsoleDownloadMonitorTest
|
||||
import org.apache.maven.repository.ArtifactTransferEvent;
|
||||
|
||||
public class BatchModeMavenTransferListener
|
||||
extends AbstractMavenTransferListener
|
||||
{
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
public void transferInitiated( ArtifactTransferEvent transferEvent )
|
||||
{
|
||||
monitor = new ConsoleDownloadMonitor();
|
||||
if ( !showEvent( transferEvent ) )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -30,8 +30,8 @@ import java.util.Map.Entry;
|
|||
|
||||
import org.apache.commons.cli.CommandLine;
|
||||
import org.apache.maven.Maven;
|
||||
import org.apache.maven.MavenTransferListener;
|
||||
import org.apache.maven.execution.MavenExecutionRequest;
|
||||
import org.apache.maven.repository.ArtifactTransferListener;
|
||||
import org.codehaus.plexus.util.StringUtils;
|
||||
import org.codehaus.plexus.util.cli.CommandLineUtils;
|
||||
|
||||
|
@ -175,15 +175,15 @@ final class CLIRequestUtils
|
|||
}
|
||||
}
|
||||
|
||||
MavenTransferListener transferListener;
|
||||
ArtifactTransferListener transferListener;
|
||||
|
||||
if ( request.isInteractiveMode() )
|
||||
{
|
||||
transferListener = new ConsoleDownloadMonitor();
|
||||
transferListener = new ConsoleMavenTransferListener();
|
||||
}
|
||||
else
|
||||
{
|
||||
transferListener = new BatchModeDownloadMonitor();
|
||||
transferListener = new BatchModeMavenTransferListener();
|
||||
}
|
||||
|
||||
transferListener.setShowChecksumEvents( false );
|
||||
|
|
|
@ -27,84 +27,13 @@ import org.codehaus.plexus.PlexusContainer;
|
|||
import org.codehaus.plexus.classworlds.ClassWorld;
|
||||
import org.codehaus.plexus.logging.Logger;
|
||||
|
||||
/**
|
||||
* Configuration of embedder, used when starting up.
|
||||
*
|
||||
* @author mkleint
|
||||
* @author Jason van Zyl
|
||||
*/
|
||||
public interface Configuration
|
||||
{
|
||||
// ----------------------------------------------------------------------------
|
||||
// Settings
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/** Set location of the userSettingsFile settings file to use for the embedder. */
|
||||
Configuration setUserSettingsFile( File userSettingsFile );
|
||||
|
||||
File getUserSettingsFile();
|
||||
|
||||
/** Set location of the globalSettingsFiles settings file to use for the embedder. */
|
||||
Configuration setGlobalSettingsFile( File globalSettingsFiles );
|
||||
|
||||
File getGlobalSettingsFile();
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Logger
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
Configuration setMavenEmbedderLogger( Logger logger );
|
||||
|
||||
Logger getMavenEmbedderLogger();
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ClassWorld/ClassLoader
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
ClassWorld getClassWorld();
|
||||
|
||||
Configuration setClassWorld( ClassWorld classWorld );
|
||||
|
||||
Configuration setClassLoader( ClassLoader loader );
|
||||
|
||||
PlexusContainer getParentContainer();
|
||||
|
||||
Configuration setParentContainer( PlexusContainer parentContainer );
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Profiles
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/** Add profile to activate. */
|
||||
Configuration addActiveProfile( String profile );
|
||||
|
||||
/** Add profile to inactivate. */
|
||||
Configuration addInactiveProfile( String profile );
|
||||
|
||||
/** Add a list of String instances with names of profiles to activate. */
|
||||
Configuration addActiveProfiles( List<String> profiles );
|
||||
|
||||
/** Add a list of String instances with names of profiles to inactivate. */
|
||||
Configuration addInactiveProfiles( List<String> profiles );
|
||||
|
||||
/** set the system properties to be used during the lifecycle of the embedder. Excluding the time when executing the project, then the properties from MavenExecutionRequestare used. */
|
||||
Configuration setSystemProperties( Properties properties );
|
||||
|
||||
List<String> getActiveProfiles();
|
||||
|
||||
List<String> getInactiveProfiles();
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// System Properties
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
Properties getSystemProperties();
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Extensions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void addExtension( URL url );
|
||||
|
||||
List<URL> getExtensions();
|
||||
}
|
||||
|
|
|
@ -53,49 +53,4 @@ public interface ConfigurationValidationResult
|
|||
* Any exception that happened during parsing global settings, or null if there were no errors.
|
||||
*/
|
||||
Exception getGlobalSettingsException();
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
boolean isUserSettingsFilePresent();
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
void setUserSettingsFilePresent( boolean userSettingsFilePresent );
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
boolean isUserSettingsFileParses();
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
void setUserSettingsFileParses( boolean userSettingsFileParses );
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
boolean isGlobalSettingsFilePresent();
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
void setGlobalSettingsFilePresent( boolean globalSettingsFilePresent );
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
boolean isGlobalSettingsFileParses();
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
void setGlobalSettingsFileParses( boolean globalSettingsFileParses );
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
void display();
|
||||
}
|
||||
|
|
|
@ -19,27 +19,26 @@ package org.apache.maven.cli;
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.maven.wagon.WagonConstants;
|
||||
import org.apache.maven.wagon.events.TransferEvent;
|
||||
import org.apache.maven.repository.ArtifactTransferEvent;
|
||||
|
||||
/**
|
||||
* Console download progress meter.
|
||||
*
|
||||
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
|
||||
*/
|
||||
public class ConsoleDownloadMonitor
|
||||
extends AbstractConsoleDownloadMonitor
|
||||
public class ConsoleMavenTransferListener
|
||||
extends AbstractMavenTransferListener
|
||||
{
|
||||
private long complete;
|
||||
|
||||
public void transferInitiated( TransferEvent transferEvent )
|
||||
public void transferInitiated( ArtifactTransferEvent transferEvent )
|
||||
{
|
||||
super.transferInitiated( transferEvent );
|
||||
|
||||
complete = 0;
|
||||
}
|
||||
|
||||
public void transferProgress( TransferEvent transferEvent, byte[] buffer, int length )
|
||||
public void transferProgress( ArtifactTransferEvent transferEvent, byte[] buffer, int length )
|
||||
{
|
||||
long total = transferEvent.getResource().getContentLength();
|
||||
complete += length;
|
||||
|
@ -53,12 +52,12 @@ public class ConsoleDownloadMonitor
|
|||
if ( total >= 1024 )
|
||||
{
|
||||
System.out.print(
|
||||
( complete / 1024 ) + "/" + ( total == WagonConstants.UNKNOWN_LENGTH ? "?" : ( total / 1024 ) + "K" )
|
||||
( complete / 1024 ) + "/" + ( total == -1 ? "?" : ( total / 1024 ) + "K" )
|
||||
+ "\r" );
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.print( complete + "/" + ( total == WagonConstants.UNKNOWN_LENGTH ? "?" : total + "b" ) + "\r" );
|
||||
System.out.print( complete + "/" + ( total == -1 ? "?" : total + "b" ) + "\r" );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,92 +19,14 @@ package org.apache.maven.cli;
|
|||
*/
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.codehaus.plexus.PlexusContainer;
|
||||
import org.codehaus.plexus.classworlds.ClassWorld;
|
||||
import org.codehaus.plexus.logging.Logger;
|
||||
|
||||
/**
|
||||
* Default implementation of Configuration intefrace.
|
||||
*
|
||||
* @author mkleint
|
||||
*/
|
||||
public class DefaultConfiguration
|
||||
implements Configuration
|
||||
{
|
||||
private List<String> inactives;
|
||||
|
||||
private List<String> actives;
|
||||
|
||||
private File userSettings;
|
||||
|
||||
private File globalSettings;
|
||||
|
||||
private Properties systemProperties;
|
||||
|
||||
private List<URL> extensions = new ArrayList<URL>();
|
||||
|
||||
private Logger logger;
|
||||
|
||||
private ClassWorld classWorld;
|
||||
|
||||
private PlexusContainer parentContainer;
|
||||
|
||||
/** Creates a new instance of DefaultConfiguration */
|
||||
public DefaultConfiguration()
|
||||
{
|
||||
}
|
||||
|
||||
public Configuration addActiveProfile( String profile )
|
||||
{
|
||||
getActiveProfiles().add( profile );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public Configuration addInactiveProfile( String profile )
|
||||
{
|
||||
getInactiveProfiles().add( profile );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public Configuration addActiveProfiles( List<String> profiles )
|
||||
{
|
||||
getActiveProfiles().addAll( profiles );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public Configuration addInactiveProfiles( List<String> profiles )
|
||||
{
|
||||
getInactiveProfiles().addAll( profiles );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<String> getActiveProfiles()
|
||||
{
|
||||
if ( actives == null )
|
||||
{
|
||||
actives = new ArrayList<String>();
|
||||
}
|
||||
return actives;
|
||||
}
|
||||
|
||||
public List<String> getInactiveProfiles()
|
||||
{
|
||||
if ( inactives == null )
|
||||
{
|
||||
inactives = new ArrayList<String>();
|
||||
}
|
||||
return inactives;
|
||||
}
|
||||
|
||||
public Configuration setUserSettingsFile( File user )
|
||||
{
|
||||
userSettings = user;
|
||||
|
@ -126,66 +48,4 @@ public class DefaultConfiguration
|
|||
{
|
||||
return globalSettings;
|
||||
}
|
||||
|
||||
public Configuration setSystemProperties( Properties properties )
|
||||
{
|
||||
systemProperties = properties;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Properties getSystemProperties()
|
||||
{
|
||||
return systemProperties != null ? systemProperties : System.getProperties();
|
||||
}
|
||||
|
||||
public void addExtension( URL url )
|
||||
{
|
||||
extensions.add( url );
|
||||
}
|
||||
|
||||
public List<URL> getExtensions()
|
||||
{
|
||||
return extensions;
|
||||
}
|
||||
|
||||
public Configuration setMavenEmbedderLogger( Logger logger )
|
||||
{
|
||||
this.logger = logger;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Logger getMavenEmbedderLogger()
|
||||
{
|
||||
return logger;
|
||||
}
|
||||
|
||||
public ClassWorld getClassWorld()
|
||||
{
|
||||
return classWorld;
|
||||
}
|
||||
|
||||
public Configuration setClassWorld( ClassWorld classWorld )
|
||||
{
|
||||
this.classWorld = classWorld;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Configuration setClassLoader( ClassLoader loader )
|
||||
{
|
||||
classWorld = new ClassWorld( "plexus.core", loader );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public PlexusContainer getParentContainer()
|
||||
{
|
||||
return parentContainer;
|
||||
}
|
||||
|
||||
public Configuration setParentContainer( PlexusContainer parentContainer )
|
||||
{
|
||||
this.parentContainer = parentContainer;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -100,31 +100,6 @@ public class DefaultConfigurationValidationResult
|
|||
return isSettingsFilePresent( getUserSettings(), getUserSettingsException() );
|
||||
}
|
||||
|
||||
public void setGlobalSettingsFileParses( boolean globalSettingsFileParses )
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
public void setGlobalSettingsFilePresent( boolean globalSettingsFilePresent )
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
public void setUserSettingsFileParses( boolean userSettingsFileParses )
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
public void setUserSettingsFilePresent( boolean userSettingsFilePresent )
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
public void display()
|
||||
{
|
||||
// ignored
|
||||
}
|
||||
|
||||
private boolean isSettingsFilePresent( Settings settings, Throwable e )
|
||||
{
|
||||
return ( settings != null ) || ( ( e != null ) && !( e instanceof FileNotFoundException ) );
|
||||
|
|
|
@ -288,22 +288,6 @@ public class MavenCli
|
|||
logger.info( "Enabling strict checksum verification on all artifact downloads." );
|
||||
}
|
||||
|
||||
ConfigurationValidationResult cvr = validateConfiguration( configuration );
|
||||
|
||||
if ( cvr.isUserSettingsFilePresent() && !cvr.isUserSettingsFileParses() )
|
||||
{
|
||||
CLIReportingUtils.showError( logger, "Error reading user settings: ", cvr.getUserSettingsException(), showErrors );
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( cvr.isGlobalSettingsFilePresent() && !cvr.isGlobalSettingsFileParses() )
|
||||
{
|
||||
CLIReportingUtils.showError( logger, "Error reading global settings: ", cvr.getGlobalSettingsException(), showErrors );
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ( configuration.getGlobalSettingsFile() != null )
|
||||
{
|
||||
request.setGlobalSettingsFile( configuration.getGlobalSettingsFile() );
|
||||
|
@ -452,18 +436,9 @@ public class MavenCli
|
|||
globalSettingsFile = DEFAULT_GLOBAL_SETTINGS_FILE;
|
||||
}
|
||||
|
||||
Configuration configuration = new DefaultConfiguration().setUserSettingsFile( userSettingsFile ).setGlobalSettingsFile( globalSettingsFile );
|
||||
|
||||
if ( commandLine.hasOption( CLIManager.LOG_FILE ) )
|
||||
{
|
||||
File logFile = new File( commandLine.getOptionValue( CLIManager.LOG_FILE ) ).getAbsoluteFile();
|
||||
|
||||
configuration.setMavenEmbedderLogger( new FileLogger( logFile ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
configuration.setMavenEmbedderLogger( new ConsoleLogger( Logger.LEVEL_ERROR, Maven.class.getName()) );
|
||||
}
|
||||
Configuration configuration = new DefaultConfiguration()
|
||||
.setUserSettingsFile( userSettingsFile )
|
||||
.setGlobalSettingsFile( globalSettingsFile );
|
||||
|
||||
return configuration;
|
||||
}
|
||||
|
|
|
@ -1,105 +0,0 @@
|
|||
package org.apache.maven.cli;
|
||||
|
||||
/*
|
||||
* 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 junit.framework.TestCase;
|
||||
|
||||
import org.apache.maven.wagon.ConnectionException;
|
||||
import org.apache.maven.wagon.authentication.AuthenticationException;
|
||||
import org.apache.maven.wagon.events.TransferEvent;
|
||||
import org.apache.maven.wagon.providers.file.FileWagon;
|
||||
import org.apache.maven.wagon.repository.Repository;
|
||||
import org.apache.maven.wagon.resource.Resource;
|
||||
|
||||
/**
|
||||
* Test for {@link AbstractConsoleDownloadMonitor}
|
||||
*
|
||||
* @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
|
||||
* @version $Id$
|
||||
*/
|
||||
public abstract class AbstractConsoleDownloadMonitorTest
|
||||
extends TestCase
|
||||
{
|
||||
protected AbstractConsoleDownloadMonitor monitor;
|
||||
|
||||
public AbstractConsoleDownloadMonitor getMonitor()
|
||||
{
|
||||
return monitor;
|
||||
}
|
||||
|
||||
public void testTransferInitiated()
|
||||
throws Exception
|
||||
{
|
||||
monitor.transferInitiated( new TransferEventMock() );
|
||||
}
|
||||
|
||||
public void testTransferStarted()
|
||||
throws Exception
|
||||
{
|
||||
monitor.transferStarted( new TransferEventMock() );
|
||||
}
|
||||
|
||||
public void testTransferProgress()
|
||||
throws Exception
|
||||
{
|
||||
byte[] buffer = new byte[1000];
|
||||
monitor.transferProgress( new TransferEventMock(), buffer, 1000 );
|
||||
}
|
||||
|
||||
public void testTransferCompleted()
|
||||
throws Exception
|
||||
{
|
||||
monitor.transferCompleted( new TransferEventMock() );
|
||||
}
|
||||
|
||||
public void testTransferError()
|
||||
throws Exception
|
||||
{
|
||||
monitor.transferError( new TransferEventMock( new RuntimeException() ) );
|
||||
}
|
||||
|
||||
public void testDebug()
|
||||
throws Exception
|
||||
{
|
||||
monitor.debug( "msg" );
|
||||
}
|
||||
|
||||
private class TransferEventMock
|
||||
extends TransferEvent
|
||||
{
|
||||
public TransferEventMock()
|
||||
throws ConnectionException, AuthenticationException
|
||||
{
|
||||
super( new FileWagon(), new Resource(), TransferEvent.TRANSFER_INITIATED, TransferEvent.REQUEST_GET );
|
||||
getResource().setContentLength( 100000 );
|
||||
Repository repository = new Repository();
|
||||
getWagon().connect( repository );
|
||||
}
|
||||
|
||||
public TransferEventMock( Exception exception )
|
||||
throws ConnectionException, AuthenticationException
|
||||
{
|
||||
super( new FileWagon(), new Resource(), exception, TransferEvent.REQUEST_GET );
|
||||
getResource().setContentLength( 100000 );
|
||||
Repository repository = new Repository();
|
||||
getWagon().connect( repository );
|
||||
}
|
||||
}
|
||||
}
|
|
@ -37,6 +37,12 @@ under the License.
|
|||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-compat</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>wagon-provider-api</artifactId>
|
||||
<groupId>org.apache.maven.wagon</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.plexus</groupId>
|
||||
|
|
Loading…
Reference in New Issue