parent
0a34b7edf6
commit
12dd004ffa
|
@ -46,11 +46,11 @@ bzl_library = rule(
|
||||||
implementation = _bzl_library_impl,
|
implementation = _bzl_library_impl,
|
||||||
attrs = {
|
attrs = {
|
||||||
"srcs": attr.label_list(
|
"srcs": attr.label_list(
|
||||||
allow_files = [".bzl"],
|
allow_files = [".bzl", ".scl"],
|
||||||
doc = "List of `.bzl` files that are processed to create this target.",
|
doc = "List of `.bzl` and `.scl` files that are processed to create this target.",
|
||||||
),
|
),
|
||||||
"deps": attr.label_list(
|
"deps": attr.label_list(
|
||||||
allow_files = [".bzl"],
|
allow_files = [".bzl", ".scl"],
|
||||||
providers = [
|
providers = [
|
||||||
[StarlarkLibraryInfo],
|
[StarlarkLibraryInfo],
|
||||||
],
|
],
|
||||||
|
@ -58,7 +58,7 @@ bzl_library = rule(
|
||||||
Starlark files listed in `srcs`.""",
|
Starlark files listed in `srcs`.""",
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
doc = """Creates a logical collection of Starlark .bzl files.
|
doc = """Creates a logical collection of Starlark .bzl and .scl files.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
Suppose your project has the following structure:
|
Suppose your project has the following structure:
|
||||||
|
|
|
@ -14,6 +14,12 @@ stardoc_with_diff_test(
|
||||||
out_label = "//docs:build_test_doc.md",
|
out_label = "//docs:build_test_doc.md",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
stardoc_with_diff_test(
|
||||||
|
name = "bzl_library",
|
||||||
|
bzl_library_target = "//:bzl_library",
|
||||||
|
out_label = "//docs:bzl_library.md",
|
||||||
|
)
|
||||||
|
|
||||||
stardoc_with_diff_test(
|
stardoc_with_diff_test(
|
||||||
name = "collections",
|
name = "collections",
|
||||||
bzl_library_target = "//lib:collections",
|
bzl_library_target = "//lib:collections",
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
<!-- Generated with Stardoc: http://skydoc.bazel.build -->
|
||||||
|
|
||||||
|
Skylib module containing a library rule for aggregating rules files.
|
||||||
|
|
||||||
|
<a id="bzl_library"></a>
|
||||||
|
|
||||||
|
## bzl_library
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
bzl_library(<a href="#bzl_library-name">name</a>, <a href="#bzl_library-deps">deps</a>, <a href="#bzl_library-srcs">srcs</a>)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Creates a logical collection of Starlark .bzl and .scl files.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
Suppose your project has the following structure:
|
||||||
|
|
||||||
|
```
|
||||||
|
[workspace]/
|
||||||
|
WORKSPACE
|
||||||
|
BUILD
|
||||||
|
checkstyle/
|
||||||
|
BUILD
|
||||||
|
checkstyle.bzl
|
||||||
|
lua/
|
||||||
|
BUILD
|
||||||
|
lua.bzl
|
||||||
|
luarocks.bzl
|
||||||
|
```
|
||||||
|
|
||||||
|
In this case, you can have `bzl_library` targets in `checkstyle/BUILD` and
|
||||||
|
`lua/BUILD`:
|
||||||
|
|
||||||
|
`checkstyle/BUILD`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
|
||||||
|
|
||||||
|
bzl_library(
|
||||||
|
name = "checkstyle-rules",
|
||||||
|
srcs = ["checkstyle.bzl"],
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
`lua/BUILD`:
|
||||||
|
|
||||||
|
```python
|
||||||
|
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
|
||||||
|
|
||||||
|
bzl_library(
|
||||||
|
name = "lua-rules",
|
||||||
|
srcs = [
|
||||||
|
"lua.bzl",
|
||||||
|
"luarocks.bzl",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
**ATTRIBUTES**
|
||||||
|
|
||||||
|
|
||||||
|
| Name | Description | Type | Mandatory | Default |
|
||||||
|
| :------------- | :------------- | :------------- | :------------- | :------------- |
|
||||||
|
| <a id="bzl_library-name"></a>name | A unique name for this target. | <a href="https://bazel.build/concepts/labels#target-names">Name</a> | required | |
|
||||||
|
| <a id="bzl_library-deps"></a>deps | List of other <code>bzl_library</code> targets that are required by the Starlark files listed in <code>srcs</code>. | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
|
||||||
|
| <a id="bzl_library-srcs"></a>srcs | List of <code>.bzl</code> and <code>.scl</code> files that are processed to create this target. | <a href="https://bazel.build/concepts/labels">List of labels</a> | optional | <code>[]</code> |
|
||||||
|
|
||||||
|
|
||||||
|
<a id="StarlarkLibraryInfo"></a>
|
||||||
|
|
||||||
|
## StarlarkLibraryInfo
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
StarlarkLibraryInfo(<a href="#StarlarkLibraryInfo-srcs">srcs</a>, <a href="#StarlarkLibraryInfo-transitive_srcs">transitive_srcs</a>)
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Information on contained Starlark rules.
|
||||||
|
|
||||||
|
**FIELDS**
|
||||||
|
|
||||||
|
|
||||||
|
| Name | Description |
|
||||||
|
| :------------- | :------------- |
|
||||||
|
| <a id="StarlarkLibraryInfo-srcs"></a>srcs | Top level rules files. |
|
||||||
|
| <a id="StarlarkLibraryInfo-transitive_srcs"></a>transitive_srcs | Transitive closure of rules files required for interpretation of the srcs |
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue