private void download()

in src/main/java/S3Downloader.java [63:95]


    private void download(TaskListener listener, BuildArtifacts buildArtifact, String artifactRoot) {
        if (buildArtifact == null
                || buildArtifact.getLocation() == null
                || buildArtifact.getLocation().isEmpty()
                || artifactRoot == null) {
            return;
        }

        String s3Bucket = Utils.getS3BucketFromObjectArn(buildArtifact.getLocation());
        String keyPrefix = Utils.getS3KeyFromObjectArn(buildArtifact.getLocation());
        Transfer transfer;
        try {
            if (buildArtifact.getSha256sum() != null && !buildArtifact.getSha256sum().isEmpty()) {
                // Download single zip file
                File file = new File(artifactRoot + File.separatorChar + keyPrefix);
                LoggingHelper.log(listener, "Downloading artifact from location '" + buildArtifact.getLocation() + "' to path:" + file.getAbsolutePath());
                Utils.ensureFileExists(file);
                transfer = transferManager.download(s3Bucket, keyPrefix, file);
            } else {
                // Download entire directory content
                File file = new File(artifactRoot);
                LoggingHelper.log(listener, "Downloading artifact from location '" + buildArtifact.getLocation() + "' to path:" + file.getAbsolutePath());
                transfer = transferManager.downloadDirectory(s3Bucket, keyPrefix, file);
            }
            transfer.waitForCompletion();
        } catch (AmazonServiceException e) {
            LoggingHelper.log(listener, "Download failed:" + e.getMessage());
        } catch (InterruptedException e) {
            LoggingHelper.log(listener, "Download failed:" + e.getMessage());
        } catch (IOException e) {
            LoggingHelper.log(listener, e.getMessage());
        }
    }