blob: 61cd4064c0eb19d666a6267f7992bbc8905d1da5 [file] [log] [blame]
Christian Aistleitner5f103792015-05-20 15:39:44 +02001include_defs('//lib/JGIT_VERSION')
David Pursehouse1dc90a72016-09-08 14:42:51 +09002include_defs('//lib/GUAVA_VERSION')
Christian Aistleitner5f103792015-05-20 15:39:44 +02003
Dariusz Luksza2d3afab2013-10-01 11:07:13 +02004SRC = 'src/main/java/com/google/gerrit/extensions/'
David Ostrovskybb360eb2013-11-23 22:28:05 +01005SRCS = glob([SRC + '**/*.java'])
Dariusz Luksza2d3afab2013-10-01 11:07:13 +02006
David Ostrovsky7a722f72015-01-23 23:40:11 +01007EXT_API_SRCS = glob([SRC + 'client/*.java'])
David Ostrovsky9e218ae2015-01-22 23:18:33 +01008
Dariusz Luksza2d3afab2013-10-01 11:07:13 +02009gwt_module(
10 name = 'client',
David Ostrovsky7a722f72015-01-23 23:40:11 +010011 srcs = EXT_API_SRCS,
David Ostrovsky76e396b2014-05-17 08:24:12 +020012 gwt_xml = SRC + 'Extensions.gwt.xml',
Dariusz Luksza2d3afab2013-10-01 11:07:13 +020013 visibility = ['PUBLIC'],
14)
David Ostrovskydf36b6a2013-05-29 23:26:53 +020015
David Ostrovsky9e218ae2015-01-22 23:18:33 +010016java_library(
17 name = 'client-lib',
David Ostrovsky7a722f72015-01-23 23:40:11 +010018 srcs = EXT_API_SRCS,
19 resources = EXT_API_SRCS + glob([SRC + 'Extensions.gwt.xml']),
David Ostrovsky9e218ae2015-01-22 23:18:33 +010020 visibility = ['PUBLIC'],
21)
22
David Ostrovskybb360eb2013-11-23 22:28:05 +010023java_binary(
24 name = 'extension-api',
Shawn Pearce154d4182013-11-24 13:42:47 -080025 deps = [':lib'],
David Ostrovskybb360eb2013-11-23 22:28:05 +010026 visibility = ['PUBLIC'],
27)
28
29java_library(
Shawn Pearce154d4182013-11-24 13:42:47 -080030 name = 'lib',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080031 exported_deps = [
David Ostrovskybb360eb2013-11-23 22:28:05 +010032 ':api',
Edwin Kempinc5750552016-08-04 10:02:27 +020033 '//lib:guava',
David Ostrovskybb360eb2013-11-23 22:28:05 +010034 '//lib/guice:guice',
Dave Borowitzcb2845b2015-08-26 11:14:35 -040035 '//lib/guice:guice-assistedinject',
David Ostrovskybb360eb2013-11-23 22:28:05 +010036 '//lib/guice:guice-servlet',
David Ostrovskye01d9b72014-01-04 22:25:01 +010037 '//lib:servlet-api-3_1',
David Ostrovskybb360eb2013-11-23 22:28:05 +010038 ],
Shawn Pearce154d4182013-11-24 13:42:47 -080039 visibility = ['PUBLIC'],
David Ostrovskybb360eb2013-11-23 22:28:05 +010040)
41
Shawn Pearce33499722014-05-02 13:22:49 -070042java_library(
Shawn Pearcefd6bb9f2013-05-08 14:14:24 -070043 name = 'api',
Dariusz Luksza2d3afab2013-10-01 11:07:13 +020044 srcs = glob([SRC + '**/*.java']),
Saša Živkov3b68afa2015-11-11 10:33:41 -080045 deps = [
46 '//gerrit-common:annotations',
47 ],
Dave Borowitzcb2845b2015-08-26 11:14:35 -040048 provided_deps = [
Edwin Kempinc5750552016-08-04 10:02:27 +020049 '//lib:guava',
Dave Borowitzcb2845b2015-08-26 11:14:35 -040050 '//lib/guice:guice',
51 '//lib/guice:guice-assistedinject',
52 ],
Shawn Pearcefd6bb9f2013-05-08 14:14:24 -070053 visibility = ['PUBLIC'],
54)
David Ostrovskydf36b6a2013-05-29 23:26:53 +020055
56java_sources(
David Ostrovskybb360eb2013-11-23 22:28:05 +010057 name = 'extension-api-src',
58 srcs = SRCS,
59 visibility = ['PUBLIC'],
60)
61
Christian Aistleitner40748e52015-08-04 12:21:45 +020062java_test(
63 name = 'api_tests',
64 srcs = glob(['src/test/java/**/*.java']),
65 deps = [
66 ':api',
67 '//lib:truth',
68 '//lib/guice:guice',
69 ],
70 source_under_test = [':api'],
71)
72
David Ostrovskybb360eb2013-11-23 22:28:05 +010073java_doc(
74 name = 'extension-api-javadoc',
75 title = 'Gerrit Review Extension API Documentation',
David Ostrovskyec387622014-10-22 01:22:23 +020076 pkgs = ['com.google.gerrit.extensions'],
David Ostrovsky3f3e9ad2014-03-26 11:48:26 -070077 paths = ['src/main/java'],
David Ostrovskybb360eb2013-11-23 22:28:05 +010078 srcs = SRCS,
79 deps = [
David Pursehouse1dc90a72016-09-08 14:42:51 +090080 '//lib:guava',
David Ostrovskybb360eb2013-11-23 22:28:05 +010081 '//lib/guice:javax-inject',
David Ostrovsky99d1d7b2016-04-08 08:36:09 +020082 '//lib/guice:guice_library',
83 '//lib/guice:guice-assistedinject',
Björn Pedersen06046842016-07-14 10:43:38 +020084 '//lib/jgit/org.eclipse.jgit:jgit',
Björn Pedersen3d273c12016-05-20 15:37:09 +020085 '//gerrit-common:annotations',
David Ostrovskybb360eb2013-11-23 22:28:05 +010086 ],
David Ostrovskydf36b6a2013-05-29 23:26:53 +020087 visibility = ['PUBLIC'],
David Pursehouse1dc90a72016-09-08 14:42:51 +090088 external_docs = [JGIT_DOC_URL, GUAVA_DOC_URL],
David Ostrovskydf36b6a2013-05-29 23:26:53 +020089)