Move kotlinc dependencies into a single folder

Change-Id: I42f7590eab76095bf7f6fbf9f3905bfe10106de8
diff --git a/.gitignore b/.gitignore
index 5885615..85a247f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,10 +92,10 @@
 third_party/jsr223-api-1.0.tar.gz
 third_party/junit
 third_party/junit.tar.gz
-third_party/kotlin
-third_party/kotlin-compiler-1.3.41
-third_party/kotlin-compiler-1.3.41.tar.gz
-third_party/kotlin.tar.gz
+third_party/kotlin/kotlin-compiler-1.3.11.tar.gz
+third_party/kotlin/kotlin-compiler-1.3.11
+third_party/kotlin/kotlin-compiler-1.3.41.tar.gz
+third_party/kotlin/kotlin-compiler-1.3.41
 third_party/nest/*
 third_party/openjdk/desugar_jdk_libs
 third_party/openjdk/desugar_jdk_libs.tar.gz
diff --git a/build.gradle b/build.gradle
index 8d1eb6b..c90b1c5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -324,8 +324,8 @@
                 "jsr223-api-1.0",
                 "rhino-1.7.10",
                 "rhino-android-1.1.1",
-                "kotlin",
-                "kotlin-compiler-1.3.41",
+                "kotlin/kotlin-compiler-1.3.11",
+                "kotlin/kotlin-compiler-1.3.41",
                 "openjdk/openjdk-rt-1.8",
                 "openjdk/desugar_jdk_libs",
                 "openjdk/jdk-11-test",
@@ -1134,7 +1134,7 @@
     }
     def kotlinResourcesDir = file("src/test/debugTestResourcesKotlin")
     def kotlinHostJar = "debug_test_resources_kotlin.jar"
-    task "jar_debugTestResourcesKotlin"(type: kotlin.Kotlinc) {
+    task "jar_debugTestResourcesKotlin"(type: kotlin.Kotlinc, dependsOn: downloadDeps) {
         source = fileTree(dir: kotlinResourcesDir, include: '**/*.kt')
         destination = file("build/test/${kotlinHostJar}")
     }
diff --git a/buildSrc/src/main/java/kotlin/Kotlinc.java b/buildSrc/src/main/java/kotlin/Kotlinc.java
index 68924ae..9c29870 100644
--- a/buildSrc/src/main/java/kotlin/Kotlinc.java
+++ b/buildSrc/src/main/java/kotlin/Kotlinc.java
@@ -28,8 +28,9 @@
       ? "kotlinc.bat"
       : "kotlinc";
 
-  private static final Path kotlincExecPath = Paths
-      .get("third_party", "kotlin", "kotlinc", "bin", kotlincExecName);
+  private static final Path kotlincExecPath =
+      Paths.get(
+          "third_party", "kotlin", "kotlin-compiler-1.3.11", "kotlinc", "bin", kotlincExecName);
 
   enum KotlinTargetVersion {
     JAVA_6("1.6"),
diff --git a/src/test/java/com/android/tools/r8/KotlinCompilerTool.java b/src/test/java/com/android/tools/r8/KotlinCompilerTool.java
index ff795bc..0094983 100644
--- a/src/test/java/com/android/tools/r8/KotlinCompilerTool.java
+++ b/src/test/java/com/android/tools/r8/KotlinCompilerTool.java
@@ -43,7 +43,13 @@
   public static KotlinCompiler KOTLINC =
       new KotlinCompiler(
           "kotlinc",
-          Paths.get(ToolHelper.THIRD_PARTY_DIR, "kotlin", "kotlinc", "lib", "kotlin-compiler.jar"));
+          Paths.get(
+              ToolHelper.THIRD_PARTY_DIR,
+              "kotlin",
+              "kotlin-compiler-1.3.11",
+              "kotlinc",
+              "lib",
+              "kotlin-compiler.jar"));
 
   private final CfRuntime jdk;
   private final TestState state;
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index 8419c3d..74c0649 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -134,13 +134,17 @@
   public static final String RHINO_ANDROID_JAR =
       "third_party/rhino-android-1.1.1/rhino-android-1.1.1.jar";
   public static final String RHINO_JAR = "third_party/rhino-1.7.10/rhino-1.7.10.jar";
-  static final String KT_PRELOADER = "third_party/kotlin/kotlinc/lib/kotlin-preloader.jar";
-  public static final String KT_COMPILER = "third_party/kotlin/kotlinc/lib/kotlin-compiler.jar";
+  static final String KT_PRELOADER =
+      "third_party/kotlin/kotlin-compiler-1.3.11/kotlinc/lib/kotlin-preloader.jar";
+  public static final String KT_COMPILER =
+      "third_party/kotlin/kotlin-compiler-1.3.11/kotlinc/lib/kotlin-compiler.jar";
   public static final String K2JVMCompiler = "org.jetbrains.kotlin.cli.jvm.K2JVMCompiler";
