Skip to content

Commit 7b1f2cd

Browse files
committed
Add demo of declare_directory
1 parent aee2615 commit 7b1f2cd

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

experimental/examples/wheel/BUILD

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,17 @@
1414

1515
load("//experimental/python:wheel.bzl", "py_package", "py_wheel")
1616
load("//python:defs.bzl", "py_library", "py_test")
17+
load(":dir_generator.bzl", "dir_generator")
1718

1819
package(default_visibility = ["//visibility:public"])
1920

2021
licenses(["notice"]) # Apache 2.0
2122

23+
24+
dir_generator(
25+
name = "generated"
26+
)
27+
2228
py_library(
2329
name = "main",
2430
srcs = ["main.py"],
@@ -55,6 +61,7 @@ py_wheel(
5561
deps = [
5662
"//experimental/examples/wheel/lib:module_with_data",
5763
"//experimental/examples/wheel/lib:simple_module",
64+
":generated",
5865
],
5966
)
6067

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
def _dir_generator_impl(ctx):
2+
out_dir = ctx.actions.declare_directory('dir_{}'.format(ctx.label.name))
3+
out_file = ctx.actions.declare_file('file_{}.py'.format(ctx.label.name))
4+
ctx.actions.run_shell(
5+
outputs=[out_dir],
6+
command='echo hi > {}/demo.py'.format(out_dir.path)
7+
)
8+
ctx.actions.run_shell(
9+
outputs=[out_file],
10+
command='echo hi > {}'.format(out_file.path)
11+
)
12+
return [DefaultInfo(files = depset([out_dir, out_file]))]
13+
14+
dir_generator = rule(
15+
implementation = _dir_generator_impl,
16+
)

0 commit comments

Comments
 (0)