java_doc.defs 853 Bytes
def java_doc(
    name,
    title,
    pkgs,
    paths,
    srcs = [],
    deps = [],
    visibility = [],
    do_it_wrong = False,
  ):
  if do_it_wrong:
    sourcepath = paths
  else:
    sourcepath = ['$SRCDIR/' + n for n in paths]
  genrule(
    name = name,
    cmd = ' '.join([
      'while ! test -f .buckconfig; do cd ..; done;',
      'javadoc',
      '-quiet',
      '-protected',
      '-encoding UTF-8',
      '-charset UTF-8',
      '-notimestamp',
      '-windowtitle "' + title + '"',
      '-link http://docs.oracle.com/javase/7/docs/api',
      '-subpackages ',
      ':'.join(pkgs),
      '-sourcepath ',
      ':'.join(sourcepath),
      ' -classpath ',
      ':'.join(['$(classpath %s)' % n for n in deps]),
      '-d $TMP',
    ]) + ';jar cf $OUT -C $TMP .',
    srcs = srcs,
    out = name + '.jar',
    visibility = visibility,
)