Make main dex list parsing more tolerant

I.e. ignore:
- Trailing and leading withespaces.
- Empty lines.

Change-Id: I71d015c9a56cd436b07597297023ada53c2d1207
diff --git a/src/main/java/com/android/tools/r8/utils/MainDexList.java b/src/main/java/com/android/tools/r8/utils/MainDexList.java
index 826901a..6862580 100644
--- a/src/main/java/com/android/tools/r8/utils/MainDexList.java
+++ b/src/main/java/com/android/tools/r8/utils/MainDexList.java
@@ -47,7 +47,10 @@
           new BufferedReader(new InputStreamReader(input, StandardCharsets.UTF_8));
       String line;
       while ((line = file.readLine()) != null) {
-        result.add(parse(line, itemFactory));
+        line = line.trim();
+        if (line.length() > 0) {
+          result.add(parse(line, itemFactory));
+        }
       }
     } catch (IOException e) {
       throw new CompilationError("Cannot load main-dex-list.");
diff --git a/src/test/java/com/android/tools/r8/maindexlist/MainDexListTests.java b/src/test/java/com/android/tools/r8/maindexlist/MainDexListTests.java
index b0a683a..ed19b8e 100644
--- a/src/test/java/com/android/tools/r8/maindexlist/MainDexListTests.java
+++ b/src/test/java/com/android/tools/r8/maindexlist/MainDexListTests.java
@@ -232,6 +232,20 @@
   }
 
   @Test
+  public void validList() throws IOException {
+    List<String> list = ImmutableList.of(
+        "A.class ",
+        " a/b/c/D.class",
+        ""
+    );
+    DexItemFactory factory = new DexItemFactory();
+    Path mainDexList = temp.getRoot().toPath().resolve("valid.txt");
+    FileUtils.writeTextFile(mainDexList, list);
+    Set<DexType> types = MainDexList.parse(mainDexList, factory);
+    assertEquals(2, types.size());
+  }
+
+  @Test
   public void invalidQualifiedEntry() throws IOException {
     thrown.expect(CompilationError.class);
     DexItemFactory factory = new DexItemFactory();