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-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-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 | |
|
| <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-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-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 | |
|
| <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):
|
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(
|
ctx.actions.symlink(
|
||||||
target_file = ctx.executable.src,
|
target_file = ctx.executable.src,
|
||||||
output = out,
|
output = out,
|
||||||
|
@ -64,7 +64,12 @@ _ATTRS = {
|
||||||
" https://bazel.build/reference/be/common-definitions#typical.data",
|
" https://bazel.build/reference/be/common-definitions#typical.data",
|
||||||
),
|
),
|
||||||
# "out" is attr.string instead of attr.output, so that it is select()'able.
|
# "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(
|
native_binary = rule(
|
||||||
|
|
|
@ -96,6 +96,12 @@ native_binary(
|
||||||
data = ["testdata.txt"],
|
data = ["testdata.txt"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
native_binary(
|
||||||
|
name = "no_out_bin",
|
||||||
|
src = ":copy_assertdata_exe",
|
||||||
|
data = ["testdata.txt"],
|
||||||
|
)
|
||||||
|
|
||||||
native_test(
|
native_test(
|
||||||
name = "data_test",
|
name = "data_test",
|
||||||
src = ":copy_assertdata_exe",
|
src = ":copy_assertdata_exe",
|
||||||
|
|
Loading…
Reference in New Issue