From 434520c8a2751b6b24ee3d891789f88e3a62cbba Mon Sep 17 00:00:00 2001 From: perezju Date: Tue, 3 Feb 2015 05:40:57 -0800 Subject: [PATCH] Revert of [android] Remove libaddressinput Java widget. (patchset #1 id:1 of https://codereview.chromium.org/890103002/) Reason for revert: This CL broke the gn android build. To reproduce locally on a chromium checkout src: > gn gen --args='os="android" cpu_arch="arm" use_goma=true' out_android_gn/Debug > ninja -C out_android_gn/Debug eventually fails with: [6011/25521] CXX obj/third_party/libaddressinput/chromium/libaddressinput.chrome_address_validator.o ../../third_party/libaddressinput/chromium/chrome_address_validator.cc:156:68: error: call of overloaded 'pow(int, int)' is ambiguous GetBaseRetryPeriod() * pow(2, attempts_number_[region_code]++)); Original issue's description: > [android] Remove libaddressinput Java widget. > > Android uses a custom UI with the cross-platform strings for address > input. > > BUG=454120 > > Committed: https://crrev.com/e7e8b5f5a53c3577b84413bd165731ca66d6a837 > Cr-Commit-Position: refs/heads/master@{#314217} TBR=estade@chromium.org,cpu@chromium.org,rouslan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=454120 Review URL: https://codereview.chromium.org/892403002 Cr-Commit-Position: refs/heads/master@{#314325} --- chrome/app/address_input_strings_android.grd | 66 ++++++ third_party/libaddressinput/BUILD.gn | 189 ++++++++++++------ .../libaddressinput/libaddressinput.gyp | 37 ++++ 3 files changed, 234 insertions(+), 58 deletions(-) create mode 100644 chrome/app/address_input_strings_android.grd diff --git a/chrome/app/address_input_strings_android.grd b/chrome/app/address_input_strings_android.grd new file mode 100644 index 00000000000000..a428258d46482e --- /dev/null +++ b/chrome/app/address_input_strings_android.grd @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/third_party/libaddressinput/BUILD.gn b/third_party/libaddressinput/BUILD.gn index ddd6be4793d20f..5f6d4fc04464c5 100644 --- a/third_party/libaddressinput/BUILD.gn +++ b/third_party/libaddressinput/BUILD.gn @@ -124,70 +124,143 @@ static_library("util") { ] } -# The list of files in libaddressinput.gypi. -gypi_values = exec_script("//build/gypi_to_gn.py", - [ rebase_path("src/cpp/libaddressinput.gypi") ], - "scope", - [ "src/cpp/libaddressinput.gypi" ]) - -# This target provides more complicated functionality like pinging servers -# for validation rules. -# GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput -static_library("libaddressinput") { - sources = rebase_path(gypi_values.libaddressinput_files, ".", "src/cpp") - sources += [ - "chromium/chrome_address_validator.cc", - "chromium/chrome_metadata_source.cc", - "chromium/chrome_storage_impl.cc", - "chromium/fallback_data_store.cc", - "chromium/input_suggester.cc", - "chromium/string_compare.cc", - "chromium/trie.cc", - ] - sources -= libaddressinput_util_files - sources -= [ "src/cpp/src/util/string_compare.cc" ] +if (is_android) { + import("//build/config/android/rules.gni") - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ "//build/config/compiler:no_chromium_code" ] + # GYP: //third_party/libaddressinput/libaddressinput.gyp:libaddressinput_android_strings_grd + java_strings_grd("libaddressinput_android_strings_grd") { + grd_file = "//chrome/app/address_input_strings_android.grd" + outputs = [ + "values-am/address_input_strings.xml", + "values-ar/address_input_strings.xml", + "values-bg/address_input_strings.xml", + "values-ca/address_input_strings.xml", + "values-cs/address_input_strings.xml", + "values-da/address_input_strings.xml", + "values-de/address_input_strings.xml", + "values-el/address_input_strings.xml", + "values-en-rGB/address_input_strings.xml", + "values-es-rUS/address_input_strings.xml", + "values-es/address_input_strings.xml", + "values-fa/address_input_strings.xml", + "values-fi/address_input_strings.xml", + "values-fr/address_input_strings.xml", + "values-hi/address_input_strings.xml", + "values-hr/address_input_strings.xml", + "values-hu/address_input_strings.xml", + "values-in/address_input_strings.xml", + "values-it/address_input_strings.xml", + "values-iw/address_input_strings.xml", + "values-ja/address_input_strings.xml", + "values-ko/address_input_strings.xml", + "values-lt/address_input_strings.xml", + "values-lv/address_input_strings.xml", + "values-nb/address_input_strings.xml", + "values-nl/address_input_strings.xml", + "values-pl/address_input_strings.xml", + "values-pt-rBR/address_input_strings.xml", + "values-pt-rPT/address_input_strings.xml", + "values-ro/address_input_strings.xml", + "values-ru/address_input_strings.xml", + "values-sk/address_input_strings.xml", + "values-sl/address_input_strings.xml", + "values-sr/address_input_strings.xml", + "values-sv/address_input_strings.xml", + "values-sw/address_input_strings.xml", + "values-th/address_input_strings.xml", + "values-tl/address_input_strings.xml", + "values-tr/address_input_strings.xml", + "values-uk/address_input_strings.xml", + "values-vi/address_input_strings.xml", + "values-zh-rCN/address_input_strings.xml", + "values-zh-rTW/address_input_strings.xml", + "values/address_input_strings.xml", + ] + } - public_configs = [ ":libaddressinput_config" ] + android_resources("android_addressinput_widget_resources") { + deps = [ + ":libaddressinput_android_strings_grd", + ] + custom_package = "com.android.i18n.addressinput" + resource_dirs = [ "src/java/res" ] + v14_verify_only = true + } - deps = [ - ":strings", - ":util", - "//base", - "//base:i18n", - "//third_party/icu", - "//third_party/re2", - ] -} + # GYP: //third_party/libaddressinput/libaddressinput.gyp:android_addressinput_widget + android_library("android_addressinput_widget_java") { + DEPRECATED_java_in_dir = "src/java/src" + deps = [ + ":android_addressinput_widget_resources", + ] + } +} else { + # The list of files in libaddressinput.gypi. + gypi_values = exec_script("//build/gypi_to_gn.py", + [ rebase_path("src/cpp/libaddressinput.gypi") ], + "scope", + [ "src/cpp/libaddressinput.gypi" ]) -test("libaddressinput_unittests") { - sources = rebase_path(gypi_values.libaddressinput_test_files, ".", "src/cpp") - sources += [ - "chromium/addressinput_util_unittest.cc", - "chromium/chrome_address_validator_unittest.cc", - "chromium/chrome_metadata_source_unittest.cc", - "chromium/chrome_storage_impl_unittest.cc", - "chromium/fallback_data_store_unittest.cc", - "chromium/storage_test_runner.cc", - "chromium/string_compare_unittest.cc", - "chromium/trie_unittest.cc", - ] + # This target provides more complicated functionality like pinging servers + # for validation rules. + # GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput + static_library("libaddressinput") { + sources = rebase_path(gypi_values.libaddressinput_files, ".", "src/cpp") + sources += [ + "chromium/chrome_address_validator.cc", + "chromium/chrome_metadata_source.cc", + "chromium/chrome_storage_impl.cc", + "chromium/fallback_data_store.cc", + "chromium/input_suggester.cc", + "chromium/string_compare.cc", + "chromium/trie.cc", + ] + sources -= libaddressinput_util_files + sources -= [ "src/cpp/src/util/string_compare.cc" ] - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ "//build/config/compiler:no_chromium_code" ] + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] - defines = [ "TEST_DATA_DIR=\"third_party/libaddressinput/src/testdata\"" ] + public_configs = [ ":libaddressinput_config" ] - include_dirs = [ "src/cpp/src" ] + deps = [ + ":strings", + ":util", + "//base", + "//base:i18n", + "//third_party/icu", + "//third_party/re2", + ] + } - deps = [ - ":libaddressinput", - ":strings", - "//base:prefs", - "//base/test:run_all_unittests", - "//net:test_support", - "//testing/gtest", - ] + test("libaddressinput_unittests") { + sources = + rebase_path(gypi_values.libaddressinput_test_files, ".", "src/cpp") + sources += [ + "chromium/addressinput_util_unittest.cc", + "chromium/chrome_address_validator_unittest.cc", + "chromium/chrome_metadata_source_unittest.cc", + "chromium/chrome_storage_impl_unittest.cc", + "chromium/fallback_data_store_unittest.cc", + "chromium/storage_test_runner.cc", + "chromium/string_compare_unittest.cc", + "chromium/trie_unittest.cc", + ] + + configs -= [ "//build/config/compiler:chromium_code" ] + configs += [ "//build/config/compiler:no_chromium_code" ] + + defines = [ "TEST_DATA_DIR=\"third_party/libaddressinput/src/testdata\"" ] + + include_dirs = [ "src/cpp/src" ] + + deps = [ + ":libaddressinput", + ":strings", + "//base:prefs", + "//base/test:run_all_unittests", + "//net:test_support", + "//testing/gtest", + ] + } } diff --git a/third_party/libaddressinput/libaddressinput.gyp b/third_party/libaddressinput/libaddressinput.gyp index 3fca8560e5c367..2ea754b529ad33 100644 --- a/third_party/libaddressinput/libaddressinput.gyp +++ b/third_party/libaddressinput/libaddressinput.gyp @@ -161,4 +161,41 @@ ], }, ], + 'conditions': [ + ['OS=="android"', { + 'targets': [ + { + # GN: //third_party/libaddressinput:libaddressinput_android_strings_grd + 'target_name': 'libaddressinput_android_strings_grd', + 'type': 'none', + 'android_unmangled_name': 1, + 'variables': { + 'grd_file': '../../chrome/app/address_input_strings_android.grd', + }, + 'includes': [ + '../../build/java_strings_grd.gypi', + ], + }, + { + # GN: //third_party/libaddressinput:android_addressinput_widget_java + 'target_name': 'android_addressinput_widget', + 'type': 'none', + 'variables': { + 'java_in_dir': 'src/java', + 'never_lint': 1, + 'res_v14_verify_only': 1, + 'has_java_resources': 1, + 'R_package': 'com.android.i18n.addressinput', + 'R_package_relpath': 'com/android/i18n/addressinput', + }, + 'includes': [ + '../../build/java.gypi', + ], + 'dependencies': [ + 'libaddressinput_android_strings_grd', + ], + }, + ], + },], + ], }