github.phpd.cn/thought-machine/please@v12.2.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  )