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