1*ab625e41SAndroid Build Coastguard Worker// 2*ab625e41SAndroid Build Coastguard Worker// Copyright (C) 2012 The Android Open Source Project 3*ab625e41SAndroid Build Coastguard Worker// 4*ab625e41SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*ab625e41SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*ab625e41SAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*ab625e41SAndroid Build Coastguard Worker// 8*ab625e41SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*ab625e41SAndroid Build Coastguard Worker// 10*ab625e41SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*ab625e41SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*ab625e41SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*ab625e41SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*ab625e41SAndroid Build Coastguard Worker// limitations under the License. 15*ab625e41SAndroid Build Coastguard Worker// 16*ab625e41SAndroid Build Coastguard Worker 17*ab625e41SAndroid Build Coastguard Workerpackage { 18*ab625e41SAndroid Build Coastguard Worker default_team: "trendy_team_java_core_libraries", 19*ab625e41SAndroid Build Coastguard Worker default_visibility: ["//visibility:private"], 20*ab625e41SAndroid Build Coastguard Worker default_applicable_licenses: ["external_okhttp_license"], 21*ab625e41SAndroid Build Coastguard Worker} 22*ab625e41SAndroid Build Coastguard Worker 23*ab625e41SAndroid Build Coastguard Worker// Added automatically by a large-scale-change 24*ab625e41SAndroid Build Coastguard Worker// See: http://go/android-license-faq 25*ab625e41SAndroid Build Coastguard Workerlicense { 26*ab625e41SAndroid Build Coastguard Worker name: "external_okhttp_license", 27*ab625e41SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 28*ab625e41SAndroid Build Coastguard Worker license_kinds: [ 29*ab625e41SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 30*ab625e41SAndroid Build Coastguard Worker ], 31*ab625e41SAndroid Build Coastguard Worker license_text: [ 32*ab625e41SAndroid Build Coastguard Worker "LICENSE", 33*ab625e41SAndroid Build Coastguard Worker ], 34*ab625e41SAndroid Build Coastguard Worker} 35*ab625e41SAndroid Build Coastguard Worker 36*ab625e41SAndroid Build Coastguard Workerjava_defaults { 37*ab625e41SAndroid Build Coastguard Worker name: "okhttp_errorprone_defaults", 38*ab625e41SAndroid Build Coastguard Worker errorprone: { 39*ab625e41SAndroid Build Coastguard Worker javacflags: [ 40*ab625e41SAndroid Build Coastguard Worker "-Xep:InvalidTimeZoneID:WARN", 41*ab625e41SAndroid Build Coastguard Worker "-Xep:TryFailThrowable:WARN", 42*ab625e41SAndroid Build Coastguard Worker ], 43*ab625e41SAndroid Build Coastguard Worker }, 44*ab625e41SAndroid Build Coastguard Worker} 45*ab625e41SAndroid Build Coastguard Worker 46*ab625e41SAndroid Build Coastguard Worker// The source files that contribute to Android's core library APIs. 47*ab625e41SAndroid Build Coastguard Workerfilegroup { 48*ab625e41SAndroid Build Coastguard Worker name: "okhttp_api_files", 49*ab625e41SAndroid Build Coastguard Worker visibility: ["//libcore"], 50*ab625e41SAndroid Build Coastguard Worker // Use the repackaged version of android as that is what is used by Android core library 51*ab625e41SAndroid Build Coastguard Worker // APIs. 52*ab625e41SAndroid Build Coastguard Worker srcs: ["repackaged/android/src/main/java/com/android/okhttp/internalandroidapi/**/*.java"], 53*ab625e41SAndroid Build Coastguard Worker} 54*ab625e41SAndroid Build Coastguard Worker 55*ab625e41SAndroid Build Coastguard Workernojarjar_visibility = [ 56*ab625e41SAndroid Build Coastguard Worker "//art/build/sdk", 57*ab625e41SAndroid Build Coastguard Worker "//cts/tests/libcore/okhttp", 58*ab625e41SAndroid Build Coastguard Worker] 59*ab625e41SAndroid Build Coastguard Worker 60*ab625e41SAndroid Build Coastguard Worker// non-jarjar'd version of okhttp to compile the tests against 61*ab625e41SAndroid Build Coastguard Workerjava_library { 62*ab625e41SAndroid Build Coastguard Worker name: "okhttp-nojarjar", 63*ab625e41SAndroid Build Coastguard Worker defaults: ["okhttp_errorprone_defaults"], 64*ab625e41SAndroid Build Coastguard Worker visibility: nojarjar_visibility, 65*ab625e41SAndroid Build Coastguard Worker srcs: [ 66*ab625e41SAndroid Build Coastguard Worker "android/src/main/java/**/*.java", 67*ab625e41SAndroid Build Coastguard Worker "okhttp/src/main/java/**/*.java", 68*ab625e41SAndroid Build Coastguard Worker "okhttp-urlconnection/src/main/java/**/*.java", 69*ab625e41SAndroid Build Coastguard Worker "okhttp-android-support/src/main/java/**/*.java", 70*ab625e41SAndroid Build Coastguard Worker "okio/okio/src/main/java/**/*.java", 71*ab625e41SAndroid Build Coastguard Worker ], 72*ab625e41SAndroid Build Coastguard Worker exclude_srcs: ["okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java"], 73*ab625e41SAndroid Build Coastguard Worker 74*ab625e41SAndroid Build Coastguard Worker hostdex: true, 75*ab625e41SAndroid Build Coastguard Worker 76*ab625e41SAndroid Build Coastguard Worker sdk_version: "none", 77*ab625e41SAndroid Build Coastguard Worker system_modules: "core-all-system-modules", 78*ab625e41SAndroid Build Coastguard Worker libs: [ 79*ab625e41SAndroid Build Coastguard Worker "conscrypt.module.intra.core.api.stubs", 80*ab625e41SAndroid Build Coastguard Worker ], 81*ab625e41SAndroid Build Coastguard Worker java_version: "1.7", 82*ab625e41SAndroid Build Coastguard Worker} 83*ab625e41SAndroid Build Coastguard Worker 84*ab625e41SAndroid Build Coastguard Worker// The source implementation files, used to build okhttp and core-all. It is 85*ab625e41SAndroid Build Coastguard Worker// used in the latter case to break the cycle where okhttp depends on core-all 86*ab625e41SAndroid Build Coastguard Worker// and core-all depends on okhttp. By including the source into core-all it 87*ab625e41SAndroid Build Coastguard Worker// ensures that the code can all build correctly and then that is used to build 88*ab625e41SAndroid Build Coastguard Worker// the separate parts. 89*ab625e41SAndroid Build Coastguard Workerfilegroup { 90*ab625e41SAndroid Build Coastguard Worker name: "okhttp_impl_files", 91*ab625e41SAndroid Build Coastguard Worker visibility: ["//libcore"], 92*ab625e41SAndroid Build Coastguard Worker srcs: [ 93*ab625e41SAndroid Build Coastguard Worker // Although some of the classes in the android/ directory are already in the correct 94*ab625e41SAndroid Build Coastguard Worker // package and do not need to be moved to another package they are transformed as they 95*ab625e41SAndroid Build Coastguard Worker // reference other classes that do require repackaging. 96*ab625e41SAndroid Build Coastguard Worker "repackaged/android/src/main/java/**/*.java", 97*ab625e41SAndroid Build Coastguard Worker "repackaged/okhttp/src/main/java/**/*.java", 98*ab625e41SAndroid Build Coastguard Worker "repackaged/okhttp-urlconnection/src/main/java/**/*.java", 99*ab625e41SAndroid Build Coastguard Worker "repackaged/okhttp-android-support/src/main/java/**/*.java", 100*ab625e41SAndroid Build Coastguard Worker "repackaged/okio/okio/src/main/java/**/*.java", 101*ab625e41SAndroid Build Coastguard Worker ], 102*ab625e41SAndroid Build Coastguard Worker} 103*ab625e41SAndroid Build Coastguard Worker 104*ab625e41SAndroid Build Coastguard Workerjava_library { 105*ab625e41SAndroid Build Coastguard Worker name: "okhttp", 106*ab625e41SAndroid Build Coastguard Worker defaults: ["okhttp_errorprone_defaults"], 107*ab625e41SAndroid Build Coastguard Worker visibility: [ 108*ab625e41SAndroid Build Coastguard Worker "//art/build/apex", 109*ab625e41SAndroid Build Coastguard Worker "//art/build/sdk", 110*ab625e41SAndroid Build Coastguard Worker "//art/tools/ahat", 111*ab625e41SAndroid Build Coastguard Worker "//art/tools/fuzzer", 112*ab625e41SAndroid Build Coastguard Worker "//external/grpc-grpc-java/okhttp", 113*ab625e41SAndroid Build Coastguard Worker "//external/robolectric-shadows", 114*ab625e41SAndroid Build Coastguard Worker "//external/robolectric", 115*ab625e41SAndroid Build Coastguard Worker "//libcore:__subpackages__", 116*ab625e41SAndroid Build Coastguard Worker "//packages/modules/ArtPrebuilt", 117*ab625e41SAndroid Build Coastguard Worker ], 118*ab625e41SAndroid Build Coastguard Worker srcs: [ 119*ab625e41SAndroid Build Coastguard Worker ":okhttp_impl_files", 120*ab625e41SAndroid Build Coastguard Worker ], 121*ab625e41SAndroid Build Coastguard Worker 122*ab625e41SAndroid Build Coastguard Worker hostdex: true, 123*ab625e41SAndroid Build Coastguard Worker installable: true, 124*ab625e41SAndroid Build Coastguard Worker 125*ab625e41SAndroid Build Coastguard Worker sdk_version: "none", 126*ab625e41SAndroid Build Coastguard Worker system_modules: "core-all-system-modules", 127*ab625e41SAndroid Build Coastguard Worker libs: [ 128*ab625e41SAndroid Build Coastguard Worker "conscrypt.module.intra.core.api.stubs", 129*ab625e41SAndroid Build Coastguard Worker ], 130*ab625e41SAndroid Build Coastguard Worker java_version: "1.7", 131*ab625e41SAndroid Build Coastguard Worker apex_available: [ 132*ab625e41SAndroid Build Coastguard Worker "com.android.art", 133*ab625e41SAndroid Build Coastguard Worker "com.android.art.debug", 134*ab625e41SAndroid Build Coastguard Worker ], 135*ab625e41SAndroid Build Coastguard Worker min_sdk_version: "31", 136*ab625e41SAndroid Build Coastguard Worker} 137*ab625e41SAndroid Build Coastguard Worker 138*ab625e41SAndroid Build Coastguard Worker// Java library for use on host, e.g. by robolectric. 139*ab625e41SAndroid Build Coastguard Workerjava_library { 140*ab625e41SAndroid Build Coastguard Worker name: "okhttp-for-host", 141*ab625e41SAndroid Build Coastguard Worker visibility: [ 142*ab625e41SAndroid Build Coastguard Worker "//art/build/sdk", 143*ab625e41SAndroid Build Coastguard Worker "//external/robolectric-shadows", 144*ab625e41SAndroid Build Coastguard Worker "//external/robolectric", 145*ab625e41SAndroid Build Coastguard Worker ], 146*ab625e41SAndroid Build Coastguard Worker static_libs: [ 147*ab625e41SAndroid Build Coastguard Worker "okhttp", 148*ab625e41SAndroid Build Coastguard Worker ], 149*ab625e41SAndroid Build Coastguard Worker sdk_version: "none", 150*ab625e41SAndroid Build Coastguard Worker system_modules: "none", 151*ab625e41SAndroid Build Coastguard Worker} 152*ab625e41SAndroid Build Coastguard Worker 153*ab625e41SAndroid Build Coastguard Worker// Java Library for both Host and Android that does not use the repackaged okhttp libraries 154*ab625e41SAndroid Build Coastguard Worker// (com.android.okhttp) and instead uses the original (com.squareup.okhttp) packages. 155*ab625e41SAndroid Build Coastguard Worker// This should not end up on the bootclasspath and instead should only be used to build 156*ab625e41SAndroid Build Coastguard Worker// third-party or unbundled applications or libraries that require OkHttp. 157*ab625e41SAndroid Build Coastguard Workerjava_library { 158*ab625e41SAndroid Build Coastguard Worker name: "okhttp-norepackage", 159*ab625e41SAndroid Build Coastguard Worker defaults: ["okhttp_errorprone_defaults"], 160*ab625e41SAndroid Build Coastguard Worker host_supported: true, 161*ab625e41SAndroid Build Coastguard Worker apex_available: [ 162*ab625e41SAndroid Build Coastguard Worker "//apex_available:platform", 163*ab625e41SAndroid Build Coastguard Worker "com.android.adservices", 164*ab625e41SAndroid Build Coastguard Worker "com.android.devicelock", 165*ab625e41SAndroid Build Coastguard Worker "com.android.extservices", 166*ab625e41SAndroid Build Coastguard Worker "com.android.ondevicepersonalization", 167*ab625e41SAndroid Build Coastguard Worker "com.android.virt", 168*ab625e41SAndroid Build Coastguard Worker ], 169*ab625e41SAndroid Build Coastguard Worker visibility: [ 170*ab625e41SAndroid Build Coastguard Worker "//art/build/sdk", 171*ab625e41SAndroid Build Coastguard Worker "//external/grpc-grpc-java/okhttp", 172*ab625e41SAndroid Build Coastguard Worker "//vendor:__subpackages__", 173*ab625e41SAndroid Build Coastguard Worker ], 174*ab625e41SAndroid Build Coastguard Worker 175*ab625e41SAndroid Build Coastguard Worker srcs: [ 176*ab625e41SAndroid Build Coastguard Worker "okhttp/src/main/java/**/*.java", 177*ab625e41SAndroid Build Coastguard Worker "okhttp-urlconnection/src/main/java/**/*.java", 178*ab625e41SAndroid Build Coastguard Worker ":okhttp_version.java", 179*ab625e41SAndroid Build Coastguard Worker ], 180*ab625e41SAndroid Build Coastguard Worker 181*ab625e41SAndroid Build Coastguard Worker libs: [ 182*ab625e41SAndroid Build Coastguard Worker // Building against "core_current" means that the android.util.Log API 183*ab625e41SAndroid Build Coastguard Worker // is not available. This provides stubs for it which allows the code to 184*ab625e41SAndroid Build Coastguard Worker // compile. 185*ab625e41SAndroid Build Coastguard Worker "okhttp-android-util-log", 186*ab625e41SAndroid Build Coastguard Worker ], 187*ab625e41SAndroid Build Coastguard Worker 188*ab625e41SAndroid Build Coastguard Worker static_libs: [ 189*ab625e41SAndroid Build Coastguard Worker "okio-lib", 190*ab625e41SAndroid Build Coastguard Worker ], 191*ab625e41SAndroid Build Coastguard Worker 192*ab625e41SAndroid Build Coastguard Worker installable: true, 193*ab625e41SAndroid Build Coastguard Worker // Build against a "core_current" as it cannot use "current" as it has to 194*ab625e41SAndroid Build Coastguard Worker // build in manifests without frameworks/base. 195*ab625e41SAndroid Build Coastguard Worker sdk_version: "core_current", 196*ab625e41SAndroid Build Coastguard Worker // Make sure that this will be added to the sdk snapshot for S. 197*ab625e41SAndroid Build Coastguard Worker min_sdk_version: "30", 198*ab625e41SAndroid Build Coastguard Worker // This jar is packaged as part of the ART module host exports, use -target 8 so that it works 199*ab625e41SAndroid Build Coastguard Worker // with old JDKs. 200*ab625e41SAndroid Build Coastguard Worker java_version: "1.8", 201*ab625e41SAndroid Build Coastguard Worker} 202*ab625e41SAndroid Build Coastguard Worker 203*ab625e41SAndroid Build Coastguard Worker// Generate Version.java based on the version number from pom.xml. 204*ab625e41SAndroid Build Coastguard Workergenrule { 205*ab625e41SAndroid Build Coastguard Worker name: "okhttp_version.java", 206*ab625e41SAndroid Build Coastguard Worker srcs: [ 207*ab625e41SAndroid Build Coastguard Worker "okhttp/src/main/java-templates/com/squareup/okhttp/internal/Version.java", 208*ab625e41SAndroid Build Coastguard Worker "okhttp/pom.xml", 209*ab625e41SAndroid Build Coastguard Worker ], 210*ab625e41SAndroid Build Coastguard Worker out: ["com/squareup/okhttp/internal/Version.java"], 211*ab625e41SAndroid Build Coastguard Worker cmd: "grep \"<version>\" $(location okhttp/pom.xml) | head -1 |" + 212*ab625e41SAndroid Build Coastguard Worker " sed -e \"s/\\s*<version>\\(.*\\)<\\/version>/\\1/\" > $(genDir)/version && " + 213*ab625e41SAndroid Build Coastguard Worker "sed -e \"s/\\$${project.version}/$$(cat $(genDir)/version)/\" " + 214*ab625e41SAndroid Build Coastguard Worker " $(location okhttp/src/main/java-templates/com/squareup/okhttp/internal/Version.java) " + 215*ab625e41SAndroid Build Coastguard Worker "> $(out)", 216*ab625e41SAndroid Build Coastguard Worker} 217*ab625e41SAndroid Build Coastguard Worker 218*ab625e41SAndroid Build Coastguard Worker// A library to provide a stub android.util.Log symbol for 219*ab625e41SAndroid Build Coastguard Worker// okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java 220*ab625e41SAndroid Build Coastguard Workerjava_library { 221*ab625e41SAndroid Build Coastguard Worker name: "okhttp-android-util-log", 222*ab625e41SAndroid Build Coastguard Worker host_supported: true, 223*ab625e41SAndroid Build Coastguard Worker srcs: ["okhttp-android-util-log/src/main/java/**/*.java"], 224*ab625e41SAndroid Build Coastguard Worker sdk_version: "core_current", 225*ab625e41SAndroid Build Coastguard Worker} 226*ab625e41SAndroid Build Coastguard Worker 227*ab625e41SAndroid Build Coastguard Workerjava_library { 228*ab625e41SAndroid Build Coastguard Worker name: "okhttp-tests-nojarjar", 229*ab625e41SAndroid Build Coastguard Worker defaults: ["okhttp_errorprone_defaults"], 230*ab625e41SAndroid Build Coastguard Worker visibility: nojarjar_visibility, 231*ab625e41SAndroid Build Coastguard Worker srcs: [ 232*ab625e41SAndroid Build Coastguard Worker "android/test/java/**/*.java", 233*ab625e41SAndroid Build Coastguard Worker "okhttp-android-support/src/test/java/**/*.java", 234*ab625e41SAndroid Build Coastguard Worker "okhttp-testing-support/src/main/java/**/*.java", 235*ab625e41SAndroid Build Coastguard Worker "okhttp-tests/src/test/java/**/*.java", 236*ab625e41SAndroid Build Coastguard Worker "okhttp-urlconnection/src/test/java/**/*.java", 237*ab625e41SAndroid Build Coastguard Worker "okhttp-ws/src/main/java/**/*.java", 238*ab625e41SAndroid Build Coastguard Worker "okhttp-ws-tests/src/test/java/**/*.java", 239*ab625e41SAndroid Build Coastguard Worker "okio/okio/src/test/java/**/*.java", 240*ab625e41SAndroid Build Coastguard Worker "mockwebserver/src/main/java/**/*.java", 241*ab625e41SAndroid Build Coastguard Worker "mockwebserver/src/test/java/**/*.java", 242*ab625e41SAndroid Build Coastguard Worker ], 243*ab625e41SAndroid Build Coastguard Worker // Exclude test Android currently has problems with due to @Parameterized (requires JUnit 4.11). 244*ab625e41SAndroid Build Coastguard Worker exclude_srcs: ["okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTest.java"], 245*ab625e41SAndroid Build Coastguard Worker 246*ab625e41SAndroid Build Coastguard Worker sdk_version: "none", 247*ab625e41SAndroid Build Coastguard Worker system_modules: "core-all-system-modules", 248*ab625e41SAndroid Build Coastguard Worker libs: [ 249*ab625e41SAndroid Build Coastguard Worker "okhttp-nojarjar", 250*ab625e41SAndroid Build Coastguard Worker "junit", 251*ab625e41SAndroid Build Coastguard Worker "conscrypt.module.intra.core.api.stubs", 252*ab625e41SAndroid Build Coastguard Worker "bouncycastle-unbundled", 253*ab625e41SAndroid Build Coastguard Worker ], 254*ab625e41SAndroid Build Coastguard Worker 255*ab625e41SAndroid Build Coastguard Worker java_version: "1.7", 256*ab625e41SAndroid Build Coastguard Worker} 257