aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/BUILD
blob: 84cf64530f748d82c38c4ea7a11b60c0d4e1e9fd (plain)
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
load("//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
load("//scripts/docs:jekyll.bzl", "jekyll_build")

exports_files(
    [
        "docs/user-manual.html",
        "command-line-reference-prefix.html",
        "command-line-reference-suffix.html",
    ],
)

exports_files(
    [
        "images/favicon.ico",
    ],
    visibility = ["//src/main/native/windows:__pkg__"],
)

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",
    srcs = [":jekyll-srcs"],
    strip_prefix = ".",
)

pkg_tar(
    name = "bootstrap-css",
    srcs = ["//third_party/css/bootstrap:bootstrap_css"],
    package_dir = "assets",
    strip_prefix = "/third_party/css/bootstrap",
)

pkg_tar(
    name = "bootstrap-images",
    srcs = ["//third_party/css/bootstrap:bootstrap_images"],
    package_dir = "assets",
    strip_prefix = "/third_party/css/bootstrap",
)

pkg_tar(
    name = "font-awesome-css",
    srcs = ["//third_party/css/font_awesome:font_awesome_css"],
    package_dir = "assets",
    strip_prefix = "/third_party/css/font_awesome",
)

pkg_tar(
    name = "font-awesome-font",
    srcs = ["//third_party/css/font_awesome:font_awesome_font"],
    package_dir = "assets",
    strip_prefix = "/third_party/css/font_awesome",
)

pkg_tar(
    name = "bootstrap-js",
    srcs = ["//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",
    srcs = [
        "//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",
    ],
)

jekyll_build(
    name = "site",
    srcs = [":jekyll-tree"],
    bucket = "docs.bazel.build",
)