in archiva-artifact-downloader-cli/src/main/java/org/apache/archiva/artifact/downloader/Downloader.java [113:156]
private void downloadFromAllRepos( ArtifactKey key )
throws TransferException, IOException, URISyntaxException
{
LayoutUtil layout = new LayoutUtil( this.config );
List<DownloadTask> downloadTasks;
Transfer transfer;
TransferDownloader transferDownloader;
for ( Repository repository : config.getRepositories() )
{
transfer = TransferFactory.getTransfer( repository.getRootUri() );
System.out.println( "URI: " + repository.getRootUri().toASCIIString() );
transferDownloader = transfer.getDownloader( repository.getRootUri() );
downloadTasks = createDownloadTasks( layout, repository, key );
for ( DownloadTask task : downloadTasks )
{
if ( task.localFile.exists() )
{
System.out.println( "Task Skipped (local file exists): " + task.localFile.getAbsolutePath() );
continue;
}
File tmpFile = File.createTempFile( "artifact-download.", ".dat" );
try
{
transferDownloader.download( task.remoteRepoRelURI, tmpFile );
if ( tmpFile.exists() && tmpFile.length() > 0 )
{
System.out.println( "Successful Transfer: " + task.localFile );
FileUtils.copyFile( tmpFile, task.localFile );
}
}
catch ( TransferException e )
{
System.out.println( "Transfer Warning: " + e.getMessage() );
}
finally
{
tmpFile.delete();
}
}
}
}