Fix directory separator problem in FilterResourcesStepTest.
Summary:
In `FilterResourcesStep` a regular expression is used to replace string pattern,
where `/` is matched. We need to replace `\` on Windows with `/`.
Test Plan: Unit tests.
diff --git a/src/com/facebook/buck/android/FilterResourcesStep.java b/src/com/facebook/buck/android/FilterResourcesStep.java
index e7eb5d7..181cde0 100644
--- a/src/com/facebook/buck/android/FilterResourcesStep.java
+++ b/src/com/facebook/buck/android/FilterResourcesStep.java
@@ -24,6 +24,7 @@
import com.facebook.buck.util.FilteredDirectoryCopier;
import com.facebook.buck.util.Filters;
import com.facebook.buck.util.HumanReadableException;
+import com.facebook.buck.util.Paths;
import com.facebook.buck.util.ProjectFilesystem;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
@@ -232,7 +233,8 @@
@Override
public void visit(File file, String relativePath) {
if (DRAWABLE_PATH_PATTERN.matcher(relativePath).matches()) {
- drawableBuilder.add(file.getPath());
+ // The path is normalized so that the value can be matched against patterns.
+ drawableBuilder.add(Paths.normalizePathSeparator(file.getPath()));
}
}
}.traverse();
diff --git a/test/com/facebook/buck/android/FilterResourcesStepTest.java b/test/com/facebook/buck/android/FilterResourcesStepTest.java
index a4e7769..737fee2 100644
--- a/test/com/facebook/buck/android/FilterResourcesStepTest.java
+++ b/test/com/facebook/buck/android/FilterResourcesStepTest.java
@@ -22,6 +22,7 @@
import com.facebook.buck.step.ExecutionContext;
import com.facebook.buck.util.FilteredDirectoryCopier;
import com.facebook.buck.util.Filters;
+import com.facebook.buck.util.Paths;
import com.facebook.buck.util.ProcessExecutor;
import com.facebook.buck.util.ProjectFilesystem;
import com.facebook.buck.util.Verbosity;
@@ -55,7 +56,8 @@
private final String scaleDest = getFile(first, "mdpi", "other.png");
private String getFile(String dir, String qualifier, String filename) {
- return new File(dir, String.format("drawable-%s/%s", qualifier, filename)).getPath();
+ return Paths.normalizePathSeparator(
+ new File(dir, String.format("drawable-%s/%s", qualifier, filename)).getPath());
}
@Test