| # Copyright 2017 The Chromium Authors | 
 | # Use of this source code is governed by a BSD-style license that can be | 
 | # found in the LICENSE file. | 
 |  | 
 | action("histograms_xml") { | 
 |   script = "histograms/merge_xml.py" | 
 |   output = "$root_out_dir/histograms.xml" | 
 |   outputs = [ output ] | 
 |   args = [ | 
 |     "--output", | 
 |     rebase_path(output, root_build_dir), | 
 |   ] | 
 | } | 
 |  | 
 | copy("actions_xml") { | 
 |   sources = [ "actions/actions.xml" ] | 
 |   outputs = [ "$root_out_dir/actions.xml" ] | 
 | } | 
 |  | 
 | copy("ukm_xml") { | 
 |   sources = [ "ukm/ukm.xml" ] | 
 |   outputs = [ "$root_out_dir/ukm.xml" ] | 
 | } | 
 |  | 
 | group("metrics_metadata") { | 
 |   deps = [ | 
 |     ":actions_xml", | 
 |     ":histograms_xml", | 
 |     ":ukm_xml", | 
 |   ] | 
 | } | 
 |  | 
 | # This group defines the isolate files needed to run metrics_python_tests.py on | 
 | # on bots. This also tells the build system when the tests should be re-run - | 
 | # when one of the dependent files changes. | 
 | # | 
 | # When adding new entries to this test suite, you can test things locally with | 
 | # isolation using the following command: | 
 | # | 
 | #  tools/mb/mb.py run out/gn metrics_python_tests -- \ | 
 | #    --isolated-script-test-output=/tmp/output.json | 
 | # | 
 | group("metrics_python_tests") { | 
 |   data = [ | 
 |     # The run_isolated_script_test.py script and its dependencies. | 
 |     "//testing/scripts/run_isolated_script_test.py", | 
 |     "//testing/scripts/common.py", | 
 |     "//third_party/catapult/third_party/typ/", | 
 |  | 
 |     # Scripts we depend on. Their unit tests are also included. | 
 |     "//tools/json_comment_eater/json_comment_eater.py", | 
 |     "//tools/json_comment_eater/json_comment_eater_test.py", | 
 |     "//tools/json_comment_eater/everything.json", | 
 |     "//tools/json_comment_eater/everything_expected.json", | 
 |     "//tools/json_to_struct/element_generator.py", | 
 |     "//tools/json_to_struct/element_generator_test.py", | 
 |     "//tools/json_to_struct/json_to_struct.py", | 
 |     "//tools/json_to_struct/struct_generator.py", | 
 |     "//tools/json_to_struct/struct_generator_test.py", | 
 |  | 
 |     # The metrics_python_tests.py runner and its dependencies. | 
 |     "//tools/metrics/metrics_python_tests.py", | 
 |  | 
 |     "//tools/metrics/actions/action_utils.py", | 
 |     "//tools/metrics/actions/actions_model.py", | 
 |     "//tools/metrics/actions/actions_model_test.py", | 
 |     "//tools/metrics/actions/extract_actions.py", | 
 |     "//tools/metrics/actions/extract_actions_test.py", | 
 |  | 
 |     "//tools/metrics/common/diff_util.py", | 
 |     "//tools/metrics/common/models.py", | 
 |     "//tools/metrics/common/path_util.py", | 
 |     "//tools/metrics/common/presubmit_util.py", | 
 |     "//tools/metrics/common/pretty_print_xml.py", | 
 |     "//tools/metrics/common/etree_util.py", | 
 |  | 
 |     "//tools/metrics/histograms/test_data/enums.xml", | 
 |     "//tools/metrics/histograms/test_data/histograms.xml", | 
 |     "//tools/metrics/histograms/test_data/ukm.xml", | 
 |     "//tools/metrics/histograms/enums.xml", | 
 |     "//tools/metrics/histograms/expand_owners.py", | 
 |     "//tools/metrics/histograms/expand_owners_unittest.py", | 
 |     "//tools/metrics/histograms/extract_histograms.py", | 
 |     "//tools/metrics/histograms/extract_histograms_test.py", | 
 |     "//tools/metrics/histograms/generate_expired_histograms_array.py", | 
 |     "//tools/metrics/histograms/generate_expired_histograms_array_unittest.py", | 
 |     "//tools/metrics/histograms/generate_flag_enums.py", | 
 |     "//tools/metrics/histograms/generate_flag_enums_test.py", | 
 |     "//tools/metrics/histograms/histogram_ownership.py", | 
 |     "//tools/metrics/histograms/histograms.xml", | 
 |     "//tools/metrics/histograms/histogram_configuration_model.py", | 
 |     "//tools/metrics/histograms/histogram_configuration_model_test_enums.py", | 
 |     "//tools/metrics/histograms/histogram_configuration_model_test_histograms.py", | 
 |     "//tools/metrics/histograms/histogram_paths.py", | 
 |     "//tools/metrics/histograms/merge_xml.py", | 
 |     "//tools/metrics/histograms/merge_xml_test.py", | 
 |     "//tools/metrics/histograms/populate_enums.py", | 
 |     "//tools/metrics/histograms/pretty_print.py", | 
 |     "//tools/metrics/histograms/pretty_print_test.py", | 
 |  | 
 |     "//tools/metrics/structured/codegen_unittest.py", | 
 |     "//tools/metrics/structured/model_unittest.py", | 
 |  | 
 |     "//tools/metrics/ukm/ukm.xml", | 
 |     "//tools/metrics/ukm/codegen.py", | 
 |     "//tools/metrics/ukm/codegen_test.py", | 
 |     "//tools/metrics/ukm/builders_template.py", | 
 |     "//tools/metrics/ukm/decode_template.py", | 
 |     "//tools/metrics/ukm/gen_builders.py", | 
 |     "//tools/metrics/ukm/gen_builders_test.py", | 
 |     "//tools/metrics/ukm/ukm_model.py", | 
 |     "//tools/metrics/ukm/ukm_model_test.py", | 
 |     "//tools/metrics/ukm/xml_validations.py", | 
 |     "//tools/metrics/ukm/xml_validations_test.py", | 
 |  | 
 |     "//tools/python/google/path_utils.py", | 
 |  | 
 |     "//tools/variations/fieldtrial_to_struct_unittest.py", | 
 |     "//tools/variations/fieldtrial_to_struct.py", | 
 |     "//tools/variations/fieldtrial_util_unittest.py", | 
 |     "//tools/variations/fieldtrial_util.py", | 
 |     "//tools/variations/split_variations_cmd_unittest.py", | 
 |     "//tools/variations/split_variations_cmd.py", | 
 |     "//tools/variations/unittest_data/expected_output.cc", | 
 |     "//tools/variations/unittest_data/expected_output.h", | 
 |     "//tools/variations/unittest_data/test_config.json", | 
 |     "//tools/variations/unittest_data/variations_cmd.txt", | 
 |     "//components/variations/field_trial_config/field_trial_testing_config_schema.json", | 
 |     "//components/variations/service/generate_ui_string_overrider.py", | 
 |     "//components/variations/service/generate_ui_string_overrider_unittest.py", | 
 |   ] | 
 |  | 
 |   # Add platform-specific dependencies for dirmd. | 
 |   if (is_win) { | 
 |     data += [ | 
 |       "//third_party/depot_tools/dirmd.bat", | 
 |       "//third_party/depot_tools/.cipd_bin/dirmd.exe", | 
 |       "//third_party/depot_tools/cipd_bin_setup.bat", | 
 |       "//third_party/depot_tools/cipd_manifest.txt", | 
 |     ] | 
 |   } else { | 
 |     data += [ | 
 |       "//third_party/depot_tools/dirmd", | 
 |       "//third_party/depot_tools/.cipd_bin/dirmd", | 
 |       "//third_party/depot_tools/cipd_bin_setup.sh", | 
 |       "//third_party/depot_tools/cipd_manifest.txt", | 
 |     ] | 
 |   } | 
 |  | 
 |   data_deps = [ "//testing:test_scripts_shared" ] | 
 | } |