diff options
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/ScopedTemporaryDirectory.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/ScopedTemporaryDirectory.java b/src/tools/android/java/com/google/devtools/build/android/ScopedTemporaryDirectory.java index 684e5a5919..4f6ba1e812 100644 --- a/src/tools/android/java/com/google/devtools/build/android/ScopedTemporaryDirectory.java +++ b/src/tools/android/java/com/google/devtools/build/android/ScopedTemporaryDirectory.java @@ -20,6 +20,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; +import java.nio.file.attribute.DosFileAttributeView; /** * Creates a temporary directory that will be deleted once a scope closes. NOTE: If an error occurs @@ -39,6 +40,12 @@ final class ScopedTemporaryDirectory extends SimpleFileVisitor<Path> implements @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + // Make the file deletable on Windows. + // Setting this attribute on other platforms than Windows has no effect. + DosFileAttributeView dosAttribs = Files.getFileAttributeView(path, DosFileAttributeView.class); + if (dosAttribs != null) { + dosAttribs.setReadOnly(false); + } Files.delete(file); return FileVisitResult.CONTINUE; } |