![Yuxuan 'fishy' Wang](/assets/img/avatar_default.png)
Add rule to build search-free documentation for static hosting, and update dev-release documentation to reflect the new rule. Change-Id: Ifc9284d3c44349e3099ad582fcc14ba27695f30a
111 lines
2.9 KiB
Plaintext
111 lines
2.9 KiB
Plaintext
# Copyright (C) 2013 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
def genasciidoc_htmlonly(
|
|
name,
|
|
out,
|
|
srcs = [],
|
|
attributes = [],
|
|
backend = None,
|
|
searchbox = True,
|
|
visibility = []):
|
|
EXPN = '.' + name + '_expn'
|
|
|
|
asciidoc = [
|
|
'$(exe //lib/asciidoctor:asciidoc)',
|
|
'-z', '$OUT',
|
|
'--base-dir', '$SRCDIR',
|
|
'--tmp', '$TMP',
|
|
'--in-ext', '".txt%s"' % EXPN,
|
|
'--out-ext', '".html"',
|
|
]
|
|
if backend:
|
|
asciidoc.extend(['-b', backend])
|
|
for attribute in attributes:
|
|
asciidoc.extend(['-a', attribute])
|
|
asciidoc.append('$SRCS')
|
|
newsrcs = [":doc.css"]
|
|
for src in srcs:
|
|
fn = src
|
|
# We have two cases: regular source files and generated files.
|
|
# Generated files are passed as targets ':foo', and ':' is removed.
|
|
# 1. regular files: cmd = '-s foo', srcs = ['foo']
|
|
# 2. generated files: cmd = '-s $(location :foo)', srcs = []
|
|
srcs = [src]
|
|
passed_src = fn
|
|
if fn.startswith(':') :
|
|
fn = src[1:]
|
|
srcs = []
|
|
passed_src = '$(location :%s)' % fn
|
|
ex = fn + EXPN
|
|
|
|
genrule(
|
|
name = ex,
|
|
cmd = '$(exe :replace_macros) --suffix="%s"' % EXPN +
|
|
' -s ' + passed_src + ' -o $OUT' +
|
|
(' --searchbox' if searchbox else ' --no-searchbox'),
|
|
srcs = srcs,
|
|
out = ex,
|
|
)
|
|
|
|
# The new AsciiDoctor requires both the css file and include files are under
|
|
# the same directory. Luckily Buck allows us to use :target as SRCS now.
|
|
newsrcs.append(':%s' % ex)
|
|
|
|
genrule(
|
|
name = name,
|
|
cmd = ' '.join(asciidoc),
|
|
srcs = newsrcs,
|
|
out = out,
|
|
visibility = visibility,
|
|
)
|
|
|
|
def genasciidoc(
|
|
name,
|
|
out,
|
|
docdir,
|
|
srcs = [],
|
|
attributes = [],
|
|
backend = None,
|
|
searchbox = True,
|
|
visibility = []):
|
|
SUFFIX = '_htmlonly'
|
|
|
|
genasciidoc_htmlonly(
|
|
name = name + SUFFIX,
|
|
srcs = srcs,
|
|
attributes = attributes,
|
|
backend = backend,
|
|
searchbox = searchbox,
|
|
out = name + SUFFIX + '.zip',
|
|
)
|
|
|
|
genrule(
|
|
name = name,
|
|
cmd = 'cd $TMP;' +
|
|
'mkdir -p %s/images;' % docdir +
|
|
'unzip -q $(location %s) -d %s/;'
|
|
% (':' + name + SUFFIX, docdir) +
|
|
'for s in $SRCS;do ln -s $s %s;done;' % docdir +
|
|
'mv %s/*.{jpg,png} %s/images;' % (docdir, docdir) +
|
|
'cp $(location %s) LICENSES.txt;' % ':licenses.txt' +
|
|
'zip -qr $OUT *',
|
|
srcs = glob([
|
|
'images/*.jpg',
|
|
'images/*.png',
|
|
]) + [':doc.css'],
|
|
out = out,
|
|
visibility = visibility,
|
|
)
|