blob: c370528f8db351ff6ebe445596ede016ad21aa02 [file] [log] [blame]
# 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/config.gni")
import("//build/config/android/rules.gni")
import("//build/config/python.gni")
import("//build_overrides/build.gni")
if (enable_java_templates) {
sun_tools_jar_path = "$root_gen_dir/sun_tools_jar/tools.jar"
# Create or update the API versions cache if necessary by running a
# functionally empty lint task. This prevents racy creation of the
# cache while linting java targets in android_lint.
android_lint("prepare_android_lint_cache") {
android_manifest = "//build/android/AndroidManifest.xml"
create_cache = true
}
action("find_sun_tools_jar") {
script = "//build/android/gyp/find_sun_tools_jar.py"
depfile = "$target_gen_dir/$target_name.d"
outputs = [
sun_tools_jar_path,
]
args = [
"--depfile",
rebase_path(depfile, root_build_dir),
"--output",
rebase_path(sun_tools_jar_path, root_build_dir),
]
}
java_prebuilt("sun_tools_java") {
jar_path = sun_tools_jar_path
deps = [
":find_sun_tools_jar",
]
}
# Write to a file some GN vars that are useful to scripts that use the output
# directory. Format is chosen as easliy importable by both python and bash.
_lines = [
"android_sdk_build_tools=" +
rebase_path(android_sdk_build_tools, root_build_dir),
"android_sdk_build_tools_version=$android_sdk_build_tools_version",
"android_sdk_tools_version_suffix=$android_sdk_tools_version_suffix",
"android_sdk_root=" + rebase_path(android_sdk_root, root_build_dir),
"android_sdk_version=$android_sdk_version",
"android_ndk_root=" + rebase_path(android_ndk_root, root_build_dir),
"android_tool_prefix=" + rebase_path(android_tool_prefix, root_build_dir),
"android_configuration_failure_dir=" +
rebase_path(android_configuration_failure_dir, root_build_dir),
]
if (defined(android_secondary_abi_cpu)) {
_secondary_label_info =
get_label_info(":foo($android_secondary_abi_toolchain)", "root_out_dir")
_lines += [ "android_secondary_abi_toolchain=" +
rebase_path(_secondary_label_info, root_build_dir) ]
}
if (defined(build_apk_secondary_abi)) {
_lines += [ "build_apk_secondary_abi=$build_apk_secondary_abi" ]
}
write_file(android_build_vars, _lines)
}
python_library("devil_chromium_py") {
pydeps_file = "devil_chromium.pydeps"
data = [
"devil_chromium.py",
"devil_chromium.json",
"//third_party/catapult/third_party/gsutil/",
"//third_party/catapult/devil/devil/devil_dependencies.json",
]
}
python_library("test_runner_py") {
testonly = true
pydeps_file = "test_runner.pydeps"
data = [
"pylib/gtest/filter/",
"pylib/instrumentation/render_test.html.jinja",
"test_wrapper/logdog_wrapper.py",
"${android_sdk_build_tools}/aapt",
"${android_sdk_build_tools}/dexdump",
"${android_sdk_build_tools}/lib64/libc++.so",
"${android_sdk_build_tools}/split-select",
"${android_sdk_root}/platform-tools/adb",
]
data_deps = [
":devil_chromium_py",
]
if (build_with_chromium) {
data += [
"//third_party/android_build_tools/bundletool/bundletool-all-0.10.3.jar",
"//tools/android/avd/proto/",
]
data_deps +=
[ "//third_party/android_platform/development/scripts:stack_py" ]
if (is_asan) {
data_deps += [ "//tools/android/asan/third_party:asan_device_setup" ]
}
}
# Proguard is needed only when using apks (rather than native executables).
if (enable_java_templates) {
deps = [
"//third_party/proguard:proguard603_java",
]
}
}
python_library("logdog_wrapper_py") {
pydeps_file = "test_wrapper/logdog_wrapper.pydeps"
}
python_library("resource_sizes_py") {
pydeps_file = "resource_sizes.pydeps"
data_deps = [
":devil_chromium_py",
"//third_party/catapult/tracing:convert_chart_json",
]
data = [
android_build_vars,
android_readelf,
]
}
python_library("bundle_wrapper_script_py") {
pydeps_file = "gyp/create_bundle_wrapper_script.pydeps"
data = [
"//third_party/android_build_tools/bundletool/bundletool-all-0.10.3.jar",
]
}