blob: 4b2d677b24dde953462051e4e873f800d373bcda [file] [log] [blame]
David Ostrovskybb360eb2013-11-23 22:28:05 +01001SRCS = [
2 'gerrit-server/src/main/java/',
3 'gerrit-httpd/src/main/java/',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -08004 'gerrit-sshd/src/main/java/',
David Ostrovskybb360eb2013-11-23 22:28:05 +01005]
6
7PLUGIN_API = [
David Ostrovskybb360eb2013-11-23 22:28:05 +01008 '//gerrit-httpd:httpd',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -08009 '//gerrit-pgm:init-api',
10 '//gerrit-server:server',
11 '//gerrit-sshd:sshd',
David Ostrovskybb360eb2013-11-23 22:28:05 +010012]
13
14java_binary(
15 name = 'plugin-api',
David Ostrovsky29f95392016-08-22 00:32:46 +020016 merge_manifests = False,
17 manifest_file = ':manifest',
David Ostrovskybb360eb2013-11-23 22:28:05 +010018 deps = [':lib'],
19 visibility = ['PUBLIC'],
20)
21
David Ostrovsky29f95392016-08-22 00:32:46 +020022genrule(
23 name = 'manifest',
24 cmd = 'echo "Manifest-Version: 1.0" >$OUT;' +
25 'echo "Implementation-Title: Gerrit Plugin API" >>$OUT;' +
26 'echo "Implementation-Vendor: Gerrit Code Review Project" >>$OUT',
27 out = 'manifest.txt',
28)
29
David Ostrovskybb360eb2013-11-23 22:28:05 +010030java_library(
31 name = 'lib',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080032 exported_deps = PLUGIN_API + [
David Ostrovsky48a30b62014-07-15 23:39:03 +020033 '//gerrit-antlr:query_exception',
34 '//gerrit-antlr:query_parser',
Shawn Pearce05cb0532013-11-30 02:22:26 -080035 '//gerrit-common:annotations',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080036 '//gerrit-common:server',
37 '//gerrit-extension-api:api',
David Ostrovsky93789062014-10-02 22:50:20 +020038 '//gerrit-gwtexpui:server',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080039 '//gerrit-reviewdb:server',
40 '//lib:args4j',
Saša Živkov8e851432016-04-19 14:54:14 +020041 '//lib:blame-cache',
David Pursehouse6a7c2d22016-08-21 20:26:01 +090042 '//lib:gson',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080043 '//lib:guava',
44 '//lib:gwtorm',
Wyatt Allenbdffdea2016-08-12 11:31:46 -070045 '//lib:icu4j',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080046 '//lib:jsch',
Wyatt Allenbdffdea2016-08-12 11:31:46 -070047 '//lib:jsr305',
David Ostrovsky93789062014-10-02 22:50:20 +020048 '//lib:mime-util',
Wyatt Allenbdffdea2016-08-12 11:31:46 -070049 '//lib:protobuf',
David Ostrovskye01d9b72014-01-04 22:25:01 +010050 '//lib:servlet-api-3_1',
Wyatt Allenbdffdea2016-08-12 11:31:46 -070051 '//lib:soy',
David Ostrovsky6205b192015-09-19 16:06:48 +020052 '//lib:velocity',
Edwin Kempin90b3f5d2014-10-10 10:51:03 +020053 '//lib/commons:lang',
David Pursehouse571bf892016-08-21 20:25:42 +090054 '//lib/dropwizard:dropwizard-core',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080055 '//lib/guice:guice',
56 '//lib/guice:guice-assistedinject',
Wyatt Allenbdffdea2016-08-12 11:31:46 -070057 '//lib/guice:javax-inject',
58 '//lib/guice:multibindings',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080059 '//lib/guice:guice-servlet',
David Ostrovsky08ea6942016-04-20 08:55:24 +020060 '//lib/jgit/org.eclipse.jgit:jgit',
61 '//lib/jgit/org.eclipse.jgit.http.server:jgit-servlet',
David Ostrovsky8045b862015-09-23 07:12:20 +020062 '//lib/joda:joda-time',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080063 '//lib/log:api',
David Ostrovskyd7b072e2016-09-23 08:46:31 +020064 '//lib/log:log4j',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080065 '//lib/mina:sshd',
Wyatt Allenbdffdea2016-08-12 11:31:46 -070066 '//lib/ow2:ow2-asm',
67 '//lib/ow2:ow2-asm-analysis',
68 '//lib/ow2:ow2-asm-commons',
69 '//lib/ow2:ow2-asm-util',
David Ostrovsky2c698592016-06-22 07:32:22 +020070 '//lib/prolog:compiler',
David Ostrovsky77464102016-10-21 08:47:00 +020071 '//lib/prolog:runtime',
Shawn Pearce4e1a8bc2013-11-28 18:38:30 -080072 ],
Shawn Pearce154d4182013-11-24 13:42:47 -080073 visibility = ['PUBLIC'],
David Ostrovskybb360eb2013-11-23 22:28:05 +010074)
75
76java_binary(
77 name = 'plugin-api-src',
78 deps = [
79 '//gerrit-extension-api:extension-api-src',
80 ] + [d + '-src' for d in PLUGIN_API],
81 visibility = ['PUBLIC'],
82)
83
84java_doc(
85 name = 'plugin-api-javadoc',
86 title = 'Gerrit Review Plugin API Documentation',
David Ostrovskyec387622014-10-22 01:22:23 +020087 pkgs = ['com.google.gerrit'],
David Ostrovskyc13d8fe2016-08-27 10:28:20 +020088 source_jar = ':plugin-api-src',
David Ostrovskybb360eb2013-11-23 22:28:05 +010089 srcs = glob([n + '**/*.java' for n in SRCS]),
90 deps = [
91 ':plugin-api',
92 '//lib/bouncycastle:bcprov',
93 '//lib/bouncycastle:bcpg',
David Ostrovskyee0a74e2016-02-14 10:49:12 +010094 '//lib/bouncycastle:bcpkix',
David Ostrovskybb360eb2013-11-23 22:28:05 +010095 ],
96 visibility = ['PUBLIC'],
David Ostrovskybb360eb2013-11-23 22:28:05 +010097)