blob: 583407c6d527025c76c5d4635c5436cb2ba15647 [file] [log] [blame]
def java_doc(
name,
title,
pkgs,
source_jar,
srcs = [],
deps = [],
visibility = [],
external_docs = [],
):
# TODO(davido): Actually we shouldn't need to extract the source
# archive, javadoc should just work with provided archive.
external_docs.insert(0, 'http://docs.oracle.com/javase/8/docs/api')
genrule(
name = name,
cmd = ' '.join([
'mkdir $TMP/sourcepath &&',
'unzip $(location %s) -d $TMP/sourcepath &&' % source_jar,
'javadoc',
'-Xdoclint:-missing',
'-quiet',
'-protected',
'-encoding UTF-8',
'-charset UTF-8',
'-notimestamp',
'-windowtitle "' + title + '"',
' '.join(['-link %s' % url for url in external_docs]),
'-subpackages ',
':'.join(pkgs),
'-sourcepath $TMP/sourcepath',
' -classpath ',
':'.join(['$(classpath %s)' % n for n in deps]),
'-d $TMP',
]) + ';jar cf $OUT -C $TMP .',
srcs = srcs,
out = name + '.jar',
visibility = visibility,
)