Merge "Compile okhttp for host"
diff --git a/Android.bp b/Android.bp
index 011ba4e..4538995 100644
--- a/Android.bp
+++ b/Android.bp
@@ -57,30 +57,46 @@
 
 java_library {
     name: "okhttp",
+    host_supported: true,
     visibility: [
         "//art/build/apex",
         "//external/robolectric-shadows",
         "//libcore",
     ],
-    srcs: [
-        // Although some of the classes in the android/ directory are already in the correct
-        // package and do not need to be moved to another package they are transformed as they
-        // reference other classes that do require repackaging.
-        "repackaged/android/src/main/java/**/*.java",
-        "repackaged/okhttp/src/main/java/**/*.java",
-        "repackaged/okhttp-urlconnection/src/main/java/**/*.java",
-        "repackaged/okhttp-android-support/src/main/java/**/*.java",
-        "repackaged/okio/okio/src/main/java/**/*.java",
-    ],
+    target: {
+        android: {
+            srcs: [
+                // Although some of the classes in the android/ directory are already in the correct
+                // package and do not need to be moved to another package they are transformed as they
+                // reference other classes that do require repackaging.
+                "repackaged/android/src/main/java/**/*.java",
+                "repackaged/okhttp/src/main/java/**/*.java",
+                "repackaged/okhttp-urlconnection/src/main/java/**/*.java",
+                "repackaged/okhttp-android-support/src/main/java/**/*.java",
+                "repackaged/okio/okio/src/main/java/**/*.java",
+            ],
+            libs: [
+                "conscrypt.module.intra.core.api",
+            ],
+        },
+        host: {
+            srcs: [
+                "okhttp/src/main/java/**/*.java",
+                "okhttp-urlconnection/src/main/java/**/*.java",
+                "okio/okio/src/main/java/**/*.java",
+                ":okhttp_version.java",
+            ],
+            libs: [
+                "okhttp-android-util-log",
+            ],
+        },
+    },
 
     hostdex: true,
     installable: true,
 
-    sdk_version: "none",
     system_modules: "core-all-system-modules",
-    libs: [
-        "conscrypt.module.intra.core.api",
-    ],
+    sdk_version: "none",
     java_version: "1.7",
     apex_available: [
         "com.android.art.debug",
@@ -88,6 +104,28 @@
     ],
 }
 
+// Generate Version.java based on the version number from pom.xml.
+genrule {
+    name: "okhttp_version.java",
+    srcs: [
+        "okhttp/src/main/java-templates/com/squareup/okhttp/internal/Version.java",
+        "okhttp/pom.xml",
+    ],
+    out: ["com/squareup/okhttp/internal/Version.java"],
+    cmd: "grep \"<version>\" $(location okhttp/pom.xml) | head -1 |" +
+        " sed -e \"s/\\s*<version>\\(.*\\)<\\/version>/\\1/\" > $(genDir)/version && " +
+        "sed -e \"s/\\$${project.version}/$$(cat $(genDir)/version)/\" " +
+        " $(location okhttp/src/main/java-templates/com/squareup/okhttp/internal/Version.java) " +
+        "> $(out)",
+}
+
+// A library to provide a stub android.util.Log symbol for
+// okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java
+java_library_host {
+    name: "okhttp-android-util-log",
+    srcs: ["okhttp-android-util-log/src/main/java/**/*.java"],
+}
+
 java_library {
     name: "okhttp-tests-nojarjar",
     visibility: nojarjar_visibility,
diff --git a/okhttp-android-util-log/src/main/java/android/util/Log.java b/okhttp-android-util-log/src/main/java/android/util/Log.java
new file mode 100644
index 0000000..d2d4f55
--- /dev/null
+++ b/okhttp-android-util-log/src/main/java/android/util/Log.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package android.util;
+
+public final class Log {
+
+private Log() { throw new RuntimeException("Stub!"); }
+
+public static int d(java.lang.String tag, java.lang.String msg) { throw new RuntimeException("Stub!"); }
+}
+