Skip to content

Commit 4b94b07

Browse files
author
Carroll Chiou
authored
Merge pull request #125 from sboardwell/JENKINS-69573
[JENKINS-69573] Delete `versionCacheDir` if retrieve fails
2 parents 1759452 + c259846 commit 4b94b07

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/main/java/org/jenkinsci/plugins/workflow/libs/LibraryAdder.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,14 @@ static List<URL> retrieve(@NonNull LibraryRecord record, @NonNull LibraryRetriev
244244
if (retrieve) {
245245
listener.getLogger().println("Caching library " + name + "@" + version);
246246
versionCacheDir.mkdirs();
247-
retriever.retrieve(name, version, changelog, versionCacheDir, run, listener);
247+
// try to retrieve the library and delete the versionCacheDir if it fails
248+
try {
249+
retriever.retrieve(name, version, changelog, versionCacheDir, run, listener);
250+
} catch (Exception e) {
251+
listener.getLogger().println("Failed to cache library " + name + "@" + version + ". Error message: " + e.getMessage() + ". Cleaning up cache directory.");
252+
versionCacheDir.deleteRecursive();
253+
throw e;
254+
}
248255
}
249256
retrieveLock.readLock().lock();
250257
} finally {
@@ -416,4 +423,4 @@ static String className(String groovy, String root) {
416423

417424
}
418425

419-
}
426+
}

0 commit comments

Comments
 (0)