blob: e10616ced2a0a71318acb4162745e26dd66ba0d2 [file] [log] [blame]
David Ostrovsky22c45b32014-02-23 22:22:26 +01001include_defs('//bucklets/java_library2.bucklet')
2include_defs('//bucklets/java_sources.bucklet')
3include_defs('//bucklets/java_doc.bucklet')
4
5SRCS = glob(['src/main/java/**/*.java'])
6RSRC = glob(['src/main/resources/**/*'])
7DEPS = [
8 '//lib:guava',
9 '//lib:soy',
10 '//lib:joda-time',
11 '//lib:gson',
12 '//lib:commons-lang',
Dave Borowitzec6a9cc2014-04-25 15:51:23 -040013 '//lib:prettify',
David Ostrovsky22c45b32014-02-23 22:22:26 +010014 '//lib/jgit:jgit',
15 '//lib/jgit:jgit-servlet',
16 '//lib/slf4j:slf4j-api',
17]
18
19DEPS_ALL = DEPS + [
20 '//lib/jgit:jgit-archive',
21 '//lib/guice:guice',
22]
23
24java_library2(
25 name = 'servlet',
26 srcs = SRCS,
27 resources = RSRC,
28 deps = DEPS_ALL,
29 compile_deps = ['//lib:servlet-api_2_5'],
30 visibility = ['PUBLIC'],
31)
32
33java_test(
34 name = 'servlet_tests',
35 srcs = glob(['src/test/java/**/*.java']),
36 deps = DEPS_ALL + [
37 '//lib/jgit:junit',
38 '//lib:junit',
39 # Gitiles is designed to compile against the Servlet API v2.5.
40 '//lib:servlet-api_2_5',
41 ':servlet',
42 ],
43 visibility = ['//:classpath'],
44)
45
46genrule(
47 name = 'static-resources',
48 cmd = 'mkdir $TMP/+static'
49 + ';cd $TMP/+static'
50 + ';cp -r $SRCDIR/src/main/resources/com/google/gitiles/static/* .'
51 + ';cd $TMP'
52 + ';zip -qr $OUT *',
53 srcs = glob(['src/main/resources/com/google/gitiles/static/**/*']),
54 out = 'static-resources.zip',
55 visibility = ['PUBLIC'],
56)
57
58java_sources(
59 name = 'src',
60 srcs = SRCS + RSRC,
61 visibility = ['PUBLIC'],
62)
63
64java_doc(
65 name = 'javadoc',
66 title = 'Gitiles API Documentation',
67 pkg = 'com.google.gitiles',
68 paths = ['gitiles-servlet/src/main/java'],
69 srcs = glob([n + '**/*.java' for n in SRCS]),
70 deps = DEPS + [
71 '//lib/guice:guice_library',
72 '//lib/guice:guice-assistedinject',
73 '//lib/guice:javax-inject',
74 '//lib/guice:jsr305',
75 '//lib/jgit:jgit-archive_library',
76 '//lib:servlet-api_2_5',
77 ],
78 visibility = ['PUBLIC'],
79)