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