1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
exports_files(
[
"docs/bazel-user-manual.html",
"command-line-reference-prefix.html",
"command-line-reference-suffix.html",
],
)
DOT_GRAPH_HTML_FILES = [
"docs/query.html",
"docs/build-ref.html",
]
filegroup(
name = "srcs",
srcs = glob(["**"]),
visibility = ["//:__pkg__"],
)
filegroup(
name = "jekyll-srcs",
srcs = glob(
["**/*"],
exclude = [
"BUILD",
"jekyll-tree.sh",
"*.swp",
"command-line-reference-prefix.html",
"command-line-reference-suffix.html",
"site/README.md",
] + DOT_GRAPH_HTML_FILES,
),
)
pkg_tar(
name = "jekyll-files",
files = [":jekyll-srcs"],
strip_prefix = ".",
)
pkg_tar(
name = "bootstrap-css",
files = ["//third_party/css/bootstrap:bootstrap_css"],
package_dir = "assets",
strip_prefix = "/third_party/css/bootstrap",
)
pkg_tar(
name = "bootstrap-images",
files = ["//third_party/css/bootstrap:bootstrap_images"],
package_dir = "assets",
strip_prefix = "/third_party/css/bootstrap",
)
pkg_tar(
name = "font-awesome-css",
files = ["//third_party/css/font_awesome:font_awesome_css"],
package_dir = "assets",
strip_prefix = "/third_party/css/font_awesome",
)
pkg_tar(
name = "font-awesome-font",
files = ["//third_party/css/font_awesome:font_awesome_font"],
package_dir = "assets",
strip_prefix = "/third_party/css/font_awesome",
)
pkg_tar(
name = "bootstrap-js",
files = ["//third_party/javascript/bootstrap:bootstrap_js"],
package_dir = "assets",
strip_prefix = "/third_party/javascript/bootstrap",
)
pkg_tar(
name = "jekyll-base",
deps = [
":bootstrap-css",
":bootstrap-images",
":bootstrap-js",
":dot-graphs",
":font-awesome-css",
":font-awesome-font",
":jekyll-files",
],
)
pkg_tar(
name = "skylark-rule-docs",
files = [
"//tools/build_defs/docker:README.md",
"//tools/build_defs/pkg:README.md",
],
strip_prefix = "/tools/build_defs",
)
genrule(
name = "dot-graphs",
srcs = DOT_GRAPH_HTML_FILES,
outs = ["dot.tar"],
cmd = """
origdir=$$PWD
tmpdir=$$(mktemp -d)
for f in $(SRCS); do
mkdir -p $$tmpdir/$$(dirname $$f)
if which dot > /dev/null; then
$(location //scripts/docs:generate_dot_graphs) < $$f > $$tmpdir/$$f
else
cp $$f $$tmpdir/$$f
fi
done
cd $$tmpdir/site
tar cf $$origdir/$@ *
""",
tools = ["//scripts/docs:generate_dot_graphs"],
)
genrule(
name = "jekyll-tree",
srcs = [
":jekyll-base",
":skylark-rule-docs",
"//src/main/java/com/google/devtools/build/lib:gen_buildencyclopedia",
"//src/main/java/com/google/devtools/build/lib:gen_skylarklibrary",
"//src/main/java/com/google/devtools/build/lib:gen_command-line-reference",
],
outs = ["jekyll-tree.tar"],
cmd = ("$(location jekyll-tree.sh) $@ " +
"$(location :jekyll-base) " +
"$(location :skylark-rule-docs) " +
"$(location //src/main/java/com/google/devtools/build/lib:gen_buildencyclopedia) " +
"$(location //src/main/java/com/google/devtools/build/lib:gen_skylarklibrary) " +
"$(location //src/main/java/com/google/devtools/build/lib:gen_command-line-reference)"),
tools = [
"jekyll-tree.sh",
],
)
|