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