summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--BUILD.gn9
-rw-r--r--build/config/android/config.gni20
-rw-r--r--build/config/android/internal_rules.gni6
-rw-r--r--build/config/android/rules.gni20
-rw-r--r--build/secondary/tools/grit/grit_rule.gni4
-rw-r--r--chrome/chrome_android_paks.gypi4
-rw-r--r--chrome/test/BUILD.gn7
-rw-r--r--testing/android/junit/BUILD.gn27
-rw-r--r--testing/android/junit/junit_test.gyp2
-rw-r--r--third_party/junit/BUILD.gn20
-rw-r--r--third_party/junit/junit.gyp2
-rw-r--r--third_party/libaddressinput/BUILD.gn169
-rw-r--r--third_party/libaddressinput/libaddressinput.gyp1
13 files changed, 203 insertions, 88 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 40d9d28..e3bf258 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -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': {