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
})
for (const p of await globber.glob()) {
cacheDebug(`Deleting wrapper zip: ${p}`)
tryDelete(p)
for (const wrapperZip of await globber.glob()) {
cacheDebug(`Deleting wrapper zip: ${wrapperZip}`)
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> {
const maxAttempts = 5
const stat = fs.lstatSync(file)
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
if (!fs.existsSync(file)) {
return
}
try {
const stat = fs.lstatSync(file)
if (stat.isDirectory()) {
fs.rmdirSync(file, {recursive: true})
} else {