parent
553c08dc60
commit
09b1079228
|
@ -30,7 +30,7 @@ in genrule.tools for example. You can also augment the binary with runfiles.
|
|||
| :------------- | :------------- | :------------- | :------------- | :------------- |
|
||||
| <a id="native_binary-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
|
||||
| <a id="native_binary-data"></a>data | data dependencies. See https://bazel.build/reference/be/common-definitions#typical.data | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
|
||||
| <a id="native_binary-out"></a>out | An output name for the copy of the binary | String | required | |
|
||||
| <a id="native_binary-out"></a>out | An output name for the copy of the binary. Defaults to name.exe. (We add .exe to the name by default because it's required on Windows and tolerated on other platforms.) | String | optional | <code>""</code> |
|
||||
| <a id="native_binary-src"></a>src | path of the pre-built executable | <a href="https://bazel.build/concepts/labels">Label</a> | required | |
|
||||
|
||||
|
||||
|
@ -56,7 +56,7 @@ the binary with runfiles.
|
|||
| :------------- | :------------- | :------------- | :------------- | :------------- |
|
||||
| <a id="native_test-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
|
||||
| <a id="native_test-data"></a>data | data dependencies. See https://bazel.build/reference/be/common-definitions#typical.data | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
|
||||
| <a id="native_test-out"></a>out | An output name for the copy of the binary | String | required | |
|
||||
| <a id="native_test-out"></a>out | An output name for the copy of the binary. Defaults to name.exe. (We add .exe to the name by default because it's required on Windows and tolerated on other platforms.) | String | optional | <code>""</code> |
|
||||
| <a id="native_test-src"></a>src | path of the pre-built executable | <a href="https://bazel.build/concepts/labels">Label</a> | required | |
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ don't depend on Bash and work with --shell_executable="".
|
|||
"""
|
||||
|
||||
def _impl_rule(ctx):
|
||||
out = ctx.actions.declare_file(ctx.attr.out)
|
||||
out = ctx.actions.declare_file(ctx.attr.out if (ctx.attr.out != "") else ctx.attr.name + ".exe")
|
||||
ctx.actions.symlink(
|
||||
target_file = ctx.executable.src,
|
||||
output = out,
|
||||
|
@ -64,7 +64,12 @@ _ATTRS = {
|
|||
" https://bazel.build/reference/be/common-definitions#typical.data",
|
||||
),
|
||||
# "out" is attr.string instead of attr.output, so that it is select()'able.
|
||||
"out": attr.string(mandatory = True, doc = "An output name for the copy of the binary"),
|
||||
"out": attr.string(
|
||||
default = "",
|
||||
doc = "An output name for the copy of the binary. Defaults to " +
|
||||
"name.exe. (We add .exe to the name by default because it's " +
|
||||
"required on Windows and tolerated on other platforms.)",
|
||||
),
|
||||
}
|
||||
|
||||
native_binary = rule(
|
||||
|
|
|
@ -96,6 +96,12 @@ native_binary(
|
|||
data = ["testdata.txt"],
|
||||
)
|
||||
|
||||
native_binary(
|
||||
name = "no_out_bin",
|
||||
src = ":copy_assertdata_exe",
|
||||
data = ["testdata.txt"],
|
||||
)
|
||||
|
||||
native_test(
|
||||
name = "data_test",
|
||||
src = ":copy_assertdata_exe",
|
||||
|
|
Loading…
Reference in New Issue