github.com/cheshirekow/buildtools@v0.0.0-20200224190056-5d637702fe81/buildifier/BUILD.bazel (about)

     1  load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
     2  load("@build_bazel_rules_nodejs//:index.bzl", "pkg_npm")
     3  load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
     4  
     5  go_binary(
     6      name = "buildifier",
     7      embed = [":go_default_library"],
     8      visibility = ["//visibility:public"],
     9  )
    10  
    11  go_binary(
    12      name = "buildifier-darwin",
    13      out = "buildifier-darwin_amd64",
    14      embed = [":go_default_library"],
    15      goarch = "amd64",
    16      goos = "darwin",
    17      pure = "on",
    18      visibility = ["//visibility:public"],
    19  )
    20  
    21  go_binary(
    22      name = "buildifier-linux",
    23      out = "buildifier-linux_amd64",
    24      embed = [":go_default_library"],
    25      goarch = "amd64",
    26      goos = "linux",
    27      pure = "on",
    28      visibility = ["//visibility:public"],
    29  )
    30  
    31  go_binary(
    32      name = "buildifier-windows",
    33      out = "buildifier-windows_amd64.exe",
    34      embed = [":go_default_library"],
    35      goarch = "amd64",
    36      goos = "windows",
    37      pure = "on",
    38      visibility = ["//visibility:public"],
    39  )
    40  
    41  # Test that the buildifier binary works
    42  sh_test(
    43      name = "buildifier_integration_test",
    44      size = "small",
    45      srcs = ["integration_test.sh"],
    46      args = [
    47          "$(location :buildifier)",
    48          "$(location //buildifier2)",
    49      ],
    50      data = [
    51          ":buildifier",
    52          "//buildifier2",
    53      ],
    54      deps = ["@bazel_tools//tools/bash/runfiles"],
    55  )
    56  
    57  go_library(
    58      name = "go_default_library",
    59      srcs = ["buildifier.go"],
    60      importpath = "github.com/bazelbuild/buildtools/buildifier",
    61      visibility = ["//visibility:private"],
    62      x_defs = {
    63          "main.buildVersion": "{STABLE_buildVersion}",
    64          "main.buildScmRevision": "{STABLE_buildScmRevision}",
    65      },
    66      deps = [
    67          "//build:go_default_library",
    68          "//buildifier/utils:go_default_library",
    69          "//differ:go_default_library",
    70          "//tables:go_default_library",
    71          "//warn:go_default_library",
    72      ],
    73  )
    74  
    75  exports_files(
    76      ["runner.bash.template"],
    77      visibility = ["//visibility:public"],
    78  )
    79  
    80  genrule(
    81      name = "launcher",
    82      srcs = ["//:launcher.js"],
    83      outs = ["buildifier.js"],
    84      cmd = "sed s/_TOOL_/buildifier/ $< > $@",
    85  )
    86  
    87  copy_file(
    88      name = "copy_LICENSE",
    89      src = "//:LICENSE",
    90      out = "LICENSE",
    91  )
    92  
    93  pkg_npm(
    94      name = "npm_package",
    95      srcs = [
    96          "package.json",
    97          "README.md",
    98      ],
    99      deps = [
   100          "LICENSE",
   101          "buildifier.js",
   102          ":buildifier-darwin",
   103          ":buildifier-linux",
   104          ":buildifier-windows",
   105      ]
   106  )