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