# This package contains sources for language-specific runfiles libraries. # # Do not depend on these rules. Depend on the ones in @bazel_tools//tools/runfiles instead, that way # your binary won't require the Bazel source tree to work correctly. package(default_visibility = ["//visibility:private"]) filegroup( name = "srcs", srcs = glob( ["**"], exclude = [".*"], # .swp files and such ) + [ "//src/tools/runfiles/java/com/google/devtools/build/runfiles:srcs", ], visibility = ["//src:__pkg__"], ) filegroup( name = "embedded_tools", srcs = [ "BUILD.tools", "runfiles.cc", "runfiles.h", "runfiles.py", "//src/tools/runfiles/java/com/google/devtools/build/runfiles:embedded_tools", ], visibility = ["//src:__pkg__"], ) py_library( name = "py-runfiles", srcs = ["runfiles.py"], ) py_test( name = "py-runfiles-test", srcs = ["runfiles_test.py"], main = "runfiles_test.py", deps = [":py-runfiles"], ) cc_library( name = "cc-runfiles", srcs = ["runfiles.cc"], hdrs = ["runfiles.h"], # This library is available to clients under # @bazel_tools//tools/runfiles:cc-runfiles, with the same source files. # The include statement in runfiles.cc that includes runfiles.h must work # both here in the //src/tools/runfiles package, and in the # @bazel_tools//tools/runfiles package. # runfiles.cc includes "tools/runfiles/runfiles.h" so we need to tell the # compiler to prepend "src" to it so the include path is valid. # Alternatively we could omit this "copts" attribute here and add some # include path manipulating attributes to # @bazel_tools//tools/runfiles:cc-runfiles instead -- that would work too, # but I (laszlocsomor@) find this solution (i.e. the "copts" attribute on # this rule) to be simpler. copts = ["-Isrc"], ) cc_test( name = "cc-runfiles-test", srcs = ["runfiles_test.cc"], deps = [ ":cc-runfiles", "//src/main/cpp/util:file", "//third_party:gtest", ], ) sh_library( name = "runfiles_sh_lib", srcs = ["runfiles.sh"], ) sh_test( name = "runfiles_sh_test", srcs = select({ "//src/conditions:windows": ["runfiles_windows_test.sh"], "//conditions:default": ["runfiles_posix_test.sh"], }), deps = [":runfiles_sh_lib"], ) test_suite( name = "windows_tests", tags = [ "-no_windows", "-slow", ], ) test_suite( name = "all_windows_tests", tests = [ ":windows_tests", "//src/tools/runfiles/java/com/google/devtools/build/runfiles:all_windows_tests", ], visibility = ["//src:__pkg__"], )