def java_doc(
    name,
    title,
    pkgs,
    paths,
    srcs = [],
    deps = [],
    visibility = [],
    do_it_wrong = False,
    external_docs = [],
  ):
  if do_it_wrong:
    sourcepath = paths
  else:
    sourcepath = ['$SRCDIR/' + n for n in paths]
  external_docs.insert(0, 'http://docs.oracle.com/javase/7/docs/api')
  genrule(
    name = name,
    cmd = ' '.join([
      'while ! test -f .buckconfig; do cd ..; done;',
      'javadoc',
      '-quiet',
      '-protected',
      '-encoding UTF-8',
      '-charset UTF-8',
      '-notimestamp',
      '-windowtitle "' + title + '"',
      ' '.join(['-link %s' % url for url in external_docs]),
      '-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,
)
