blob: af355ca56df5831b906fb9959e9a3e4e07737d54 [file] [log] [blame]
David Ostrovsky930f29e2019-01-08 23:11:59 +01001load("//tools/bzl:asciidoc.bzl", "documentation_attributes", "genasciidoc", "genasciidoc_zip")
Han-Wen Nienhuyseb16fe02016-09-21 11:14:04 +02002load("//tools/bzl:license.bzl", "license_map")
3
David Ostrovsky930f29e2019-01-08 23:11:59 +01004package(default_visibility = ["//visibility:public"])
5
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +08006exports_files([
David Ostrovskyfa189072016-11-30 08:52:06 +01007 "replace_macros.py",
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +08008])
9
10filegroup(
David Ostrovskyfa189072016-11-30 08:52:06 +010011 name = "prettify_files",
12 srcs = [
13 ":prettify.min.css",
14 ":prettify.min.js",
15 ],
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +080016)
17
18genrule(
David Ostrovskyfa189072016-11-30 08:52:06 +010019 name = "prettify_min_css",
David Ostrovsky0f4557d2017-08-20 23:53:11 +020020 srcs = ["//resources/com/google/gerrit/prettify:client/prettify.css"],
David Ostrovskyfa189072016-11-30 08:52:06 +010021 outs = ["prettify.min.css"],
22 cmd = "cp $< $@",
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +080023)
24
25genrule(
David Ostrovskyfa189072016-11-30 08:52:06 +010026 name = "prettify_min_js",
David Ostrovsky0f4557d2017-08-20 23:53:11 +020027 srcs = ["//resources/com/google/gerrit/prettify:client/prettify.js"],
David Ostrovskyfa189072016-11-30 08:52:06 +010028 outs = ["prettify.min.js"],
29 cmd = "cp $< $@",
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +080030)
31
32filegroup(
David Ostrovskyfa189072016-11-30 08:52:06 +010033 name = "resources",
34 srcs = glob([
35 "images/*.jpg",
36 "images/*.png",
37 ]) + [
38 ":prettify_files",
39 "//:LICENSES.txt",
40 ],
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +080041)
42
Han-Wen Nienhuyseb16fe02016-09-21 11:14:04 +020043license_map(
David Ostrovskyfa189072016-11-30 08:52:06 +010044 name = "licenses",
Dmitrii Filippovdaee7fc2020-01-14 20:42:56 +010045 json_maps = [
46 "//polygerrit-ui/app/node_modules_licenses:polygerrit-licenses.json",
47 ],
David Ostrovskyfa189072016-11-30 08:52:06 +010048 opts = ["--asciidoctor"],
49 targets = [
David Ostrovskyfa189072016-11-30 08:52:06 +010050 "//polygerrit-ui/app:polygerrit_ui",
David Ostrovsky0924b932017-08-24 08:56:45 +020051 "//java/com/google/gerrit/pgm",
David Ostrovskyfa189072016-11-30 08:52:06 +010052 ],
Han-Wen Nienhuyseb16fe02016-09-21 11:14:04 +020053)
Yuxuan 'fishy' Wangdd6f8dd2016-09-27 06:05:06 +080054
Han-Wen Nienhuys762070f2016-12-08 17:32:27 +010055license_map(
Marija Savtchouk495a56a2021-10-18 17:07:45 +010056 name = "backend_licenses",
57 opts = ["--asciidoctor"],
58 targets = [
59 "//java/com/google/gerrit/pgm",
60 ],
61)
62
63license_map(
Han-Wen Nienhuys762070f2016-12-08 17:32:27 +010064 name = "js_licenses",
Dmitrii Filippovdaee7fc2020-01-14 20:42:56 +010065 json_maps = [
66 "//polygerrit-ui/app/node_modules_licenses:polygerrit-licenses.json",
67 ],
Han-Wen Nienhuys762070f2016-12-08 17:32:27 +010068 targets = [
Han-Wen Nienhuys762070f2016-12-08 17:32:27 +010069 "//polygerrit-ui/app:polygerrit_ui",
70 ],
Han-Wen Nienhuys762070f2016-12-08 17:32:27 +010071)
72
Han-Wen Nienhuys0a6495e2019-03-28 15:44:43 +010073sh_test(
74 name = "check_licenses",
75 srcs = ["check_licenses_test.sh"],
76 data = [
Marija Savtchouk495a56a2021-10-18 17:07:45 +010077 "backend_licenses.gen.txt",
78 "backend_licenses.txt",
Han-Wen Nienhuys0a6495e2019-03-28 15:44:43 +010079 "js_licenses.gen.txt",
80 "js_licenses.txt",
81 "licenses.gen.txt",
82 "licenses.txt",
83 ],
84)
85
Yuxuan 'fishy' Wangdd6f8dd2016-09-27 06:05:06 +080086DOC_DIR = "Documentation"
David Ostrovskyfa189072016-11-30 08:52:06 +010087
Han-Wen Nienhuys0a6495e2019-03-28 15:44:43 +010088SRCS = glob(["*.txt"])
Yuxuan 'fishy' Wangdd6f8dd2016-09-27 06:05:06 +080089
90genrule(
David Ostrovskyfa189072016-11-30 08:52:06 +010091 name = "index",
92 srcs = SRCS,
93 outs = ["index.jar"],
Dave Borowitz90135c12018-05-24 15:24:41 -040094 cmd = "$(location //java/com/google/gerrit/asciidoctor:doc_indexer) " +
David Ostrovskyfa189072016-11-30 08:52:06 +010095 "-o $(OUTS) " +
96 "--prefix \"%s/\" " % DOC_DIR +
97 "--in-ext \".txt\" " +
98 "--out-ext \".html\" " +
99 "$(SRCS)",
Dave Borowitz90135c12018-05-24 15:24:41 -0400100 tools = ["//java/com/google/gerrit/asciidoctor:doc_indexer"],
Yuxuan 'fishy' Wangdd6f8dd2016-09-27 06:05:06 +0800101)
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +0800102
103# For the same srcs, we can have multiple genasciidoc_zip rules, but only one
104# genasciidoc rule. Because multiple genasciidoc rules will have conflicting
105# output files.
106genasciidoc(
David Ostrovskyfa189072016-11-30 08:52:06 +0100107 name = "Documentation",
108 srcs = SRCS,
109 attributes = documentation_attributes(),
110 backend = "html5",
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +0800111)
112
113genasciidoc_zip(
David Ostrovskyfa189072016-11-30 08:52:06 +0100114 name = "html",
115 srcs = SRCS,
116 attributes = documentation_attributes(),
117 backend = "html5",
118 directory = DOC_DIR,
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +0800119)
120
121genasciidoc_zip(
David Ostrovskyfa189072016-11-30 08:52:06 +0100122 name = "searchfree",
123 srcs = SRCS,
124 attributes = documentation_attributes(),
125 backend = "html5",
126 directory = DOC_DIR,
127 searchbox = False,
Yuxuan 'fishy' Wang14fdf932016-09-30 07:59:54 +0800128)