Don't fail if the file-to-delete no longer exists

Fixes #308
This commit is contained in:
Daz DeBoer 2022-06-06 15:30:51 -06:00
parent 7a15005377
commit 93c31ca3b5
No known key found for this signature in database
GPG Key ID: DD6B9F0B06683D5D
2 changed files with 7 additions and 4 deletions

View File

@ -312,9 +312,9 @@ export class GradleHomeEntryExtractor extends AbstractEntryExtractor {
followSymbolicLinks: false followSymbolicLinks: false
}) })
for (const p of await globber.glob()) { for (const wrapperZip of await globber.glob()) {
cacheDebug(`Deleting wrapper zip: ${p}`) cacheDebug(`Deleting wrapper zip: ${wrapperZip}`)
tryDelete(p) await tryDelete(wrapperZip)
} }
} }

View File

@ -198,9 +198,12 @@ export function handleCacheFailure(error: unknown, message: string): void {
*/ */
export async function tryDelete(file: string): Promise<void> { export async function tryDelete(file: string): Promise<void> {
const maxAttempts = 5 const maxAttempts = 5
const stat = fs.lstatSync(file)
for (let attempt = 1; attempt <= maxAttempts; attempt++) { for (let attempt = 1; attempt <= maxAttempts; attempt++) {
if (!fs.existsSync(file)) {
return
}
try { try {
const stat = fs.lstatSync(file)
if (stat.isDirectory()) { if (stat.isDirectory()) {
fs.rmdirSync(file, {recursive: true}) fs.rmdirSync(file, {recursive: true})
} else { } else {