Commit 57eedc78 authored by Peter Kotwicz's avatar Peter Kotwicz Committed by Commit Bot

Use maven version of guava_android_java

This CL adds com.google.guava:guava:25.1-android to
//third_party/android_deps/build.gradle and makes Chromium code use the
new target.

BUG=1144019

Change-Id: I680ea49ae986aa33766716cae6d883b9adaa1253
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2519762Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827372}
parent 0f6df4fa
......@@ -3360,6 +3360,17 @@ deps = {
'dep_type': 'cipd',
},
'src/third_party/android_deps/libs/com_google_guava_guava_android': {
'packages': [
{
'package': 'chromium/third_party/android_deps/libs/com_google_guava_guava_android',
'version': 'version:25.1-android-cr0',
},
],
'condition': 'checkout_android',
'dep_type': 'cipd',
},
'src/third_party/android_deps/libs/com_google_guava_listenablefuture': {
'packages': [
{
......
......@@ -209,11 +209,11 @@ instrumentation_test_apk("webview_instrumentation_test_apk") {
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/android_deps:com_google_guava_failureaccess_java",
"//third_party/android_deps:espresso_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_deps:protobuf_lite_runtime_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/blink/public/mojom:web_feature_mojo_bindings_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_java",
"//third_party/junit",
"//third_party/metrics_proto:metrics_proto_java",
......
......@@ -64,7 +64,7 @@ android_library("system_webview_shell_apk_java") {
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_savedstate_savedstate_java",
"//third_party/android_deps:androidx_webkit_webkit_java",
"//third_party/guava:guava_android_java",
"//third_party/android_deps:guava_android_java",
]
resources_package = "org.chromium.webview_shell"
}
......
......@@ -736,6 +736,6 @@ if (enable_feed_v1 || enable_feed_v2) {
feed_test_deps += feed_deps + [
"//chrome/browser/user_education:java",
"//third_party/google-truth:google_truth_java",
"//third_party/guava:guava_android_java",
"//third_party/android_deps:guava_android_java",
]
}
......@@ -42,9 +42,9 @@ android_library("javatests") {
"//third_party/android_deps:androidx_preference_preference_java",
"//third_party/android_deps:androidx_test_runner_java",
"//third_party/android_deps:espresso_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_java",
"//third_party/junit",
]
......
......@@ -46,8 +46,8 @@ android_library("chrome_java_test_pagecontroller") {
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_drawerlayout_drawerlayout_java",
"//third_party/android_deps:androidx_test_uiautomator_uiautomator_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/junit",
"//third_party/ub-uiautomator:ub_uiautomator_java",
]
......
......@@ -70,11 +70,11 @@ java_library("components_signin_junit_tests") {
"//testing/android/junit:junit_test_support",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_test_runner_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_deps:robolectric_all_java",
"//third_party/android_sdk:android_test_base_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
]
......
......@@ -473,6 +473,7 @@ android_library("content_javatests") {
"//third_party/android_deps:androidx_core_core_java",
"//third_party/android_deps:androidx_test_runner_java",
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_sdk:android_test_base_java",
"//third_party/android_sdk:android_test_mock_java",
"//third_party/android_sdk:android_test_runner_java",
......@@ -480,7 +481,6 @@ android_library("content_javatests") {
"//third_party/android_support_test_runner:runner_java",
"//third_party/blink/public:blink_headers_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
......
......@@ -36,6 +36,10 @@ java_group("espresso_java") {
deps = [ "//third_party/espresso:espresso_all_java" ]
}
java_group("guava_android_java") {
deps = [ ":com_google_guava_guava_android_java" ]
}
java_group("robolectric_all_java") {
testonly = true
deps = [
......@@ -1571,6 +1575,26 @@ java_prebuilt("com_google_guava_guava_java") {
jar_excluded_patterns = [ "*/ListenableFuture.class" ]
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_guava_guava_android_java") {
jar_path = "libs/com_google_guava_guava_android/guava-25.1-android.jar"
output_name = "com_google_guava_guava_android"
supports_android = true
deps = [
":com_google_code_findbugs_jsr305_java",
":com_google_errorprone_error_prone_annotations_java",
":com_google_j2objc_j2objc_annotations_java",
":org_checkerframework_checker_compat_qual_java",
":org_codehaus_mojo_animal_sniffer_annotations_java",
]
# Add a dep to com_google_guava_listenablefuture_java
# because androidx_concurrent_futures also depends on it and to avoid
# defining ListenableFuture.class twice.
deps += [ ":com_google_guava_listenablefuture_java" ]
jar_excluded_patterns = [ "*/ListenableFuture.class" ]
}
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_guava_listenablefuture_java") {
jar_path = "libs/com_google_guava_listenablefuture/listenablefuture-1.0.jar"
......
......@@ -156,6 +156,7 @@
"libs/com_google_googlejavaformat_google_java_format",
"libs/com_google_guava_failureaccess",
"libs/com_google_guava_guava",
"libs/com_google_guava_guava_android",
"libs/com_google_guava_listenablefuture",
"libs/com_google_j2objc_j2objc_annotations",
"libs/com_google_protobuf_protobuf_java",
......
......@@ -172,6 +172,11 @@ dependencies {
// META-INF/desugar/d8/desugar.json > third_party/r8/desugar_jdk_libs.json
compile "com.android.tools:desugar_jdk_libs_configuration:1.0.10"
// Upstream guava introduced versions with -android suffix starting with version
// 22 to remove incompatible code with android. Thus we keep two jars, one for
// the full guava and one that supports android.
compile "com.google.guava:guava:25.1-android"
// buildCompile targets have supports_android = false.
buildCompile "com.google.guava:guava:27.0.1-jre"
......
......@@ -457,6 +457,14 @@ class BuildConfigGenerator extends DefaultTask {
sb.append(' deps += [":com_google_guava_listenablefuture_java"]\n')
sb.append(' jar_excluded_patterns = ["*/ListenableFuture.class"]\n')
break
case 'com_google_guava_guava_android':
sb.append('\n')
sb.append(' # Add a dep to com_google_guava_listenablefuture_java\n')
sb.append(' # because androidx_concurrent_futures also depends on it and to avoid\n')
sb.append(' # defining ListenableFuture.class twice.\n')
sb.append(' deps += [":com_google_guava_listenablefuture_java"]\n')
sb.append(' jar_excluded_patterns = ["*/ListenableFuture.class"]\n')
break
case 'com_google_code_findbugs_jsr305':
case 'com_google_errorprone_error_prone_annotations':
case 'com_google_guava_failureaccess':
......
......@@ -84,6 +84,10 @@ class ChromiumDepGraph {
url: "https://github.com/google/guava",
licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt",
licenseName: "Apache 2.0"),
'com_google_guava_guava_android': new PropertyOverride(
url: "https://github.com/google/guava",
licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt",
licenseName: "Apache 2.0"),
'com_google_guava_listenablefuture': new PropertyOverride(
url: "https://github.com/google/guava",
licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt",
......@@ -391,7 +395,14 @@ class ChromiumDepGraph {
// Does not include version because by default the resolution strategy for gradle is to use
// the newest version among the required ones. We want to be able to match it in the
// BUILD.gn file.
return sanitize("${module.id.group}_${module.id.name}")
def moduleId = sanitize("${module.id.group}_${module.id.name}")
// Add 'android' suffix for guava-android so that its module name is distinct from the
// module for guava.
if (module.id.name == "guava" && module.id.version.contains("android")) {
moduleId += "_android"
}
return moduleId
}
static String makeModuleId(ResolvedArtifact artifact) {
......@@ -399,7 +410,14 @@ class ChromiumDepGraph {
// the newest version among the required ones. We want to be able to match it in the
// BUILD.gn file.
def componentId = artifact.id.componentIdentifier
return sanitize("${componentId.group}_${componentId.module}")
def moduleId = sanitize("${componentId.group}_${componentId.module}")
// Add 'android' suffix for guava-android so that its module name is distinct from the
// module for guava.
if (componentId.module == "guava" && componentId.version.contains("android")) {
moduleId += "_android"
}
return moduleId
}
private static String sanitize(String input) {
......
......@@ -9,8 +9,8 @@ android_java_prebuilt("runner_java") {
jar_path = "lib/runner-release-no-dep.jar"
deps = [
":exposed_instrumentation_api_publish_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_sdk:android_test_base_java",
"//third_party/guava:guava_android_java",
"//third_party/junit",
]
}
......
......@@ -31,8 +31,8 @@ android_java_prebuilt("espresso_contrib_java") {
":espresso_core_java",
"//third_party/accessibility_test_framework:accessibility_test_framework_java",
"//third_party/android_deps:android_support_v4_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_deps:material_design_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_core_java",
]
}
......@@ -45,9 +45,9 @@ android_java_prebuilt("espresso_core_java") {
deps = [
":espresso_idling_java",
"//third_party/android_deps:com_android_support_support_annotations_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_deps:javax_inject_javax_inject_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_core_java",
"//third_party/hamcrest:hamcrest_library_java",
]
......@@ -67,9 +67,9 @@ android_java_prebuilt("espresso_intents_java") {
jar_path = "lib/espresso-intents-release-no-dep.jar"
deps = [
":espresso_core_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_core_java",
]
}
......@@ -81,7 +81,7 @@ android_java_prebuilt("espresso_web_java") {
jar_path = "lib/espresso-web-release-no-dep.jar"
deps = [
":espresso_core_java",
"//third_party/guava:guava_android_java",
"//third_party/android_deps:guava_android_java",
"//third_party/hamcrest:hamcrest_core_java",
]
}
......@@ -16,7 +16,7 @@ java_prebuilt("google_truth_java") {
jar_path = "lib/truth-0.45.jar"
deps = [
"//third_party/guava:guava_android_java",
"//third_party/android_deps:guava_android_java",
"//third_party/junit:junit",
]
......
......@@ -4,25 +4,6 @@
import("//build/config/android/rules.gni")
# Upstream guava introduced versions with -android suffix starting with version
# 22 to remove incompatible code with android. Thus we keep two jars, one for
# the full guava and one that supports android. Please keep the versions in
# sync with one another.
android_java_prebuilt("guava_android_java") {
testonly = true
jar_path = "lib/guava-android.jar"
# Avoids dependency cycle.
no_build_hooks = true
# Depend on this to replace excluded ListenableFuture.class
deps = [
"//third_party/android_deps:com_google_guava_failureaccess_java",
"//third_party/android_deps:com_google_guava_listenablefuture_java",
"//third_party/android_deps:com_google_j2objc_j2objc_annotations_java",
]
# Avoid class conflict in com_google_guava_listenablefuture.
jar_excluded_patterns = [ "*/ListenableFuture.class" ]
java_group("guava_android_java") {
deps = [ "//third_party/android_deps:com_google_guava_guava_android_java" ]
}
......@@ -24,7 +24,7 @@ android_aar_prebuilt("controller_test_api_java") {
deps = [
":gvr_common_java",
"//third_party/guava:guava_android_java",
"//third_party/android_deps:guava_android_java",
]
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment