implement retry in rimraf

This commit is contained in:
Joao Moreno
2016-07-19 14:54:38 +02:00
parent e50fe199a4
commit 1db12a0c45
+13 -1
View File
@@ -241,7 +241,19 @@ exports.loadSourcemaps = () => {
return es.duplex(input, output); return es.duplex(input, output);
}; };
exports.rimraf = dir => cb => rimraf(dir, { maxBusyTries: 1 }, cb); exports.rimraf = dir => {
let retries = 0;
const retry = cb => {
rimraf(dir, { maxBusyTries: 1 }, err => {
if (!err) return cb();
if (err.code === 'ENOTEMPTY' && ++retries < 5) return setTimeout(() => retry(cb), 10);
else return cb(err);
});
};
return cb => retry(cb);
};
exports.getVersion = root => { exports.getVersion = root => {
let version = process.env['BUILD_SOURCEVERSION']; let version = process.env['BUILD_SOURCEVERSION'];