gerrit/Documentation/asciidoc.defs
Yuxuan 'fishy' Wang 4f5ad9d313 Use buck rule for ReleaseNotes instead of Makefile
This eliminates the last Makefile in our code base.

Also change the section style within ReleaseNotes from asciidoc style to
asciidoctor style.

Also I feel that put images/link.png under ReleaseNotes and deal with
all the resource packing is too stupid, so I used the unicode emoji
instead of the picture ("🔗"). If this is too crazy, we can also use "#"
instead :) This also affects documentation rendering.

Other side effects:

1. The css of release notes switched from default asciidoc css into
default asciidoctor css.
2. The section anchors for ReleaseNotes/index.html changed from "2_13"
to "s2_13", because asciidoctorj is unhappy with anchors without
letters.

Change-Id: I4adf2ce090385cc6b699445012f10a009892aaac
2016-05-17 23:23:31 +00:00

114 lines
3.0 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 = []
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 //Documentation:replace_macros) --suffix="%s"' % EXPN +
' -s ' + passed_src + ' -o $OUT' +
(' --searchbox' if searchbox else ' --no-searchbox'),
srcs = srcs,
out = ex,
)
newsrcs.append(':%s' % ex)
genrule(
name = name,
cmd = ' '.join(asciidoc),
srcs = newsrcs,
out = out,
visibility = visibility,
)
def genasciidoc(
name,
out,
directory,
srcs = [],
attributes = [],
backend = None,
searchbox = True,
resources = True,
visibility = []):
SUFFIX = '_htmlonly'
genasciidoc_htmlonly(
name = name + SUFFIX if resources else name,
srcs = srcs,
attributes = attributes,
backend = backend,
searchbox = searchbox,
out = (name + SUFFIX + '.zip') if resources else (name + '.zip'),
)
if resources:
genrule(
name = name,
cmd = 'cd $TMP;' +
'mkdir -p %s/images;' % directory +
'unzip -q $(location %s) -d %s/;'
% (':' + name + SUFFIX, directory) +
'for s in $SRCS;do ln -s $s %s/;done;' % directory +
'mv %s/*.{jpg,png} %s/images;' % (directory, directory) +
'cp $(location %s) LICENSES.txt;' % ':licenses.txt' +
'zip -qr $OUT *',
srcs = glob([
'images/*.jpg',
'images/*.png',
]) + [
'//gerrit-prettify:prettify.min.css',
'//gerrit-prettify:prettify.min.js',
],
out = out,
visibility = visibility,
)