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