github.com/sercand/please@v13.4.0+incompatible/test/moar/BUILD (about) 1 # For testing certain things that require targets to be in a separate package. 2 3 package(default_visibility = ["//test/..."]) 4 5 genrule( 6 name = "test_require_py", 7 outs = ["test_require.py"], 8 cmd = "touch $OUT", 9 ) 10 11 genrule( 12 name = "test_require_go", 13 outs = ["test_require.go"], 14 cmd = "touch $OUT", 15 ) 16 17 filegroup( 18 name = "test_require_fg", 19 srcs = [ 20 ":test_require_go", 21 ":test_require_py", 22 ], 23 provides = { 24 "py": ":test_require_py", 25 "go": ":test_require_go", 26 }, 27 deps = [ 28 ":test_require_go", 29 ":test_require_py", 30 ], 31 ) 32 33 python_library( 34 name = "require_provide_check", 35 srcs = [], 36 deps = [ 37 ":test_require_fg", 38 ], 39 ) 40 41 # Test that require/provide updates $SRCS correctly. 42 # See issue #87 for a bit more detail. 43 filegroup( 44 name = "provider", 45 provides = {"wibble": ":provided"}, 46 ) 47 48 genrule( 49 name = "provided", 50 outs = ["provided.txt"], 51 cmd = "echo \"hello\" > $OUT", 52 ) 53 54 gentest( 55 name = "require_test", 56 srcs = [":provider"], 57 outs = ["require_test.txt"], 58 cmd = "cat $SRCS > $OUT", 59 no_test_output = True, 60 requires = ["wibble"], 61 test_cmd = "[ \"`cat $TEST`\" == \"hello\" ]", 62 )