aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/android/java/com')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/ScopedTemporaryDirectory.java7
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;
}