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 = { ...@@ -3360,6 +3360,17 @@ deps = {
'dep_type': 'cipd', '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': { 'src/third_party/android_deps/libs/com_google_guava_listenablefuture': {
'packages': [ 'packages': [
{ {
......
...@@ -209,11 +209,11 @@ instrumentation_test_apk("webview_instrumentation_test_apk") { ...@@ -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_code_findbugs_jsr305_java",
"//third_party/android_deps:com_google_guava_failureaccess_java", "//third_party/android_deps:com_google_guava_failureaccess_java",
"//third_party/android_deps:espresso_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_deps:protobuf_lite_runtime_java",
"//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java", "//third_party/android_support_test_runner:runner_java",
"//third_party/blink/public/mojom:web_feature_mojo_bindings_java", "//third_party/blink/public/mojom:web_feature_mojo_bindings_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_java", "//third_party/hamcrest:hamcrest_java",
"//third_party/junit", "//third_party/junit",
"//third_party/metrics_proto:metrics_proto_java", "//third_party/metrics_proto:metrics_proto_java",
......
...@@ -64,7 +64,7 @@ android_library("system_webview_shell_apk_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_annotation_annotation_java",
"//third_party/android_deps:androidx_savedstate_savedstate_java", "//third_party/android_deps:androidx_savedstate_savedstate_java",
"//third_party/android_deps:androidx_webkit_webkit_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" resources_package = "org.chromium.webview_shell"
} }
......
...@@ -736,6 +736,6 @@ if (enable_feed_v1 || enable_feed_v2) { ...@@ -736,6 +736,6 @@ if (enable_feed_v1 || enable_feed_v2) {
feed_test_deps += feed_deps + [ feed_test_deps += feed_deps + [
"//chrome/browser/user_education:java", "//chrome/browser/user_education:java",
"//third_party/google-truth:google_truth_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") { ...@@ -42,9 +42,9 @@ android_library("javatests") {
"//third_party/android_deps:androidx_preference_preference_java", "//third_party/android_deps:androidx_preference_preference_java",
"//third_party/android_deps:androidx_test_runner_java", "//third_party/android_deps:androidx_test_runner_java",
"//third_party/android_deps:espresso_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:rules_java",
"//third_party/android_support_test_runner:runner_java", "//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_java", "//third_party/hamcrest:hamcrest_java",
"//third_party/junit", "//third_party/junit",
] ]
......
...@@ -46,8 +46,8 @@ android_library("chrome_java_test_pagecontroller") { ...@@ -46,8 +46,8 @@ android_library("chrome_java_test_pagecontroller") {
"//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_drawerlayout_drawerlayout_java", "//third_party/android_deps:androidx_drawerlayout_drawerlayout_java",
"//third_party/android_deps:androidx_test_uiautomator_uiautomator_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/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/junit", "//third_party/junit",
"//third_party/ub-uiautomator:ub_uiautomator_java", "//third_party/ub-uiautomator:ub_uiautomator_java",
] ]
......
...@@ -70,11 +70,11 @@ java_library("components_signin_junit_tests") { ...@@ -70,11 +70,11 @@ java_library("components_signin_junit_tests") {
"//testing/android/junit:junit_test_support", "//testing/android/junit:junit_test_support",
"//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_test_runner_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_deps:robolectric_all_java",
"//third_party/android_sdk:android_test_base_java", "//third_party/android_sdk:android_test_base_java",
"//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java", "//third_party/android_support_test_runner:runner_java",
"//third_party/guava:guava_android_java",
"//third_party/junit", "//third_party/junit",
"//third_party/mockito:mockito_java", "//third_party/mockito:mockito_java",
] ]
......
...@@ -473,6 +473,7 @@ android_library("content_javatests") { ...@@ -473,6 +473,7 @@ android_library("content_javatests") {
"//third_party/android_deps:androidx_core_core_java", "//third_party/android_deps:androidx_core_core_java",
"//third_party/android_deps:androidx_test_runner_java", "//third_party/android_deps:androidx_test_runner_java",
"//third_party/android_deps:com_google_code_findbugs_jsr305_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_base_java",
"//third_party/android_sdk:android_test_mock_java", "//third_party/android_sdk:android_test_mock_java",
"//third_party/android_sdk:android_test_runner_java", "//third_party/android_sdk:android_test_runner_java",
...@@ -480,7 +481,6 @@ android_library("content_javatests") { ...@@ -480,7 +481,6 @@ android_library("content_javatests") {
"//third_party/android_support_test_runner:runner_java", "//third_party/android_support_test_runner:runner_java",
"//third_party/blink/public:blink_headers_java", "//third_party/blink/public:blink_headers_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java", "//third_party/blink/public/mojom:android_mojo_bindings_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_java", "//third_party/hamcrest:hamcrest_java",
"//third_party/junit", "//third_party/junit",
"//third_party/mockito:mockito_java", "//third_party/mockito:mockito_java",
......
...@@ -36,6 +36,10 @@ java_group("espresso_java") { ...@@ -36,6 +36,10 @@ java_group("espresso_java") {
deps = [ "//third_party/espresso:espresso_all_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") { java_group("robolectric_all_java") {
testonly = true testonly = true
deps = [ deps = [
...@@ -1571,6 +1575,26 @@ java_prebuilt("com_google_guava_guava_java") { ...@@ -1571,6 +1575,26 @@ java_prebuilt("com_google_guava_guava_java") {
jar_excluded_patterns = [ "*/ListenableFuture.class" ] 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. # This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
java_prebuilt("com_google_guava_listenablefuture_java") { java_prebuilt("com_google_guava_listenablefuture_java") {
jar_path = "libs/com_google_guava_listenablefuture/listenablefuture-1.0.jar" jar_path = "libs/com_google_guava_listenablefuture/listenablefuture-1.0.jar"
......
...@@ -156,6 +156,7 @@ ...@@ -156,6 +156,7 @@
"libs/com_google_googlejavaformat_google_java_format", "libs/com_google_googlejavaformat_google_java_format",
"libs/com_google_guava_failureaccess", "libs/com_google_guava_failureaccess",
"libs/com_google_guava_guava", "libs/com_google_guava_guava",
"libs/com_google_guava_guava_android",
"libs/com_google_guava_listenablefuture", "libs/com_google_guava_listenablefuture",
"libs/com_google_j2objc_j2objc_annotations", "libs/com_google_j2objc_j2objc_annotations",
"libs/com_google_protobuf_protobuf_java", "libs/com_google_protobuf_protobuf_java",
......
...@@ -172,6 +172,11 @@ dependencies { ...@@ -172,6 +172,11 @@ dependencies {
// META-INF/desugar/d8/desugar.json > third_party/r8/desugar_jdk_libs.json // META-INF/desugar/d8/desugar.json > third_party/r8/desugar_jdk_libs.json
compile "com.android.tools:desugar_jdk_libs_configuration:1.0.10" 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 targets have supports_android = false.
buildCompile "com.google.guava:guava:27.0.1-jre" buildCompile "com.google.guava:guava:27.0.1-jre"
......
...@@ -457,6 +457,14 @@ class BuildConfigGenerator extends DefaultTask { ...@@ -457,6 +457,14 @@ class BuildConfigGenerator extends DefaultTask {
sb.append(' deps += [":com_google_guava_listenablefuture_java"]\n') sb.append(' deps += [":com_google_guava_listenablefuture_java"]\n')
sb.append(' jar_excluded_patterns = ["*/ListenableFuture.class"]\n') sb.append(' jar_excluded_patterns = ["*/ListenableFuture.class"]\n')
break 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_code_findbugs_jsr305':
case 'com_google_errorprone_error_prone_annotations': case 'com_google_errorprone_error_prone_annotations':
case 'com_google_guava_failureaccess': case 'com_google_guava_failureaccess':
......
...@@ -84,6 +84,10 @@ class ChromiumDepGraph { ...@@ -84,6 +84,10 @@ class ChromiumDepGraph {
url: "https://github.com/google/guava", url: "https://github.com/google/guava",
licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt", licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt",
licenseName: "Apache 2.0"), 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( 'com_google_guava_listenablefuture': new PropertyOverride(
url: "https://github.com/google/guava", url: "https://github.com/google/guava",
licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt", licenseUrl: "https://www.apache.org/licenses/LICENSE-2.0.txt",
...@@ -391,7 +395,14 @@ class ChromiumDepGraph { ...@@ -391,7 +395,14 @@ class ChromiumDepGraph {
// Does not include version because by default the resolution strategy for gradle is to use // 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 // the newest version among the required ones. We want to be able to match it in the
// BUILD.gn file. // 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) { static String makeModuleId(ResolvedArtifact artifact) {
...@@ -399,7 +410,14 @@ class ChromiumDepGraph { ...@@ -399,7 +410,14 @@ class ChromiumDepGraph {
// the newest version among the required ones. We want to be able to match it in the // the newest version among the required ones. We want to be able to match it in the
// BUILD.gn file. // BUILD.gn file.
def componentId = artifact.id.componentIdentifier 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) { private static String sanitize(String input) {
......
...@@ -9,8 +9,8 @@ android_java_prebuilt("runner_java") { ...@@ -9,8 +9,8 @@ android_java_prebuilt("runner_java") {
jar_path = "lib/runner-release-no-dep.jar" jar_path = "lib/runner-release-no-dep.jar"
deps = [ deps = [
":exposed_instrumentation_api_publish_java", ":exposed_instrumentation_api_publish_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_sdk:android_test_base_java", "//third_party/android_sdk:android_test_base_java",
"//third_party/guava:guava_android_java",
"//third_party/junit", "//third_party/junit",
] ]
} }
......
...@@ -31,8 +31,8 @@ android_java_prebuilt("espresso_contrib_java") { ...@@ -31,8 +31,8 @@ android_java_prebuilt("espresso_contrib_java") {
":espresso_core_java", ":espresso_core_java",
"//third_party/accessibility_test_framework:accessibility_test_framework_java", "//third_party/accessibility_test_framework:accessibility_test_framework_java",
"//third_party/android_deps:android_support_v4_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/android_deps:material_design_java",
"//third_party/guava:guava_android_java",
"//third_party/hamcrest:hamcrest_core_java", "//third_party/hamcrest:hamcrest_core_java",
] ]
} }
...@@ -45,9 +45,9 @@ android_java_prebuilt("espresso_core_java") { ...@@ -45,9 +45,9 @@ android_java_prebuilt("espresso_core_java") {
deps = [ deps = [
":espresso_idling_java", ":espresso_idling_java",
"//third_party/android_deps:com_android_support_support_annotations_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_deps:javax_inject_javax_inject_java",
"//third_party/android_support_test_runner:runner_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_core_java",
"//third_party/hamcrest:hamcrest_library_java", "//third_party/hamcrest:hamcrest_library_java",
] ]
...@@ -67,9 +67,9 @@ android_java_prebuilt("espresso_intents_java") { ...@@ -67,9 +67,9 @@ android_java_prebuilt("espresso_intents_java") {
jar_path = "lib/espresso-intents-release-no-dep.jar" jar_path = "lib/espresso-intents-release-no-dep.jar"
deps = [ deps = [
":espresso_core_java", ":espresso_core_java",
"//third_party/android_deps:guava_android_java",
"//third_party/android_support_test_runner:rules_java", "//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_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_core_java",
] ]
} }
...@@ -81,7 +81,7 @@ android_java_prebuilt("espresso_web_java") { ...@@ -81,7 +81,7 @@ android_java_prebuilt("espresso_web_java") {
jar_path = "lib/espresso-web-release-no-dep.jar" jar_path = "lib/espresso-web-release-no-dep.jar"
deps = [ deps = [
":espresso_core_java", ":espresso_core_java",
"//third_party/guava:guava_android_java", "//third_party/android_deps:guava_android_java",
"//third_party/hamcrest:hamcrest_core_java", "//third_party/hamcrest:hamcrest_core_java",
] ]
} }
...@@ -16,7 +16,7 @@ java_prebuilt("google_truth_java") { ...@@ -16,7 +16,7 @@ java_prebuilt("google_truth_java") {
jar_path = "lib/truth-0.45.jar" jar_path = "lib/truth-0.45.jar"
deps = [ deps = [
"//third_party/guava:guava_android_java", "//third_party/android_deps:guava_android_java",
"//third_party/junit:junit", "//third_party/junit:junit",
] ]
......
...@@ -4,25 +4,6 @@ ...@@ -4,25 +4,6 @@
import("//build/config/android/rules.gni") import("//build/config/android/rules.gni")
# Upstream guava introduced versions with -android suffix starting with version java_group("guava_android_java") {
# 22 to remove incompatible code with android. Thus we keep two jars, one for deps = [ "//third_party/android_deps:com_google_guava_guava_android_java" ]
# 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" ]
} }
...@@ -24,7 +24,7 @@ android_aar_prebuilt("controller_test_api_java") { ...@@ -24,7 +24,7 @@ android_aar_prebuilt("controller_test_api_java") {
deps = [ deps = [
":gvr_common_java", ":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