Merge "Add Proguard 6.0 to third_party"
diff --git a/build.gradle b/build.gradle
index 9b8d59b..f857f9e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -300,6 +300,7 @@
                 "android_jar/lib-v25",
                 "android_jar/lib-v26",
                 "proguard/proguard5.2.1",
+                "proguard/proguard6.0",
                 "gradle/gradle",
                 "jdwp-tests",
                 "jasmin",
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index cc325e2..af7f054 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -90,7 +90,9 @@
   private static final String ANDROID_JAR_PATTERN = "third_party/android_jar/lib-v%d/android.jar";
   private static final AndroidApiLevel DEFAULT_MIN_SDK = AndroidApiLevel.I;
 
-  private static final String PROGUARD = "third_party/proguard/proguard5.2.1/bin/proguard.sh";
+  private static final String PROGUARD5_2_1 = "third_party/proguard/proguard5.2.1/bin/proguard.sh";
+  private static final String PROGUARD6_0 = "third_party/proguard/proguard6.0/bin/proguard.sh";
+  private static final String PROGUARD = PROGUARD5_2_1;
 
   public enum DexVm {
     ART_4_0_4_TARGET(Version.V4_0_4, Kind.TARGET),
diff --git a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
index 085e46c..cfbfa84 100644
--- a/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/forceproguardcompatibility/ForceProguardCompatibilityTest.java
@@ -296,9 +296,12 @@
           ImmutableList.of(mainClass, forNameClass1, forNameClass2)),
           proguardedJar, proguardConfigFile);
       Set<String> classesAfterProguard = readClassesInJar(proguardedJar);
+      assertEquals(3, classesAfterProguard.size());
       assertTrue(classesAfterProguard.contains(mainClass.getCanonicalName()));
-      assertTrue(classesAfterProguard.contains(forNameClass1.getCanonicalName()));
-      assertTrue(classesAfterProguard.contains(forNameClass2.getCanonicalName()));
+      if (!allowObfuscation) {
+        assertTrue(classesAfterProguard.contains(forNameClass1.getCanonicalName()));
+        assertTrue(classesAfterProguard.contains(forNameClass2.getCanonicalName()));
+      }
     }
   }
 
diff --git a/src/test/java/com/android/tools/r8/shaking/includedescriptorclasses/IncludeDescriptorClassesTest.java b/src/test/java/com/android/tools/r8/shaking/includedescriptorclasses/IncludeDescriptorClassesTest.java
index 16545bd..ca3fd2a 100644
--- a/src/test/java/com/android/tools/r8/shaking/includedescriptorclasses/IncludeDescriptorClassesTest.java
+++ b/src/test/java/com/android/tools/r8/shaking/includedescriptorclasses/IncludeDescriptorClassesTest.java
@@ -11,18 +11,15 @@
 import com.android.tools.r8.ToolHelper;
 import com.android.tools.r8.utils.DexInspector;
 import com.google.common.collect.ImmutableList;
-import java.io.IOException;
 import java.nio.file.Path;
 import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
 import org.junit.Test;
 
 public class IncludeDescriptorClassesTest extends TestBase {
+  // Actually running Proguard should only be during development.
+  private final boolean RUN_PROGUARD = false;
 
   private class Result {
     final DexInspector inspector;
@@ -75,8 +72,8 @@
 
     Set<String> classesAfterProguard = null;
     // Actually running Proguard should only be during development.
-    if (false) {
-      Path proguardedJar = temp.newFile("proguarded.jar").toPath();
+    if (RUN_PROGUARD) {
+      Path proguardedJar = temp.newFolder().toPath().resolve("proguarded.jar");
       ToolHelper.runProguard(jarTestClasses(classes), proguardedJar, proguardConfig);
       classesAfterProguard = readClassesInJar(proguardedJar);
     }
diff --git a/third_party/proguard/README.google b/third_party/proguard/README.google
index 4dc91ad..4f85601 100644
--- a/third_party/proguard/README.google
+++ b/third_party/proguard/README.google
@@ -1,7 +1,8 @@
 URL: https://sourceforge.net/projects/proguard/files/proguard/5.2/
-Version: 5.2.1
+URL: https://sourceforge.net/projects/proguard/files/proguard/6.0/
+Version: 5.2.1, 6.0
 License: GPL
-License File: docs/license.html
+License File: proguard5.2.1/docs/license.html, proguard6.0/docs/license.html
 
 Description:
 ProGuard Java Optimizer and Obfuscator
diff --git a/third_party/proguard/proguard6.0.tar.gz.sha1 b/third_party/proguard/proguard6.0.tar.gz.sha1
new file mode 100644
index 0000000..4596bc8
--- /dev/null
+++ b/third_party/proguard/proguard6.0.tar.gz.sha1
@@ -0,0 +1 @@
+57d0702f38196c81ff506d2e34a4a5569c3af583
\ No newline at end of file