BUILD 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. load("//bazel/cc_rules:defs.bzl", "cc_library", "cc_test")
  5. load("//bazel/manifest:defs.bzl", "manifest")
  6. package(default_visibility = ["//visibility:public"])
  7. cc_library(
  8. name = "emitter",
  9. srcs = [
  10. "consumer.cpp",
  11. "diagnostic.cpp",
  12. ],
  13. hdrs = [
  14. "consumer.h",
  15. "diagnostic.h",
  16. "emitter.h",
  17. ],
  18. deps = [
  19. ":format_providers",
  20. ":kind",
  21. "//common:check",
  22. "//common:ostream",
  23. "@llvm-project//llvm:Support",
  24. ],
  25. )
  26. cc_test(
  27. name = "emitter_test",
  28. size = "small",
  29. srcs = ["emitter_test.cpp"],
  30. deps = [
  31. ":emitter",
  32. ":mocks",
  33. "//testing/base:gtest_main",
  34. "@googletest//:gtest",
  35. "@llvm-project//llvm:Support",
  36. ],
  37. )
  38. cc_library(
  39. name = "kind",
  40. srcs = ["kind.cpp"],
  41. hdrs = ["kind.h"],
  42. textual_hdrs = [
  43. "kind.def",
  44. ],
  45. deps = [
  46. "//common:enum_base",
  47. ],
  48. )
  49. manifest(
  50. name = "all_testdata.txt",
  51. srcs = ["//toolchain/testing:all_testdata"],
  52. )
  53. cc_test(
  54. name = "coverage_test",
  55. size = "small",
  56. srcs = ["coverage_test.cpp"],
  57. args = ["--testdata_manifest=$(location :all_testdata.txt)"],
  58. data = [
  59. ":all_testdata.txt",
  60. "//toolchain/testing:all_testdata",
  61. ],
  62. deps = [
  63. ":kind",
  64. "//testing/base:gtest_main",
  65. "//toolchain/testing:coverage_helper",
  66. "@abseil-cpp//absl/flags:flag",
  67. "@googletest//:gtest",
  68. ],
  69. )
  70. cc_library(
  71. name = "file_diagnostics",
  72. hdrs = ["file_diagnostics.h"],
  73. deps = [
  74. ":emitter",
  75. "@llvm-project//llvm:Support",
  76. ],
  77. )
  78. cc_library(
  79. name = "format_providers",
  80. srcs = ["format_providers.cpp"],
  81. hdrs = ["format_providers.h"],
  82. deps = [
  83. "//common:check",
  84. "//common:ostream",
  85. "@llvm-project//llvm:Support",
  86. ],
  87. )
  88. cc_test(
  89. name = "format_providers_test",
  90. size = "small",
  91. srcs = ["format_providers_test.cpp"],
  92. deps = [
  93. ":emitter",
  94. ":format_providers",
  95. ":mocks",
  96. "//testing/base:gtest_main",
  97. "@googletest//:gtest",
  98. "@llvm-project//llvm:Support",
  99. ],
  100. )
  101. cc_library(
  102. name = "null_diagnostics",
  103. testonly = 1,
  104. hdrs = ["null_diagnostics.h"],
  105. deps = [
  106. ":emitter",
  107. "@llvm-project//llvm:Support",
  108. ],
  109. )
  110. cc_library(
  111. name = "sorting_consumer",
  112. hdrs = ["sorting_consumer.h"],
  113. deps = [
  114. ":emitter",
  115. "//common:check",
  116. "@llvm-project//llvm:Support",
  117. ],
  118. )
  119. cc_test(
  120. name = "sorting_consumer_test",
  121. size = "small",
  122. srcs = ["sorting_consumer_test.cpp"],
  123. deps = [
  124. ":emitter",
  125. ":mocks",
  126. ":sorting_consumer",
  127. "//testing/base:gtest_main",
  128. "@googletest//:gtest",
  129. "@llvm-project//llvm:Support",
  130. ],
  131. )
  132. cc_library(
  133. name = "mocks",
  134. testonly = 1,
  135. srcs = ["mocks.cpp"],
  136. hdrs = ["mocks.h"],
  137. deps = [
  138. ":emitter",
  139. "@googletest//:gtest",
  140. "@llvm-project//llvm:Support",
  141. ],
  142. )