blob: 71ea5bd8bc99e998ae19cb4a6553105a042545e5 [file] [log] [blame]
load("//tools/bzl:junit.bzl", "junit_tests")
load("//tools/bzl:license.bzl", "license_test")
SRCS = "src/main/java/com/google/gerrit/pgm/"
RSRCS = "src/main/resources/com/google/gerrit/pgm/"
INIT_API_SRCS = glob([SRCS + "init/api/*.java"])
BASE_JETTY_DEPS = [
"//gerrit-common:annotations",
"//gerrit-common:server",
"//gerrit-extension-api:api",
"//gerrit-gwtexpui:linker_server",
"//gerrit-gwtexpui:server",
"//gerrit-httpd:httpd",
"//gerrit-server:server",
"//gerrit-sshd:sshd",
"//lib:guava",
"//lib/guice:guice",
"//lib/guice:guice-assistedinject",
"//lib/guice:guice-servlet",
"//lib/jgit/org.eclipse.jgit:jgit",
"//lib/joda:joda-time",
"//lib/log:api",
"//lib/log:log4j",
]
DEPS = BASE_JETTY_DEPS + [
"//gerrit-reviewdb:server",
"//gerrit-server:metrics",
"//gerrit-server:module",
"//gerrit-server:receive",
"//lib:gwtorm",
"//lib/log:jsonevent-layout",
]
java_library(
name = "init-api",
srcs = INIT_API_SRCS,
visibility = ["//visibility:public"],
deps = DEPS,
)
java_library(
name = "init",
srcs = glob([SRCS + "init/**/*.java"]),
resources = glob([RSRCS + "init/*"]),
visibility = ["//visibility:public"],
deps = DEPS + [
":init-api",
":util",
"//gerrit-index:index",
"//gerrit-elasticsearch:elasticsearch",
"//gerrit-launcher:launcher", # We want this dep to be provided_deps
"//gerrit-lucene:lucene",
"//lib:args4j",
"//lib:derby",
"//lib:gwtjsonrpc",
"//lib:h2",
"//lib/commons:validator",
"//lib/mina:sshd",
],
)
REST_UTIL_DEPS = [
"//gerrit-cache-h2:cache-h2",
"//gerrit-cache-mem:mem",
"//gerrit-util-cli:cli",
"//lib:args4j",
"//lib/commons:dbcp",
]
java_library(
name = "util",
visibility = ["//visibility:public"],
exports = [":util-nodep"],
runtime_deps = DEPS + REST_UTIL_DEPS,
)
java_library(
name = "util-nodep",
srcs = glob([SRCS + "util/*.java"]),
visibility = ["//visibility:public"],
deps = DEPS + REST_UTIL_DEPS, # We want all these deps to be provided_deps
)
JETTY_DEPS = [
"//lib/jetty:jmx",
"//lib/jetty:server",
"//lib/jetty:servlet",
]
java_library(
name = "http",
visibility = ["//visibility:public"],
exports = [":http-jetty"],
runtime_deps = DEPS + JETTY_DEPS,
)
java_library(
name = "http-jetty",
srcs = glob([SRCS + "http/jetty/*.java"]),
visibility = ["//visibility:public"],
deps = JETTY_DEPS + BASE_JETTY_DEPS + [
# We want all these deps to be provided_deps
"//gerrit-launcher:launcher",
"//gerrit-reviewdb:client",
"//lib:servlet-api-3_1",
],
)
REST_PGM_DEPS = [
":http",
":init",
":init-api",
":util",
"//gerrit-cache-h2:cache-h2",
"//gerrit-cache-mem:mem",
"//gerrit-elasticsearch:elasticsearch",
"//gerrit-gpg:gpg",
"//gerrit-index:index",
"//gerrit-lucene:lucene",
"//gerrit-oauth:oauth",
"//gerrit-openid:openid",
"//lib:args4j",
"//lib:protobuf",
"//lib:servlet-api-3_1-without-neverlink",
"//lib/prolog:cafeteria",
"//lib/prolog:compiler",
"//lib/prolog:runtime",
]
java_library(
name = "pgm",
resources = glob([RSRCS + "*"]),
visibility = ["//visibility:public"],
runtime_deps = DEPS + REST_PGM_DEPS + [
":daemon",
],
)
# no transitive deps, used for gerrit-acceptance-framework
java_library(
name = "daemon",
srcs = glob([
SRCS + "*.java",
SRCS + "rules/*.java",
]),
resources = glob([RSRCS + "*"]),
visibility = ["//visibility:public"],
deps = DEPS + REST_PGM_DEPS + [
# We want all these deps to be provided_deps
"//gerrit-launcher:launcher",
"//lib/auto:auto-value",
"//lib/auto:auto-value-annotations",
],
)
junit_tests(
name = "pgm_tests",
srcs = glob(["src/test/java/**/*.java"]),
deps = [
":http-jetty",
":init",
":init-api",
":pgm",
"//gerrit-common:server",
"//gerrit-server:server",
"//lib:guava",
"//lib:junit",
"//lib:truth",
"//lib/easymock",
"//lib/guice",
"//lib/jgit/org.eclipse.jgit:jgit",
"//lib/jgit/org.eclipse.jgit.junit:junit",
],
)
license_test(
name = "pgm_license_test",
target = ":pgm",
)