Temporary fix for debugshrink builds.
diff --git a/src/com/facebook/buck/android/SplitZipStep.java b/src/com/facebook/buck/android/SplitZipStep.java index 637b77b..a6be727 100644 --- a/src/com/facebook/buck/android/SplitZipStep.java +++ b/src/com/facebook/buck/android/SplitZipStep.java
@@ -43,6 +43,7 @@ import java.nio.file.Path; import java.util.Collection; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; @@ -248,8 +249,16 @@ return Functions.identity(); } - Map<String, String> rawProguardMap = ProguardMapping.readClassMapping( - context.getProjectFilesystem().readLines(proguardMappingFile.get())); + ProjectFilesystem projectFilesystem = context.getProjectFilesystem(); + Path pathToProguardMappingFile = proguardMappingFile.get(); + // Proguard doesn't print a mapping when obfuscation is disabled. + // TODO(user): Make sure obfuscation was disabled. + if (!projectFilesystem.exists(pathToProguardMappingFile.toString())) { + return Functions.identity(); + } + + List<String> lines = projectFilesystem.readLines(pathToProguardMappingFile); + Map<String, String> rawProguardMap = ProguardMapping.readClassMapping(lines); ImmutableMap.Builder<String, String> internalNameBuilder = ImmutableMap.builder(); for (Map.Entry<String, String> entry : rawProguardMap.entrySet()) {
diff --git a/test/com/facebook/buck/android/SplitZipStepTest.java b/test/com/facebook/buck/android/SplitZipStepTest.java index 13a5b9c..17e1b4b 100644 --- a/test/com/facebook/buck/android/SplitZipStepTest.java +++ b/test/com/facebook/buck/android/SplitZipStepTest.java
@@ -191,6 +191,8 @@ ProjectFilesystem projectFilesystem = EasyMock.createMock(ProjectFilesystem.class); EasyMock.expect(projectFilesystem.readLines(primaryDexClassesFile)) .andReturn(linesInManifestFile); + EasyMock.expect(projectFilesystem.exists(proguardMappingFile.toString())) + .andReturn(true); EasyMock.expect(projectFilesystem.readLines(proguardMappingFile)) .andReturn(linesInMappingFile); ExecutionContext context = EasyMock.createMock(ExecutionContext.class);