Files
gerrit/gerrit-server/BUILD
Edwin Kempin c3fe0838cc Make indexes available during init invoked by tests
Tests do site initialization, but during this site initialization the
indexes were not available. Due to this SchemaCreator had to do a null
check on the search index when indexing new groups.

Add the necessary Guice bindings to make the indexes available during
init that is triggered by tests and ensure that the indexes are
properly started before and stopped after the site initialization.

Change-Id: Id2bd2157239f39395e594438fe877253a4906704
Signed-off-by: Edwin Kempin <ekempin@google.com>
2017-01-27 09:07:42 +01:00

245 lines
6.5 KiB
Python

load("//tools/bzl:junit.bzl", "junit_tests")
CONSTANTS_SRC = [
"src/main/java/com/google/gerrit/server/documentation/Constants.java",
]
SRCS = glob(
["src/main/java/**/*.java"],
exclude = CONSTANTS_SRC,
)
RESOURCES = glob(["src/main/resources/**/*"])
java_library(
name = "constants",
srcs = CONSTANTS_SRC,
visibility = ["//visibility:public"],
)
java_library(
name = "server",
srcs = SRCS,
resources = RESOURCES,
visibility = ["//visibility:public"],
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:servlet-api-3_1",
"//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",
"//lib/guice:guice-assistedinject",
"//lib/guice:guice-servlet",
"//lib/jgit/org.eclipse.jgit.archive:jgit-archive",
"//lib/jgit/org.eclipse.jgit:jgit",
"//lib/joda:joda-time",
"//lib/jsoup:jsoup",
"//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/mime4j:core",
"//lib/mime4j:dom",
"//lib/ow2:ow2-asm",
"//lib/ow2:ow2-asm-tree",
"//lib/ow2:ow2-asm-util",
"//lib/prolog:runtime",
],
)
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",
testonly = 1,
srcs = TESTUTIL,
visibility = ["//visibility:public"],
exports = [
"//lib/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",
],
deps = TESTUTIL_DEPS + [
"//gerrit-pgm:init",
"//lib/auto:auto-value",
"//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",
],
)
PROLOG_TEST_CASE = [
"src/test/java/com/google/gerrit/rules/PrologTestCase.java",
]
PROLOG_TESTS = glob(
["src/test/java/com/google/gerrit/rules/**/*.java"],
exclude = PROLOG_TEST_CASE,
)
java_library(
name = "prolog_test_case",
testonly = 1,
srcs = PROLOG_TEST_CASE,
deps = [
":server",
":testutil",
"//gerrit-common:server",
"//gerrit-extension-api:api",
"//lib:guava",
"//lib:junit",
"//lib:truth",
"//lib/guice",
"//lib/prolog:runtime",
],
)
junit_tests(
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_library(
name = "query_tests_code",
testonly = 1,
srcs = QUERY_TESTS,
visibility = ["//visibility:public"],
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",
],
)
junit_tests(
name = "query_tests",
size = "large",
srcs = QUERY_TESTS,
visibility = ["//visibility:public"],
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",
],
)
junit_tests(
name = "server_tests",
size = "large",
srcs = glob(
["src/test/java/**/*.java"],
exclude = TESTUTIL + PROLOG_TESTS + PROLOG_TEST_CASE + QUERY_TESTS,
),
resources = glob(["src/test/resources/com/google/gerrit/server/mail/*"]),
visibility = ["//visibility:public"],
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/dropwizard:dropwizard-core",
"//lib/guice:guice-assistedinject",
"//lib/prolog:runtime",
],
)
load("//tools/bzl:javadoc.bzl", "java_doc")
java_doc(
name = "doc",
libs = [":server"],
pkgs = ["com.google.gerrit"],
title = "Gerrit Review Server Documentation",
)