| // |
| // Copyright (C) 2012 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 { |
| default_team: "trendy_team_java_core_libraries", |
| default_visibility: ["//visibility:private"], |
| default_applicable_licenses: ["external_okhttp_license"], |
| } |
| |
| // Added automatically by a large-scale-change |
| // See: http://go/android-license-faq |
| license { |
| name: "external_okhttp_license", |
| visibility: [":__subpackages__"], |
| license_kinds: [ |
| "SPDX-license-identifier-Apache-2.0", |
| ], |
| license_text: [ |
| "LICENSE.txt", |
| ], |
| } |
| |
| java_defaults { |
| name: "okhttp_errorprone_defaults", |
| errorprone: { |
| javacflags: [ |
| "-Xep:InvalidTimeZoneID:WARN", |
| "-Xep:TryFailThrowable:WARN", |
| ], |
| }, |
| } |
| |
| // The source files that contribute to Android's core library APIs. |
| filegroup { |
| name: "okhttp_api_files", |
| visibility: ["//libcore"], |
| // Use the repackaged version of android as that is what is used by Android core library |
| // APIs. |
| srcs: ["repackaged/android/src/main/java/com/android/okhttp/internalandroidapi/**/*.java"], |
| } |
| |
| nojarjar_visibility = [ |
| "//art/build/sdk", |
| "//cts/tests/libcore/okhttp", |
| ] |
| |
| // non-jarjar'd version of okhttp to compile the tests against |
| java_library { |
| name: "okhttp-nojarjar", |
| defaults: ["okhttp_errorprone_defaults"], |
| visibility: nojarjar_visibility, |
| srcs: [ |
| "android/src/main/java/**/*.java", |
| "okhttp/src/main/java/**/*.java", |
| "okhttp-urlconnection/src/main/java/**/*.java", |
| "okhttp-android-support/src/main/java/**/*.java", |
| "okio/okio/src/main/java/**/*.java", |
| ], |
| exclude_srcs: ["okhttp/src/main/java/com/squareup/okhttp/internal/Platform.java"], |
| |
| hostdex: true, |
| |
| sdk_version: "none", |
| system_modules: "core-all-system-modules", |
| libs: [ |
| "conscrypt.module.intra.core.api.stubs", |
| ], |
| java_version: "1.7", |
| } |
| |
| // The source implementation files, used to build okhttp and core-all. It is |
| // used in the latter case to break the cycle where okhttp depends on core-all |
| // and core-all depends on okhttp. By including the source into core-all it |
| // ensures that the code can all build correctly and then that is used to build |
| // the separate parts. |
| filegroup { |
| name: "okhttp_impl_files", |
| visibility: ["//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", |
| ], |
| } |
| |
| java_library { |
| name: "okhttp", |
| defaults: ["okhttp_errorprone_defaults"], |
| visibility: [ |
| "//art/build/apex", |
| "//art/build/sdk", |
| "//art/tools/ahat", |
| "//art/tools/fuzzer", |
| "//external/grpc-grpc-java/okhttp", |
| "//external/robolectric-shadows", |
| "//external/robolectric", |
| "//libcore:__subpackages__", |
| "//packages/modules/ArtPrebuilt", |
| ], |
| srcs: [ |
| ":okhttp_impl_files", |
| ], |
| |
| hostdex: true, |
| installable: true, |
| |
| sdk_version: "none", |
| system_modules: "core-all-system-modules", |
| libs: [ |
| "conscrypt.module.intra.core.api.stubs", |
| ], |
| java_version: "1.7", |
| apex_available: [ |
| "com.android.art", |
| "com.android.art.debug", |
| ], |
| min_sdk_version: "31", |
| } |
| |
| // Java library for use on host, e.g. by robolectric. |
| java_library { |
| name: "okhttp-for-host", |
| visibility: [ |
| "//art/build/sdk", |
| "//external/robolectric-shadows", |
| "//external/robolectric", |
| ], |
| static_libs: [ |
| "okhttp", |
| ], |
| sdk_version: "none", |
| system_modules: "none", |
| } |
| |
| // Java Library for both Host and Android that does not use the repackaged okhttp libraries |
| // (com.android.okhttp) and instead uses the original (com.squareup.okhttp) packages. |
| // This should not end up on the bootclasspath and instead should only be used to build |
| // third-party or unbundled applications or libraries that require OkHttp. |
| java_library { |
| name: "okhttp-norepackage", |
| defaults: ["okhttp_errorprone_defaults"], |
| host_supported: true, |
| apex_available: [ |
| "//apex_available:platform", |
| "com.android.adservices", |
| "com.android.devicelock", |
| "com.android.extservices", |
| "com.android.ondevicepersonalization", |
| "com.android.virt", |
| ], |
| visibility: [ |
| "//art/build/sdk", |
| "//external/grpc-grpc-java/okhttp", |
| ], |
| |
| srcs: [ |
| "okhttp/src/main/java/**/*.java", |
| "okhttp-urlconnection/src/main/java/**/*.java", |
| ":okhttp_version.java", |
| ], |
| |
| libs: [ |
| // Building against "core_current" means that the android.util.Log API |
| // is not available. This provides stubs for it which allows the code to |
| // compile. |
| "okhttp-android-util-log", |
| ], |
| |
| static_libs: [ |
| "okio-lib", |
| ], |
| |
| installable: true, |
| // Build against a "core_current" as it cannot use "current" as it has to |
| // build in manifests without frameworks/base. |
| sdk_version: "core_current", |
| // Make sure that this will be added to the sdk snapshot for S. |
| min_sdk_version: "30", |
| // This jar is packaged as part of the ART module host exports, use -target 8 so that it works |
| // with old JDKs. |
| java_version: "1.8", |
| } |
| |
| // 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 { |
| name: "okhttp-android-util-log", |
| host_supported: true, |
| srcs: ["okhttp-android-util-log/src/main/java/**/*.java"], |
| sdk_version: "core_current", |
| } |
| |
| java_library { |
| name: "okhttp-tests-nojarjar", |
| defaults: ["okhttp_errorprone_defaults"], |
| visibility: nojarjar_visibility, |
| srcs: [ |
| "android/test/java/**/*.java", |
| "okhttp-android-support/src/test/java/**/*.java", |
| "okhttp-testing-support/src/main/java/**/*.java", |
| "okhttp-tests/src/test/java/**/*.java", |
| "okhttp-urlconnection/src/test/java/**/*.java", |
| "okhttp-ws/src/main/java/**/*.java", |
| "okhttp-ws-tests/src/test/java/**/*.java", |
| "okio/okio/src/test/java/**/*.java", |
| "mockwebserver/src/main/java/**/*.java", |
| "mockwebserver/src/test/java/**/*.java", |
| ], |
| // Exclude test Android currently has problems with due to @Parameterized (requires JUnit 4.11). |
| exclude_srcs: ["okhttp-tests/src/test/java/com/squareup/okhttp/WebPlatformUrlTest.java"], |
| |
| sdk_version: "none", |
| system_modules: "core-all-system-modules", |
| libs: [ |
| "okhttp-nojarjar", |
| "junit", |
| "conscrypt.module.intra.core.api.stubs", |
| "bouncycastle-unbundled", |
| ], |
| |
| java_version: "1.7", |
| } |