xref: /aosp_15_r20/external/bazel-skylib/docs/native_binary_doc.md (revision bcb5dc7965af6ee42bf2f21341a2ec00233a8c8a)
1<!-- Generated with Stardoc: http://skydoc.bazel.build -->
2
3native_binary() and native_test() rule implementations.
4
5These rules let you wrap a pre-built binary or script in a conventional binary
6and test rule respectively. They fulfill the same goal as sh_binary and sh_test
7do, but they run the wrapped binary directly, instead of through Bash, so they
8don't depend on Bash and work with --shell_executable="".
9
10<a id="native_binary"></a>
11
12## native_binary
13
14<pre>
15native_binary(<a href="#native_binary-name">name</a>, <a href="#native_binary-src">src</a>, <a href="#native_binary-data">data</a>, <a href="#native_binary-out">out</a>)
16</pre>
17
18Wraps a pre-built binary or script with a binary rule.
19
20You can "bazel run" this rule like any other binary rule, and use it as a tool
21in genrule.tools for example. You can also augment the binary with runfiles.
22
23**ATTRIBUTES**
24
25
26| Name  | Description | Type | Mandatory | Default |
27| :------------- | :------------- | :------------- | :------------- | :------------- |
28| <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 |  |
29| <a id="native_binary-src"></a>src |  path of the pre-built executable   | <a href="https://bazel.build/concepts/labels">Label</a> | required |  |
30| <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 |  `[]`  |
31| <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 |  `""`  |
32
33
34<a id="native_test"></a>
35
36## native_test
37
38<pre>
39native_test(<a href="#native_test-name">name</a>, <a href="#native_test-src">src</a>, <a href="#native_test-data">data</a>, <a href="#native_test-out">out</a>)
40</pre>
41
42Wraps a pre-built binary or script with a test rule.
43
44You can "bazel test" this rule like any other test rule. You can also augment
45the binary with runfiles.
46
47**ATTRIBUTES**
48
49
50| Name  | Description | Type | Mandatory | Default |
51| :------------- | :------------- | :------------- | :------------- | :------------- |
52| <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 |  |
53| <a id="native_test-src"></a>src |  path of the pre-built executable   | <a href="https://bazel.build/concepts/labels">Label</a> | required |  |
54| <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 |  `[]`  |
55| <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 |  `""`  |
56
57
58