diff options
-rw-r--r-- | BUILD.gn | 9 | ||||
-rw-r--r-- | build/config/android/config.gni | 20 | ||||
-rw-r--r-- | build/config/android/internal_rules.gni | 6 | ||||
-rw-r--r-- | build/config/android/rules.gni | 20 | ||||
-rw-r--r-- | build/secondary/tools/grit/grit_rule.gni | 4 | ||||
-rw-r--r-- | chrome/chrome_android_paks.gypi | 4 | ||||
-rw-r--r-- | chrome/test/BUILD.gn | 7 | ||||
-rw-r--r-- | testing/android/junit/BUILD.gn | 27 | ||||
-rw-r--r-- | testing/android/junit/junit_test.gyp | 2 | ||||
-rw-r--r-- | third_party/junit/BUILD.gn | 20 | ||||
-rw-r--r-- | third_party/junit/junit.gyp | 2 | ||||
-rw-r--r-- | third_party/libaddressinput/BUILD.gn | 169 | ||||
-rw-r--r-- | third_party/libaddressinput/libaddressinput.gyp | 1 |
13 files changed, 203 insertions, 88 deletions
@@ -9,6 +9,9 @@ # file to your new one or GN won't know about it. import("//build/config/ui.gni") +if (is_android) { + import("//build/config/android/config.gni") +} declare_args() { # A list of extra dependencies to add to the root target. This allows a @@ -188,6 +191,12 @@ group("root") { "//third_party/eyesfree:eyesfree_java", ] + if (has_chrome_android_internal) { + deps += [ + "//clank", + ] + } + deps -= [ "//apps", # Needs testing. "//chrome/browser", diff --git a/build/config/android/config.gni b/build/config/android/config.gni index 50cf8ba..e602083 100644 --- a/build/config/android/config.gni +++ b/build/config/android/config.gni @@ -5,12 +5,25 @@ # This file contains common system config stuff for the Android build. if (is_android) { + has_chrome_android_internal = exec_script("//build/dir_exists.py", + [ rebase_path("//clank", root_build_dir) ], + "string") == "True" + + if (has_chrome_android_internal) { + import("//clank/config.gni") + } else { + default_android_sdk_root = "//third_party/android_tools/sdk" + default_android_sdk_version = "21" + default_android_sdk_build_tools_version = "21.0.0" + } + declare_args() { # Absolute directory containing the Android source code. android_src = "" - android_sdk_root = "//third_party/android_tools/sdk" - android_sdk_version = "21" + android_sdk_root = default_android_sdk_root + android_sdk_version = default_android_sdk_version + android_sdk_build_tools_version = default_android_sdk_build_tools_version # This is set when building the Android WebView inside the Android build # system, using the 'android' gyp backend. The WebView code is still built @@ -32,7 +45,6 @@ if (is_android) { "You must specify android_src for an Android WebView build.") } - # Host stuff ----------------------------------------------------------------- # Defines the name the Android build gives to the current host CPU @@ -68,7 +80,7 @@ if (is_android) { android_sdk = "${android_sdk_root}/platforms/android-${android_sdk_version}" android_sdk_tools = "${android_sdk_root}/tools" - android_sdk_build_tools = "${android_sdk_root}/build-tools/21.0.0" + android_sdk_build_tools = "${android_sdk_root}/build-tools/$android_sdk_build_tools_version" # Path to the SDK's android.jar android_sdk_jar = "$android_sdk/android.jar" diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni index d9522ce..de29cce 100644 --- a/build/config/android/internal_rules.gni +++ b/build/config/android/internal_rules.gni @@ -253,8 +253,8 @@ template("create_apk") { _asset_location = invoker.asset_location } - _version_code = "1" - _version_name = "Developer Build" + _version_code = invoker.version_code + _version_name = invoker.version_name _base_apk_path = _base_path + ".apk_intermediates" @@ -557,7 +557,7 @@ template("android_java_library") { if (defined(invoker.testonly)) { testonly = invoker.testonly } assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir) - || defined(invoker.srcjars)) + || defined(invoker.srcjars) || defined(invoker.srcjar_deps)) assert(defined(invoker.build_config)) assert(defined(invoker.jar_path)) assert(defined(invoker.dex_path)) diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index 2db732a..3701dfb 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni @@ -420,6 +420,8 @@ template("jinja_template_resources") { _build_config = _base_path + ".build_config" write_build_config("${target_name}__build_config") { + build_config = _build_config + resources_zip = _resources_zip type = "android_resources" } @@ -679,7 +681,7 @@ template("android_library") { if (defined(invoker.testonly)) { testonly = invoker.testonly } assert(defined(invoker.java_files) || defined(invoker.DEPRECATED_java_in_dir) - || defined(invoker.srcjars)) + || defined(invoker.srcjars) || defined(invoker.srcjar_deps)) _base_path = "$target_gen_dir/$target_name" _build_config = _base_path + ".build_config" _jar_path = _base_path + ".jar" @@ -989,6 +991,12 @@ template("android_apk") { "$root_build_dir/lib.stripped/libchromium_android_linker.so" ] } + + _enable_relocation_packing = false + if (_use_chromium_linker && defined(invoker.enable_relocation_packing) && + invoker.enable_relocation_packing) { + _enable_relocation_packing = true + } } _rebased_build_config = rebase_path(build_config, root_build_dir) @@ -1157,6 +1165,16 @@ template("android_apk") { dex_path = final_dex_path load_library_from_apk = _load_library_from_apk + version_code = "1" + if (defined(invoker.version_code)) { + version_code = invoker.version_code + } + + version_name = "Developer Build" + if (defined(invoker.version_name)) { + version_name = invoker.version_name + } + if (defined(invoker.asset_location)) { asset_location = invoker.asset_location } diff --git a/build/secondary/tools/grit/grit_rule.gni b/build/secondary/tools/grit/grit_rule.gni index 5103d73..572b11f 100644 --- a/build/secondary/tools/grit/grit_rule.gni +++ b/build/secondary/tools/grit/grit_rule.gni @@ -330,6 +330,10 @@ template("grit") { deps = [ ":$grit_custom_target" ] public_configs = [ ":$grit_config" ] + if (defined(invoker.public_configs)) { + public_configs += invoker.public_configs + } + if (defined(invoker.visibility)) { visibility = invoker.visibility } diff --git a/chrome/chrome_android_paks.gypi b/chrome/chrome_android_paks.gypi index 622ff61f..90f0238 100644 --- a/chrome/chrome_android_paks.gypi +++ b/chrome/chrome_android_paks.gypi @@ -104,10 +104,10 @@ ['icu_use_data_file_flag==1', { 'chrome_android_pak_input_resources': [ '<(PRODUCT_DIR)/icudtl.dat', - ], + ], 'chrome_android_pak_output_resources': [ '<(chrome_android_pak_output_folder)/icudtl.dat', - ], + ], }], ], }, diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index e49cccd..15e72a0 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn @@ -134,6 +134,13 @@ source_set("test_support") { ] } + if (enable_extensions) { + deps += [ + "//chrome/common/extensions/api", + "//extensions:test_support", + ] + } + if (is_linux) { deps += [ "//crypto:platform" ] } diff --git a/testing/android/junit/BUILD.gn b/testing/android/junit/BUILD.gn new file mode 100644 index 0000000..bd8b517 --- /dev/null +++ b/testing/android/junit/BUILD.gn @@ -0,0 +1,27 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +assert(is_android) + +import("//build/config/android/rules.gni") + +# TODO(GYP): should be java_library +# GYP: //testing/android/junit_test.gyp:junit_test_support +android_library("junit_test_support") { + DEPRECATED_java_in_dir = "java/src" + deps = [ + "//third_party/junit" + ] +} + +# TODO(GYP): should be java_library +# GYP: //testing/android/junit_test.gyp:junit_unit_tests +android_library("junit_unittests") { + deps = [ + ":junit_test_support", + "//third_party/junit", + ] +#main_class = "org.chromium.testing.local.JuniTestMain" + DEPRECATED_java_in_dir = "javatests/src" +} diff --git a/testing/android/junit/junit_test.gyp b/testing/android/junit/junit_test.gyp index 35b3be4..8e726a9 100644 --- a/testing/android/junit/junit_test.gyp +++ b/testing/android/junit/junit_test.gyp @@ -5,6 +5,7 @@ { 'targets': [ { + # GN: //testing/android/junit:junit_test_support 'target_name': 'junit_test_support', 'type': 'none', 'dependencies': [ @@ -20,6 +21,7 @@ ], }, { + # GN: //testing/android/junit:junit_unittests 'target_name': 'junit_unit_tests', 'type': 'none', 'dependencies': [ diff --git a/third_party/junit/BUILD.gn b/third_party/junit/BUILD.gn new file mode 100644 index 0000000..038e1ac --- /dev/null +++ b/third_party/junit/BUILD.gn @@ -0,0 +1,20 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import("//build/config/android/rules.gni") + +# TODO(GYP): should be java_prebuilt +# GYP: //third_party/junit.gyp:hamcrest_jar +android_java_prebuilt("hamcrest") { + jar_path = "src/lib/hamcrest-core-1.3.jar" +} + +# TODO(GYP): should be java_library +# GYP: //third_party/junit.gyp:junit_jar +android_library("junit") { + deps = [ + ":hamcrest" + ] + DEPRECATED_java_in_dir = "src/src/main/java" +} diff --git a/third_party/junit/junit.gyp b/third_party/junit/junit.gyp index b68534e..8477aa0 100644 --- a/third_party/junit/junit.gyp +++ b/third_party/junit/junit.gyp @@ -5,6 +5,7 @@ { 'targets': [ { + # GN: //third_party/junit:hamcrest 'target_name': 'hamcrest_jar', 'type': 'none', 'variables': { @@ -15,6 +16,7 @@ ] }, { + # GN: //third_party/junit:junit 'target_name': 'junit_jar', 'type': 'none', 'dependencies': [ diff --git a/third_party/libaddressinput/BUILD.gn b/third_party/libaddressinput/BUILD.gn index 2f2bb03..bb32d46 100644 --- a/third_party/libaddressinput/BUILD.gn +++ b/third_party/libaddressinput/BUILD.gn @@ -125,82 +125,95 @@ static_library("util") { ] } -if (!is_android) { - -# 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", - ] - - configs -= [ "//build/config/compiler:chromium_code" ] - configs += [ "//build/config/compiler:no_chromium_code" ] - - public_configs = [ ":libaddressinput_config" ] - - deps = [ - ":strings", - ":util", - "//base", - "//base:i18n", - "//third_party/icu", - "//third_party/re2", - ] +if (is_android) { + import("//build/config/android/rules.gni") + + android_resources("android_addressinput_widget_resources") { + custom_package = "com.android.i18n.addressinput" + resource_dirs = [ "src/java/res" ] + v14_verify_only = true + } + + # 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" ]) + + + # 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" ] + + public_configs = [ ":libaddressinput_config" ] + + deps = [ + ":strings", + ":util", + "//base", + "//base:i18n", + "//third_party/icu", + "//third_party/re2", + ] + } + + 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", + ] + } } - -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", - ] -} - -} # !is_android diff --git a/third_party/libaddressinput/libaddressinput.gyp b/third_party/libaddressinput/libaddressinput.gyp index 698cbb5..db2b466 100644 --- a/third_party/libaddressinput/libaddressinput.gyp +++ b/third_party/libaddressinput/libaddressinput.gyp @@ -165,6 +165,7 @@ ['OS=="android"', { 'targets': [ { + # GN: //third_party/libaddressinput:android_addressinput_widget_java 'target_name': 'android_addressinput_widget', 'type': 'none', 'variables': { |