| Index: build/config/android/internal_rules.gni
|
| diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
|
| index 8920e95abccd1509fa67b70ac27c73ea6c83c701..ab773eae500ebbc3bf9d1a0968e0e0220837b841 100644
|
| --- a/build/config/android/internal_rules.gni
|
| +++ b/build/config/android/internal_rules.gni
|
| @@ -62,6 +62,44 @@ template("android_lint") {
|
| }
|
| }
|
|
|
| +template("findbugs") {
|
| + jar_path = invoker.jar_path
|
| +
|
| + build_config = invoker.build_config
|
| +
|
| + action(target_name) {
|
| + script = "//build/android/findbugs_diff.py"
|
| + depfile = "$target_gen_dir/$target_name.d"
|
| + result_path = "$target_gen_dir/$target_name/result.xml"
|
| + exclusions_file = "//build/android/findbugs_filter/findbugs_exclude.xml"
|
| +
|
| + rebased_build_config = rebase_path(build_config, root_build_dir)
|
| +
|
| + inputs = [
|
| + "//build/android/pylib/utils/findbugs.py",
|
| + exclusions_file,
|
| + jar_path,
|
| + ]
|
| +
|
| + outputs = [
|
| + depfile,
|
| + result_path,
|
| + ]
|
| +
|
| + args = [
|
| + "--depfile",
|
| + rebase_path(depfile, root_build_dir),
|
| + "--exclude",
|
| + rebase_path(exclusions_file, root_build_dir),
|
| + "--auxclasspath-gyp",
|
| + "@FileArg($rebased_build_config:javac:classpath)",
|
| + "--output-file",
|
| + rebase_path(result_path, root_build_dir),
|
| + rebase_path(jar_path, root_build_dir),
|
| + ]
|
| + }
|
| +}
|
| +
|
| template("dex") {
|
| set_sources_assignment_filter([])
|
| if (defined(invoker.testonly)) {
|
| @@ -188,7 +226,8 @@ template("write_build_config") {
|
| dep_name = get_label_info(d, "name")
|
| possible_deps_configs += [ "$dep_gen_dir/$dep_name.build_config" ]
|
| }
|
| - rebase_possible_deps_configs = rebase_path(possible_deps_configs)
|
| + rebase_possible_deps_configs =
|
| + rebase_path(possible_deps_configs, root_build_dir)
|
|
|
| outputs = [
|
| depfile,
|
| @@ -250,6 +289,19 @@ template("write_build_config") {
|
| args += [ "--bypass-platform-checks" ]
|
| }
|
|
|
| + if (defined(invoker.apk_under_test)) {
|
| + deps += [ invoker.apk_under_test ]
|
| + apk_under_test_gen_dir =
|
| + get_label_info(invoker.apk_under_test, "target_gen_dir")
|
| + apk_under_test_name = get_label_info(invoker.apk_under_test, "name")
|
| + apk_under_test_config =
|
| + "$apk_under_test_gen_dir/$apk_under_test_name.build_config"
|
| + args += [
|
| + "--tested-apk-config",
|
| + rebase_path(apk_under_test_config, root_build_dir),
|
| + ]
|
| + }
|
| +
|
| if (is_android_resources || is_apk) {
|
| assert(defined(invoker.resources_zip))
|
| args += [
|
| @@ -262,6 +314,8 @@ template("write_build_config") {
|
| "--android-manifest",
|
| rebase_path(invoker.android_manifest, root_build_dir),
|
| ]
|
| + } else {
|
| + assert(!is_apk, "apk build configs require an android_manifest")
|
| }
|
| if (defined(invoker.custom_package)) {
|
| args += [
|
| @@ -914,6 +968,14 @@ template("java_library_impl") {
|
| jar_path = _jar_path
|
| java_files = _java_files
|
| }
|
| +
|
| + if (run_findbugs) {
|
| + _final_datadeps += [ ":${_template_name}__findbugs" ]
|
| + findbugs("${_template_name}__findbugs") {
|
| + build_config = _build_config
|
| + jar_path = _jar_path
|
| + }
|
| + }
|
| }
|
|
|
| _final_deps += [ ":${_template_name}__dex" ]
|
|
|