gerrit/gerrit-plugin-api/BUCK
Wyatt Allen bdffdea92f Adds the Soy library and injects it via EmailArguments
This change lays the groundwork for migrating email templates from VTL
to Soy (Closure Templates). This change does not modify the existing
template system or how emails are constructed. Moreover, it makes the
Soy library available alongside the Velocity library.

With this change, the Soy library (along with its dependencies) is added
to //gerrit-server:server and //gerrit-plugin-api:lib. A new license
definition is included for ICU4J.

A Guice provider for SoyTofu objects (which work as factories for Soy
template renderers) is injected into EmailArguments similarly to
VelocityRuntimeProvider.java. For technical reasons, a Soy template is
included, but is not used at this time. It does, however, provide a
simple example for how the email templates may look soon.

Feature: Issue 4345
Change-Id: I9625de1d129c04770d2a2dcfd4967c2c2779a81c
2016-08-22 09:45:33 -07:00

97 lines
2.3 KiB
Python

SRCS = [
'gerrit-server/src/main/java/',
'gerrit-httpd/src/main/java/',
'gerrit-sshd/src/main/java/',
]
PLUGIN_API = [
'//gerrit-httpd:httpd',
'//gerrit-pgm:init-api',
'//gerrit-server:server',
'//gerrit-sshd:sshd',
]
java_binary(
name = 'plugin-api',
merge_manifests = False,
manifest_file = ':manifest',
deps = [':lib'],
visibility = ['PUBLIC'],
)
genrule(
name = 'manifest',
cmd = 'echo "Manifest-Version: 1.0" >$OUT;' +
'echo "Implementation-Title: Gerrit Plugin API" >>$OUT;' +
'echo "Implementation-Vendor: Gerrit Code Review Project" >>$OUT',
out = 'manifest.txt',
)
java_library(
name = 'lib',
exported_deps = PLUGIN_API + [
'//gerrit-antlr:query_exception',
'//gerrit-antlr:query_parser',
'//gerrit-common:annotations',
'//gerrit-common:server',
'//gerrit-extension-api:api',
'//gerrit-gwtexpui:server',
'//gerrit-reviewdb:server',
'//lib:args4j',
'//lib:blame-cache',
'//lib:gson',
'//lib:guava',
'//lib:gwtorm',
'//lib:icu4j',
'//lib:jsch',
'//lib:jsr305',
'//lib:mime-util',
'//lib:protobuf',
'//lib:servlet-api-3_1',
'//lib:soy',
'//lib:velocity',
'//lib/commons:lang',
'//lib/dropwizard:dropwizard-core',
'//lib/guice:guice',
'//lib/guice:guice-assistedinject',
'//lib/guice:javax-inject',
'//lib/guice:multibindings',
'//lib/guice:guice-servlet',
'//lib/jgit/org.eclipse.jgit:jgit',
'//lib/jgit/org.eclipse.jgit.http.server:jgit-servlet',
'//lib/joda:joda-time',
'//lib/log:api',
'//lib/mina:sshd',
'//lib/ow2:ow2-asm',
'//lib/ow2:ow2-asm-analysis',
'//lib/ow2:ow2-asm-commons',
'//lib/ow2:ow2-asm-util',
'//lib/prolog:compiler',
],
visibility = ['PUBLIC'],
)
java_binary(
name = 'plugin-api-src',
deps = [
'//gerrit-extension-api:extension-api-src',
] + [d + '-src' for d in PLUGIN_API],
visibility = ['PUBLIC'],
)
java_doc(
name = 'plugin-api-javadoc',
title = 'Gerrit Review Plugin API Documentation',
pkgs = ['com.google.gerrit'],
paths = [n for n in SRCS],
srcs = glob([n + '**/*.java' for n in SRCS]),
deps = [
':plugin-api',
'//lib/bouncycastle:bcprov',
'//lib/bouncycastle:bcpg',
'//lib/bouncycastle:bcpkix',
],
visibility = ['PUBLIC'],
do_it_wrong = True,
)