BUILD.gn 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # Copyright 2022 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//build/config/coverage/coverage.gni")
  5. import("//build/config/python.gni")
  6. group("orchestrator_all") {
  7. data_deps = [
  8. # blink merge scripts the Orchestrator needs to merge blink test results
  9. ":blink_merge_web_test_results_py",
  10. ":blinkpy_merge_results_py",
  11. # merge scripts the Orchestrator needs to merge test results and coverage
  12. # profile information
  13. ":code_coverage_merge_results_py",
  14. ":code_coverage_merge_steps_py",
  15. ":process_perf_results_py",
  16. ":standard_gtest_merge_py",
  17. ":standard_isolated_script_merge_py",
  18. ]
  19. if (is_android) {
  20. data_deps += [ "//build/android:test_result_presentations_py" ]
  21. }
  22. data = [
  23. # Various merge/collect scripts will likely need a venv specified in
  24. # the root vpython spec files.
  25. "//.vpython3",
  26. # Test specs the Orchestrator needs to trigger swarming tests
  27. "//testing/buildbot/*.json",
  28. ]
  29. # Orchestrator will run this script to curl for the coverage tool, which
  30. # merges and outputs coverage data
  31. if (use_clang_coverage) {
  32. data += [ "//tools/clang/scripts/update.py" ]
  33. }
  34. if (use_jacoco_coverage) {
  35. data += [ "//third_party/jacoco/lib/jacococli.jar" ]
  36. data_deps += [ "//third_party/jdk:java_data" ]
  37. }
  38. write_runtime_deps = "$root_out_dir/orchestrator_all.runtime_deps"
  39. }
  40. # blink merge scripts pydeps files for the Orchestrator
  41. python_library("blink_merge_web_test_results_py") {
  42. pydeps_file = "//third_party/blink/tools/merge_web_test_results.pydeps"
  43. }
  44. python_library("blinkpy_merge_results_py") {
  45. pydeps_file =
  46. "//third_party/blink/tools/blinkpy/web_tests/merge_results.pydeps"
  47. }
  48. # pydeps files for merge scripts needed by the Orchestrator
  49. python_library("standard_isolated_script_merge_py") {
  50. pydeps_file = "//testing/merge_scripts/standard_isolated_script_merge.pydeps"
  51. }
  52. python_library("standard_gtest_merge_py") {
  53. pydeps_file = "//testing/merge_scripts/standard_gtest_merge.pydeps"
  54. }
  55. python_library("code_coverage_merge_results_py") {
  56. pydeps_file = "//testing/merge_scripts/code_coverage/merge_results.pydeps"
  57. }
  58. python_library("code_coverage_merge_steps_py") {
  59. pydeps_file = "//testing/merge_scripts/code_coverage/merge_steps.pydeps"
  60. }
  61. python_library("process_perf_results_py") {
  62. pydeps_file = "//tools/perf/process_perf_results.pydeps"
  63. # Telemetry fails if catapult's vendored libs aren't present on the
  64. # filesystem. But since process_perf_results.py doesn't ever import any of
  65. # them, build/print_python_deps.py doesn't detect them. So to appease
  66. # telemetry, just add the needed dirs directly.
  67. data = [
  68. "//third_party/catapult/telemetry/third_party/",
  69. "//third_party/catapult/third_party/six/",
  70. ]
  71. }