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/auto:auto-value-annotations",
        "//lib/bouncycastle:bcpkix-neverlink",
        "//lib/bouncycastle:bcprov-neverlink",
        "//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",
        "//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:annotations",
    "//gerrit-common:server",
    "//gerrit-cache-h2:cache-h2",
    "//gerrit-cache-mem:mem",
    "//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/auto:auto-value-annotations",
        "//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-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-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/**/*"]),
    visibility = ["//visibility:public"],
    deps = TESTUTIL_DEPS + [
        ":testutil",
        "//gerrit-antlr:query_exception",
        "//gerrit-patch-jgit:server",
        "//gerrit-server/src/main/prolog:common",
        "//gerrit-test-util:test_util",
        "//lib:args4j",
        "//lib:grappa",
        "//lib:gson",
        "//lib:guava",
        "//lib:guava-retrying",
        "//lib:protobuf",
        "//lib/bouncycastle:bcprov",
        "//lib/bouncycastle:bcpkix",
        "//lib/dropwizard:dropwizard-core",
        "//lib/guice:guice-assistedinject",
        "//lib/prolog:runtime",
        "//lib/commons:codec",
    ],
)

load("//tools/bzl:javadoc.bzl", "java_doc")

java_doc(
    name = "doc",
    libs = [":server"],
    pkgs = ["com.google.gerrit"],
    title = "Gerrit Review Server Documentation",
)
