| """ |
| Simple rule for running buildifier from the toolchain config |
| """ |
| |
| def _buildifier_binary(ctx): |
| buildifier = ctx.toolchains["@buildifier_prebuilt//buildifier:toolchain"]._tool |
| script = ctx.actions.declare_file("buildifier") |
| ctx.actions.symlink( |
| output = script, |
| target_file = buildifier, |
| is_executable = True, |
| ) |
| |
| return [ |
| DefaultInfo( |
| runfiles = ctx.runfiles(files = [buildifier]), |
| executable = script, |
| ), |
| ] |
| |
| buildifier_binary = rule( |
| implementation = _buildifier_binary, |
| attrs = {}, |
| toolchains = ["@buildifier_prebuilt//buildifier:toolchain"], |
| executable = True, |
| ) |