bdffdea92f
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
215 lines
5.2 KiB
Python
215 lines
5.2 KiB
Python
CONSTANTS_SRC = [
|
|
'src/main/java/com/google/gerrit/server/documentation/Constants.java',
|
|
]
|
|
|
|
SRCS = glob(
|
|
['src/main/java/**/*.java'],
|
|
excludes = CONSTANTS_SRC,
|
|
)
|
|
RESOURCES = glob(['src/main/resources/**/*'])
|
|
|
|
java_library(
|
|
name = 'constants',
|
|
srcs = CONSTANTS_SRC,
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
# TODO(sop) break up gerrit-server java_library(), its too big
|
|
java_library(
|
|
name = 'server',
|
|
srcs = SRCS,
|
|
resources = RESOURCES,
|
|
deps = [
|
|
':constants',
|
|
'//gerrit-antlr:query_exception',
|
|
'//gerrit-antlr:query_parser',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-common:server',
|
|
'//gerrit-extension-api:api',
|
|
'//gerrit-patch-commonsnet:commons-net',
|
|
'//gerrit-patch-jgit:server',
|
|
'//gerrit-prettify:server',
|
|
'//gerrit-reviewdb:server',
|
|
'//gerrit-util-cli:cli',
|
|
'//gerrit-util-ssl:ssl',
|
|
'//lib:args4j',
|
|
'//lib:automaton',
|
|
'//lib:blame-cache',
|
|
'//lib:grappa',
|
|
'//lib:gson',
|
|
'//lib:guava',
|
|
'//lib:guava-retrying',
|
|
'//lib:gwtjsonrpc',
|
|
'//lib:gwtorm',
|
|
'//lib:jsch',
|
|
'//lib:juniversalchardet',
|
|
'//lib:mime-util',
|
|
'//lib:pegdown',
|
|
'//lib:protobuf',
|
|
'//lib:soy',
|
|
'//lib:tukaani-xz',
|
|
'//lib:velocity',
|
|
'//lib/antlr:java_runtime',
|
|
'//lib/auto:auto-value',
|
|
'//lib/commons:codec',
|
|
'//lib/commons:compress',
|
|
'//lib/commons:dbcp',
|
|
'//lib/commons:lang',
|
|
'//lib/commons:net',
|
|
'//lib/commons:validator',
|
|
'//lib/dropwizard:dropwizard-core',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-assistedinject',
|
|
'//lib/guice:guice-servlet',
|
|
'//lib/jgit/org.eclipse.jgit:jgit',
|
|
'//lib/jgit/org.eclipse.jgit.archive:jgit-archive',
|
|
'//lib/joda:joda-time',
|
|
'//lib/log:api',
|
|
'//lib/log:jsonevent-layout',
|
|
'//lib/log:log4j',
|
|
'//lib/lucene:lucene-analyzers-common',
|
|
'//lib/lucene:lucene-core-and-backward-codecs',
|
|
'//lib/lucene:lucene-queryparser',
|
|
'//lib/ow2:ow2-asm',
|
|
'//lib/ow2:ow2-asm-tree',
|
|
'//lib/ow2:ow2-asm-util',
|
|
'//lib/prolog:runtime',
|
|
],
|
|
provided_deps = [
|
|
'//lib:servlet-api-3_1',
|
|
],
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
java_sources(
|
|
name = 'server-src',
|
|
srcs = SRCS + RESOURCES,
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
TESTUTIL_DEPS = [
|
|
':server',
|
|
'//gerrit-common:server',
|
|
'//gerrit-cache-h2:cache-h2',
|
|
'//gerrit-extension-api:api',
|
|
'//gerrit-gpg:gpg',
|
|
'//gerrit-lucene:lucene',
|
|
'//gerrit-reviewdb:server',
|
|
'//lib:gwtorm',
|
|
'//lib:h2',
|
|
'//lib:truth',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-servlet',
|
|
'//lib/jgit/org.eclipse.jgit:jgit',
|
|
'//lib/jgit/org.eclipse.jgit.junit:junit',
|
|
'//lib/joda:joda-time',
|
|
'//lib/log:api',
|
|
'//lib/log:impl_log4j',
|
|
'//lib/log:log4j',
|
|
]
|
|
|
|
TESTUTIL = glob([
|
|
'src/test/java/com/google/gerrit/testutil/**/*.java',
|
|
'src/test/java/com/google/gerrit/server/project/Util.java',
|
|
])
|
|
java_library(
|
|
name = 'testutil',
|
|
srcs = TESTUTIL,
|
|
deps = [
|
|
'//lib/auto:auto-value',
|
|
],
|
|
provided_deps = TESTUTIL_DEPS,
|
|
exported_deps = [
|
|
'//lib/easymock:easymock',
|
|
'//lib/powermock:powermock-api-easymock',
|
|
'//lib/powermock:powermock-api-support',
|
|
'//lib/powermock:powermock-core',
|
|
'//lib/powermock:powermock-module-junit4',
|
|
'//lib/powermock:powermock-module-junit4-common',
|
|
],
|
|
visibility = ['PUBLIC'],
|
|
)
|
|
|
|
PROLOG_TEST_CASE = [
|
|
'src/test/java/com/google/gerrit/rules/PrologTestCase.java',
|
|
]
|
|
PROLOG_TESTS = glob(
|
|
['src/test/java/com/google/gerrit/rules/**/*.java'],
|
|
excludes = PROLOG_TEST_CASE,
|
|
)
|
|
|
|
java_library(
|
|
name = 'prolog_test_case',
|
|
srcs = PROLOG_TEST_CASE,
|
|
deps = [
|
|
':server',
|
|
':testutil',
|
|
'//gerrit-common:server',
|
|
'//gerrit-extension-api:api',
|
|
'//lib:guava',
|
|
'//lib:junit',
|
|
'//lib:truth',
|
|
'//lib/guice:guice',
|
|
'//lib/prolog:runtime',
|
|
],
|
|
)
|
|
|
|
java_test(
|
|
name = 'prolog_tests',
|
|
srcs = PROLOG_TESTS,
|
|
resources = glob(['src/test/resources/com/google/gerrit/rules/**/*']),
|
|
deps = TESTUTIL_DEPS + [
|
|
':prolog_test_case',
|
|
':testutil',
|
|
'//gerrit-server/src/main/prolog:common',
|
|
'//lib/prolog:runtime',
|
|
],
|
|
)
|
|
|
|
QUERY_TESTS = glob(
|
|
['src/test/java/com/google/gerrit/server/query/**/*.java'],
|
|
)
|
|
|
|
java_test(
|
|
name = 'query_tests',
|
|
srcs = QUERY_TESTS,
|
|
deps = TESTUTIL_DEPS + [
|
|
':testutil',
|
|
'//gerrit-antlr:query_exception',
|
|
'//gerrit-antlr:query_parser',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-server/src/main/prolog:common',
|
|
'//lib/antlr:java_runtime',
|
|
],
|
|
source_under_test = [':server'],
|
|
)
|
|
|
|
java_test(
|
|
name = 'server_tests',
|
|
labels = ['server'],
|
|
srcs = glob(
|
|
['src/test/java/**/*.java'],
|
|
excludes = TESTUTIL + PROLOG_TESTS + PROLOG_TEST_CASE + QUERY_TESTS
|
|
),
|
|
resources = glob(['src/test/resources/com/google/gerrit/server/mail/*']),
|
|
deps = TESTUTIL_DEPS + [
|
|
':testutil',
|
|
'//gerrit-antlr:query_exception',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-patch-jgit:server',
|
|
'//gerrit-server/src/main/prolog:common',
|
|
'//lib:args4j',
|
|
'//lib:grappa',
|
|
'//lib:gson',
|
|
'//lib:guava',
|
|
'//lib:guava-retrying',
|
|
'//lib:protobuf',
|
|
'//lib/commons:validator',
|
|
'//lib/dropwizard:dropwizard-core',
|
|
'//lib/guice:guice-assistedinject',
|
|
'//lib/prolog:runtime',
|
|
],
|
|
source_under_test = [':server'],
|
|
visibility = ['//tools/eclipse:classpath'],
|
|
)
|