Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 1 | // |
| 2 | // Copyright (C) 2012 The Android Open Source Project |
| 3 | // |
| 4 | // Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | // you may not use this file except in compliance with the License. |
| 6 | // You may obtain a copy of the License at |
| 7 | // |
| 8 | // http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | // |
| 10 | // Unless required by applicable law or agreed to in writing, software |
| 11 | // distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | // See the License for the specific language governing permissions and |
| 14 | // limitations under the License. |
| 15 | // |
| 16 | |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 17 | package { |
| 18 | default_visibility: ["//visibility:private"], |
Bob Badour | a16c37e | 2021-02-12 18:10:09 -0800 | [diff] [blame] | 19 | default_applicable_licenses: ["external_okhttp_license"], |
| 20 | } |
| 21 | |
| 22 | // Added automatically by a large-scale-change |
| 23 | // See: http://go/android-license-faq |
| 24 | license { |
| 25 | name: "external_okhttp_license", |
| 26 | visibility: [":__subpackages__"], |
| 27 | license_kinds: [ |
| 28 | "SPDX-license-identifier-Apache-2.0", |
| 29 | ], |
| 30 | license_text: [ |
| 31 | "LICENSE.txt", |
| 32 | ], |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 33 | } |
| 34 | |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 35 | // The source files that contribute to Android's core library APIs. |
| 36 | filegroup { |
| 37 | name: "okhttp_api_files", |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 38 | visibility: ["//libcore"], |
Paul Duffin | aa7ed34 | 2018-11-13 14:51:39 +0000 | [diff] [blame] | 39 | // Use the repackaged version of android as that is what is used by Android core library |
| 40 | // APIs. |
| 41 | srcs: ["repackaged/android/src/main/java/com/android/okhttp/internalandroidapi/**/*.java"], |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 42 | } |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 43 | |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 44 | nojarjar_visibility = [ |
Paul Duffin | 3fd3830 | 2020-01-13 16:48:51 +0000 | [diff] [blame] | 45 | "//art/build/sdk", |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 46 | "//cts/tests/libcore/okhttp", |
| 47 | ] |
| 48 | |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 49 | // non-jarjar'd version of okhttp to compile the tests against |
| 50 | java_library { |
| 51 | name: "okhttp-nojarjar", |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 52 | visibility: nojarjar_visibility, |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 53 | srcs: [ |
Paul Duffin | 8474608 | 2018-11-13 11:45:44 +0000 | [diff] [blame] | 54 | "android/src/main/java/**/*.java", |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 55 | "okhttp/src/main/java/**/*.java", |
| 56 | "okhttp-urlconnection/src/main/java/**/*.java", |
| 57 | "okhttp-android-support/src/main/java/**/*.java", |
| 58 | "okio/okio/src/main/java/**/*.java", |
| 59 | ], |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 60 | exclude_srcs: ["okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java"], |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 61 | |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 62 | hostdex: true, |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 63 | |
Paul Duffin | 9b9fc8e | 2019-06-12 11:07:55 +0100 | [diff] [blame] | 64 | sdk_version: "none", |
Paul Duffin | 6461a1b | 2019-09-20 14:43:56 +0100 | [diff] [blame] | 65 | system_modules: "core-all-system-modules", |
Neil Fuller | 4c219c6 | 2018-10-04 13:11:17 +0100 | [diff] [blame] | 66 | libs: [ |
Paul Duffin | 30474ef | 2020-04-08 13:55:30 +0100 | [diff] [blame] | 67 | "conscrypt.module.intra.core.api", |
Neil Fuller | 4c219c6 | 2018-10-04 13:11:17 +0100 | [diff] [blame] | 68 | ], |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 69 | java_version: "1.7", |
| 70 | } |
| 71 | |
Paul Duffin | 57176b1 | 2021-03-09 02:21:23 +0000 | [diff] [blame] | 72 | // The source implementation files, used to build okhttp and core-all. It is |
| 73 | // used in the latter case to break the cycle where okhttp depends on core-all |
| 74 | // and core-all depends on okhttp. By including the source into core-all it |
| 75 | // ensures that the code can all build correctly and then that is used to build |
| 76 | // the separate parts. |
| 77 | filegroup { |
| 78 | name: "okhttp_impl_files", |
| 79 | visibility: ["//libcore"], |
| 80 | srcs: [ |
| 81 | // Although some of the classes in the android/ directory are already in the correct |
| 82 | // package and do not need to be moved to another package they are transformed as they |
| 83 | // reference other classes that do require repackaging. |
| 84 | "repackaged/android/src/main/java/**/*.java", |
| 85 | "repackaged/okhttp/src/main/java/**/*.java", |
| 86 | "repackaged/okhttp-urlconnection/src/main/java/**/*.java", |
| 87 | "repackaged/okhttp-android-support/src/main/java/**/*.java", |
| 88 | "repackaged/okio/okio/src/main/java/**/*.java", |
| 89 | ], |
| 90 | } |
| 91 | |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 92 | java_library { |
| 93 | name: "okhttp", |
Paul Duffin | 777d507 | 2019-03-28 14:26:55 +0000 | [diff] [blame] | 94 | visibility: [ |
| 95 | "//art/build/apex", |
Paul Duffin | d1b101a | 2020-03-25 10:47:40 +0000 | [diff] [blame] | 96 | "//art/build/sdk", |
Hadrien Zalek | 8a32d9f | 2020-06-29 09:39:00 -0700 | [diff] [blame] | 97 | "//external/grpc-grpc-java/okhttp", |
Paul Duffin | 777d507 | 2019-03-28 14:26:55 +0000 | [diff] [blame] | 98 | "//external/robolectric-shadows", |
Rex Hoffman | 04d65d2 | 2022-11-13 23:26:58 +0000 | [diff] [blame] | 99 | "//external/robolectric", |
Paul Duffin | 777d507 | 2019-03-28 14:26:55 +0000 | [diff] [blame] | 100 | "//libcore", |
Martin Stjernholm | aa1d1a4 | 2020-12-17 17:54:03 +0000 | [diff] [blame] | 101 | "//packages/modules/ArtPrebuilt", |
Paul Duffin | 777d507 | 2019-03-28 14:26:55 +0000 | [diff] [blame] | 102 | ], |
Karl Shaffer | 725cb70 | 2020-11-02 16:52:45 +0000 | [diff] [blame] | 103 | srcs: [ |
Paul Duffin | 57176b1 | 2021-03-09 02:21:23 +0000 | [diff] [blame] | 104 | ":okhttp_impl_files", |
Karl Shaffer | 725cb70 | 2020-11-02 16:52:45 +0000 | [diff] [blame] | 105 | ], |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 106 | |
| 107 | hostdex: true, |
| 108 | installable: true, |
| 109 | |
Colin Cross | a006ad8 | 2020-06-26 09:14:49 -0700 | [diff] [blame] | 110 | sdk_version: "none", |
Karl Shaffer | 725cb70 | 2020-11-02 16:52:45 +0000 | [diff] [blame] | 111 | system_modules: "core-all-system-modules", |
| 112 | libs: [ |
| 113 | "conscrypt.module.intra.core.api", |
| 114 | ], |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 115 | java_version: "1.7", |
Anton Hansson | 4dcddc9 | 2020-01-10 16:00:45 +0000 | [diff] [blame] | 116 | apex_available: [ |
Martin Stjernholm | 0bb7f77 | 2020-10-12 15:11:12 +0100 | [diff] [blame] | 117 | "com.android.art", |
Anton Hansson | 4dcddc9 | 2020-01-10 16:00:45 +0000 | [diff] [blame] | 118 | "com.android.art.debug", |
Anton Hansson | 4dcddc9 | 2020-01-10 16:00:45 +0000 | [diff] [blame] | 119 | ], |
Nicolas Geoffray | 4863d85 | 2021-03-03 21:59:11 +0000 | [diff] [blame] | 120 | min_sdk_version: "31", |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 121 | } |
| 122 | |
Paul Duffin | 5778f5b | 2021-04-19 17:45:48 +0100 | [diff] [blame] | 123 | // Java library for use on host, e.g. by robolectric. |
| 124 | java_library { |
| 125 | name: "okhttp-for-host", |
| 126 | visibility: [ |
| 127 | "//art/build/sdk", |
| 128 | "//external/robolectric-shadows", |
Rex Hoffman | 04d65d2 | 2022-11-13 23:26:58 +0000 | [diff] [blame] | 129 | "//external/robolectric", |
Paul Duffin | 5778f5b | 2021-04-19 17:45:48 +0100 | [diff] [blame] | 130 | ], |
| 131 | static_libs: [ |
| 132 | "okhttp", |
| 133 | ], |
| 134 | sdk_version: "none", |
| 135 | system_modules: "none", |
| 136 | } |
| 137 | |
Karl Shaffer | a62ca2b | 2020-10-28 16:46:46 -0400 | [diff] [blame] | 138 | // Java Library for both Host and Android that does not use the repackaged okhttp libraries |
| 139 | // (com.android.okhttp) and instead uses the original (com.squareup.okhttp) packages. |
| 140 | // This should not end up on the bootclasspath and instead should only be used to build |
| 141 | // third-party or unbundled applications or libraries that require OkHttp. |
| 142 | java_library { |
| 143 | name: "okhttp-norepackage", |
| 144 | host_supported: true, |
| 145 | |
| 146 | visibility: [ |
Martin Stjernholm | e65f816 | 2020-11-05 23:10:45 +0000 | [diff] [blame] | 147 | "//art/build/sdk", |
Karl Shaffer | a62ca2b | 2020-10-28 16:46:46 -0400 | [diff] [blame] | 148 | "//external/grpc-grpc-java/okhttp", |
| 149 | ], |
| 150 | |
| 151 | srcs: [ |
| 152 | "okhttp/src/main/java/**/*.java", |
| 153 | "okhttp-urlconnection/src/main/java/**/*.java", |
| 154 | "okio/okio/src/main/java/**/*.java", |
| 155 | ":okhttp_version.java", |
| 156 | ], |
| 157 | |
Paul Duffin | fa94f2e | 2021-07-08 14:54:43 +0100 | [diff] [blame] | 158 | libs: [ |
| 159 | // Building against "core_current" means that the android.util.Log API |
| 160 | // is not available. This provides stubs for it which allows the code to |
| 161 | // compile. |
| 162 | "okhttp-android-util-log", |
| 163 | ], |
Karl Shaffer | a62ca2b | 2020-10-28 16:46:46 -0400 | [diff] [blame] | 164 | |
| 165 | installable: true, |
Paul Duffin | fa94f2e | 2021-07-08 14:54:43 +0100 | [diff] [blame] | 166 | // Build against a "core_current" as it cannot use "current" as it has to |
| 167 | // build in manifests without frameworks/base. |
| 168 | sdk_version: "core_current", |
Karl Shaffer | a62ca2b | 2020-10-28 16:46:46 -0400 | [diff] [blame] | 169 | } |
| 170 | |
Colin Cross | a006ad8 | 2020-06-26 09:14:49 -0700 | [diff] [blame] | 171 | // Generate Version.java based on the version number from pom.xml. |
| 172 | genrule { |
| 173 | name: "okhttp_version.java", |
| 174 | srcs: [ |
| 175 | "okhttp/src/main/java-templates/com/squareup/okhttp/internal/Version.java", |
| 176 | "okhttp/pom.xml", |
| 177 | ], |
| 178 | out: ["com/squareup/okhttp/internal/Version.java"], |
| 179 | cmd: "grep \"<version>\" $(location okhttp/pom.xml) | head -1 |" + |
| 180 | " sed -e \"s/\\s*<version>\\(.*\\)<\\/version>/\\1/\" > $(genDir)/version && " + |
| 181 | "sed -e \"s/\\$${project.version}/$$(cat $(genDir)/version)/\" " + |
| 182 | " $(location okhttp/src/main/java-templates/com/squareup/okhttp/internal/Version.java) " + |
| 183 | "> $(out)", |
| 184 | } |
| 185 | |
| 186 | // A library to provide a stub android.util.Log symbol for |
| 187 | // okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java |
Paul Duffin | fa94f2e | 2021-07-08 14:54:43 +0100 | [diff] [blame] | 188 | java_library { |
Colin Cross | a006ad8 | 2020-06-26 09:14:49 -0700 | [diff] [blame] | 189 | name: "okhttp-android-util-log", |
Paul Duffin | fa94f2e | 2021-07-08 14:54:43 +0100 | [diff] [blame] | 190 | host_supported: true, |
Colin Cross | a006ad8 | 2020-06-26 09:14:49 -0700 | [diff] [blame] | 191 | srcs: ["okhttp-android-util-log/src/main/java/**/*.java"], |
Paul Duffin | fa94f2e | 2021-07-08 14:54:43 +0100 | [diff] [blame] | 192 | sdk_version: "core_current", |
Colin Cross | a006ad8 | 2020-06-26 09:14:49 -0700 | [diff] [blame] | 193 | } |
| 194 | |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 195 | java_library { |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 196 | name: "okhttp-tests-nojarjar", |
Paul Duffin | 9c099e2 | 2019-06-03 13:38:17 +0100 | [diff] [blame] | 197 | visibility: nojarjar_visibility, |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 198 | srcs: [ |
| 199 | "android/test/java/**/*.java", |
| 200 | "okhttp-android-support/src/test/java/**/*.java", |
| 201 | "okhttp-testing-support/src/main/java/**/*.java", |
| 202 | "okhttp-tests/src/test/java/**/*.java", |
| 203 | "okhttp-urlconnection/src/test/java/**/*.java", |
| 204 | "okhttp-ws/src/main/java/**/*.java", |
| 205 | "okhttp-ws-tests/src/test/java/**/*.java", |
| 206 | "okio/okio/src/test/java/**/*.java", |
| 207 | "mockwebserver/src/main/java/**/*.java", |
| 208 | "mockwebserver/src/test/java/**/*.java", |
| 209 | ], |
| 210 | // Exclude test Android currently has problems with due to @Parameterized (requires JUnit 4.11). |
| 211 | exclude_srcs: ["okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTest.java"], |
Neil Fuller | 7c21fa4 | 2018-09-24 15:37:43 +0100 | [diff] [blame] | 212 | |
Paul Duffin | 9b9fc8e | 2019-06-12 11:07:55 +0100 | [diff] [blame] | 213 | sdk_version: "none", |
Paul Duffin | 6461a1b | 2019-09-20 14:43:56 +0100 | [diff] [blame] | 214 | system_modules: "core-all-system-modules", |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 215 | libs: [ |
| 216 | "okhttp-nojarjar", |
| 217 | "junit", |
Paul Duffin | 30474ef | 2020-04-08 13:55:30 +0100 | [diff] [blame] | 218 | "conscrypt.module.intra.core.api", |
Narayan Kamath | 34f350f | 2018-03-01 12:33:49 +0000 | [diff] [blame] | 219 | "bouncycastle-unbundled", |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 220 | ], |
Neil Fuller | 1a022c1 | 2018-10-09 17:44:35 +0100 | [diff] [blame] | 221 | |
Colin Cross | ea8fc51 | 2017-10-19 15:06:43 -0700 | [diff] [blame] | 222 | java_version: "1.7", |
| 223 | } |