-  public static final String KT_STDLIB = "third_party/kotlin/kotlinc/lib/kotlin-stdlib.jar";
-  public static final String KT_REFLECT = "third_party/kotlin/kotlinc/lib/kotlin-reflect.jar";
+  public static final String KT_STDLIB =
+      "third_party/kotlin/kotlin-compiler-1.3.11/kotlinc/lib/kotlin-stdlib.jar";
+  public static final String KT_REFLECT =
+      "third_party/kotlin/kotlin-compiler-1.3.11/kotlinc/lib/kotlin-reflect.jar";
   public static final String KT_SCRIPT_RT =
-      "third_party/kotlin/kotlinc/lib/kotlin-script-runtime.jar";
+      "third_party/kotlin/kotlin-compiler-1.3.11/kotlinc/lib/kotlin-script-runtime.jar";
   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;
 
diff --git a/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java b/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java
index 96ae9d6..ae1c81c 100644
--- a/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java
+++ b/src/test/java/com/android/tools/r8/debug/KotlinStdLibCompilationTest.java
@@ -13,8 +13,6 @@
 import com.android.tools.r8.TestParametersBuilder;
 import com.android.tools.r8.TestParametersCollection;
 import com.android.tools.r8.ToolHelper;
-import java.nio.file.Path;
-import java.nio.file.Paths;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
@@ -23,14 +21,6 @@
 @RunWith(Parameterized.class)
 public class KotlinStdLibCompilationTest extends TestBase {
 
-  private static final Path KOTLIN_STDLIB =
-      Paths.get(
-          ToolHelper.THIRD_PARTY_DIR,
-          "kotlin-compiler-1.3.41",
-          "kotlinc",
-          "lib",
-          "kotlin-stdlib.jar");
-
   private final TestParameters parameters;
 
   @Parameters(name = "{0}")
@@ -46,7 +36,7 @@
   public void testD8() throws CompilationFailedException {
     assumeTrue(parameters.isDexRuntime());
     testForD8()
-        .addProgramFiles(KOTLIN_STDLIB)
+        .addProgramFiles(ToolHelper.getKotlinStdlibJar())
         .setMinApi(parameters.getApiLevel())
         .compileWithExpectedDiagnostics(TestDiagnosticMessages::assertNoMessages);
   }
@@ -54,7 +44,7 @@
   @Test
   public void testR8() throws CompilationFailedException {
     testForR8(parameters.getBackend())
-        .addProgramFiles(KOTLIN_STDLIB)
+        .addProgramFiles(ToolHelper.getKotlinStdlibJar())
         .noMinification()
         .noTreeShaking()
         .addKeepAllAttributes()
diff --git a/third_party/kotlin-compiler-1.3.41.tar.gz.sha1 b/third_party/kotlin-compiler-1.3.41.tar.gz.sha1
deleted file mode 100644
index 0e0fc13..0000000
--- a/third_party/kotlin-compiler-1.3.41.tar.gz.sha1
+++ /dev/null
@@ -1 +0,0 @@
-af4830da8231a4ac4e900810bd3a100e7244b7d5
\ No newline at end of file
diff --git a/third_party/kotlin.tar.gz.sha1 b/third_party/kotlin.tar.gz.sha1
deleted file mode 100644
index df6fec5..0000000
--- a/third_party/kotlin.tar.gz.sha1
+++ /dev/null
@@ -1 +0,0 @@
-2675c63602dda3117651858e6a7cd63e432a8a1c
\ No newline at end of file
diff --git a/third_party/kotlin/kotlin-compiler-1.3.11.tar.gz.sha1 b/third_party/kotlin/kotlin-compiler-1.3.11.tar.gz.sha1
new file mode 100644
index 0000000..05e8466
--- /dev/null
+++ b/third_party/kotlin/kotlin-compiler-1.3.11.tar.gz.sha1
@@ -0,0 +1 @@
+b3ce5c6ba25ebbbbf62a49be56aad845eabae860
\ No newline at end of file
diff --git a/third_party/kotlin/kotlin-compiler-1.3.41.tar.gz.sha1 b/third_party/kotlin/kotlin-compiler-1.3.41.tar.gz.sha1
new file mode 100644
index 0000000..e9de3b3
--- /dev/null
+++ b/third_party/kotlin/kotlin-compiler-1.3.41.tar.gz.sha1
@@ -0,0 +1 @@
+8d2ddeeaaf4366a419627a31ef3276a6f96afe40
\ No newline at end of file