blob: 426ef4506a832976d8c4e8f1b37aeab5e1287540 [file] [log] [blame]
# This bucklet simplifies creation of Javadocs
#
# Example:
#
# java_doc(
# name = 'javadoc',
# title = 'Gitiles API Documentation',
# pkg = 'com.google.gitiles',
# paths = ['gitiles-servlet/src/main/java'],
# srcs = glob([n + '**/*.java' for n in SRCS]),
# deps = DEPS,
# visibility = ['PUBLIC'],
# )
#
def java_doc(
name,
title,
pkg,
paths,
srcs = [],
deps = [],
visibility = []
):
genrule(
name = name,
cmd = ' '.join([
'javadoc',
'-quiet',
'-protected',
'-encoding UTF-8',
'-charset UTF-8',
'-notimestamp',
'-windowtitle "' + title + '"',
'-link http://docs.oracle.com/javase/7/docs/api',
'-subpackages ' + pkg,
'-sourcepath ',
':'.join([n for n in paths]),
' -classpath ',
':'.join(['$(location %s)' % n for n in deps]),
'-d $TMP',
]) + ';jar cf $OUT -C $TMP .',
srcs = srcs,
deps = deps,
out = name + '.jar',
visibility = visibility,
)