include_defs('//Documentation/asciidoc.defs')
include_defs('//Documentation/config.defs')
include_defs('//tools/git.defs')

DOC_DIR = 'Documentation'
MAIN = ['//gerrit-pgm:pgm', '//gerrit-gwtui:ui_module']
SRCS = glob(['*.txt'], excludes = ['licenses.txt'])

genrule(
  name = 'html',
  cmd = 'cd $TMP;' +
    'mkdir -p %s/images;' % DOC_DIR +
    'unzip -q $SRCDIR/only_html.zip -d %s/;' % DOC_DIR +
    'for s in $SRCS;do ln -s $s %s;done;' % DOC_DIR +
    'mv %s/*.{jpg,png} %s/images;' % (DOC_DIR, DOC_DIR) +
    'rm %s/only_html.zip;' % DOC_DIR +
    'rm %s/licenses.txt;' % DOC_DIR +
    'cp $SRCDIR/licenses.txt LICENSES.txt;' +
    'zip -qr $OUT *',
  srcs = glob([
      'images/*.jpg',
      'images/*.png',
    ]) + [
      'doc.css',
      genfile('licenses.txt'),
      genfile('only_html.zip'),
    ],
  deps = [
    ':generate_html',
    ':licenses.txt',
  ],
  out = 'html.zip',
  visibility = ['PUBLIC'],
)

genasciidoc(
  name = 'generate_html',
  srcs = SRCS + [genfile('licenses.txt')],
  deps = [':licenses.txt'],
  attributes = documentation_attributes(git_describe()),
  backend = 'html5',
  out = 'only_html.zip',
)

genrule(
  name = 'licenses.txt',
  cmd = '$(exe :gen_licenses) >$OUT',
  deps = [':gen_licenses'] + MAIN,
  out = 'licenses.txt',
)

python_binary(
  name = 'gen_licenses',
  main = 'gen_licenses.py',
)

python_binary(
  name = 'replace_macros',
  main = 'replace_macros.py',
)

genrule(
  name = 'index',
  cmd = '$(exe //lib/asciidoctor:doc_indexer) ' +
      '-o $OUT ' +
      '--prefix "%s/" ' % DOC_DIR +
      '--in-ext ".txt" ' +
      '--out-ext ".html" ' +
      '$SRCS',
  srcs = SRCS + [genfile('licenses.txt')],
  deps = [
    ':licenses.txt',
    '//lib/asciidoctor:doc_indexer',
  ],
  out = 'index.jar',
)

prebuilt_jar(
  name = 'index_lib',
  binary_jar = genfile('index.jar'),
  deps = [':index'],
  visibility = ['PUBLIC'],
)
