github.phpd.cn/thought-machine/please@v12.2.0+incompatible/package/BUILD (about)

     1  subinclude('//build_defs:version')
     2  subinclude('//build_defs:fpm')
     3  subinclude('//build_defs:signing')
     4  
     5  # This is the master list of files that get installed.
     6  filegroup(
     7      name = 'installed_files',
     8      srcs = [
     9          '//src:please',
    10          '//tools/jarcat',
    11          '//tools/java:javac_worker',
    12          '//tools/java:junit_runner',
    13          '//tools/please_diff_graphs',
    14          '//tools/please_go_filter',
    15          '//tools/please_go_test',
    16          '//tools/please_maven',
    17          '//tools/please_pex',
    18      ],
    19  )
    20  
    21  signed_fpm_deb(
    22      name = 'please',
    23      version = VERSION,
    24      dirs = {'/opt/please': [':installed_files']},
    25      links = {
    26          '/usr/bin/plz': '/opt/please/please',
    27          '/usr/bin/plz_diff_graphs': '/opt/please/please_diff_graphs',
    28      },
    29  )
    30  
    31  signed_fpm_deb(
    32      name = 'plz_rpc_cache_server',
    33      package_name = 'plz-rpc-cache-server',
    34      version = VERSION,
    35      files = {
    36          '/usr/bin/plz_rpc_cache_server': '//tools/cache:rpc_cache_server',
    37      },
    38  )
    39  
    40  signed_fpm_deb(
    41      name = 'plz_http_cache_server',
    42      package_name = 'plz-http-cache-server',
    43      version = VERSION,
    44      files = {
    45          '/usr/bin/plz_http_cache_server': '//tools/cache:http_cache_server',
    46      },
    47  )
    48  
    49  signed_fpm_deb(
    50      name = 'please_sandbox',
    51      version = VERSION,
    52      files = {
    53          '/usr/bin/please_sandbox': '//tools/sandbox:please_sandbox',
    54      },
    55      # fpm builds us the deb, but we need to apply the suid bit separately.
    56      post_cmds = [
    57          'ar x $OUT',
    58          'rm $OUT',
    59          'tar -xzf data.tar.gz',
    60          'rm data.tar.gz',
    61          'tar -czf data.tar.gz --mode="u+s" --owner root --group root usr/bin/please_sandbox',
    62          'ar -rc $OUT debian-binary control.tar.gz data.tar.gz',
    63      ],
    64  )
    65  
    66  signed_tarball(
    67      name = 'please_tarball',
    68      srcs = [':installed_files'],
    69      out = 'please_%s.tar.gz' % VERSION,
    70      subdir = 'please',
    71  )
    72  
    73  signed_tarball(
    74      name = 'servers_tarball',
    75      srcs = [
    76          '//tools/cache:http_cache_server',
    77          '//tools/cache:rpc_cache_server',
    78      ],
    79      out = 'please_servers_%s.tar.gz' % VERSION,
    80      subdir = 'please',
    81  )
    82  
    83  filegroup(
    84      name = 'tarballs',
    85      srcs = [
    86          ':please_tarball',
    87          ':servers_tarball',
    88      ],
    89  )
    90  
    91  # This generates a stamped version of the various inputs which will have a unique name.
    92  # We don't really use it here, it's for testing purposes really.
    93  hash_filegroup(
    94      name = 'hash_files',
    95      srcs = [':installed_files'],
    96  )