diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/repository/HttpDownloader.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/HttpDownloader.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/HttpDownloader.java index 9dd29aeba5..56f7d33bcc 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/repository/HttpDownloader.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/HttpDownloader.java @@ -73,6 +73,15 @@ public class HttpDownloader { } Path destination = outputDirectory.getRelative(filename); + try { + String currentSha256 = getHash(Hashing.sha256().newHasher(), destination); + if (currentSha256.equals(sha256)) { + // No need to download. + return destination; + } + } catch (IOException e) { + // Ignore error trying to hash. We'll just download again. + } int currentBytes; final AtomicInteger totalBytes = new AtomicInteger(0); final ScheduledFuture<?> loggerHandle = getLoggerHandle(totalBytes); |