| # 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.11.0.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.11.0.jar", |
| ] |
| } |