| # 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, | 
 |     ) |