blob: c264779c6ab76c06cff1ca645aea88cd77aad847 [file] [log] [blame]
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:grappa',
'//lib:gson',
'//lib:guava',
'//lib:gwtjsonrpc',
'//lib:gwtorm',
'//lib:jsch',
'//lib:juniversalchardet',
'//lib:mime-util',
'//lib:pegdown',
'//lib:protobuf',
'//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/guice:guice',
'//lib/guice:guice-assistedinject',
'//lib/guice:guice-servlet',
'//lib/jgit:jgit',
'//lib/jgit:jgit-archive',
'//lib/joda:joda-time',
'//lib/log:api',
'//lib/log:jsonevent-layout',
'//lib/log:log4j',
'//lib/lucene:analyzers-common',
'//lib/lucene:core-and-backward-codecs',
'//lib/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:jgit',
'//lib/jgit:junit',
'//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',
'//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',
'//lib/joda:joda-time',
],
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
),
deps = TESTUTIL_DEPS + [
':testutil',
'//gerrit-antlr:query_exception',
'//gerrit-common:annotations',
'//gerrit-server/src/main/prolog:common',
'//lib:args4j',
'//lib:grappa',
'//lib:guava',
'//lib/guice:guice-assistedinject',
'//lib/joda:joda-time',
'//lib/prolog:runtime',
],
source_under_test = [':server'],
visibility = ['//tools/eclipse:classpath'],
)