blob: 96de364436bc6b0ad3fa3cc9b5a2a0fb378b6cf0 [file] [log] [blame]
David Pursehousee810e782019-09-05 08:43:40 +09001load("@rules_java//java:defs.bzl", "java_binary", "java_library")
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -04002load("//tools/bzl:junit.bzl", "junit_tests")
3load(
4 "//tools/bzl:plugin.bzl",
David Pursehouse71f5c7c2019-02-13 14:30:44 +09005 "PLUGIN_DEPS",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -04006 "PLUGIN_TEST_DEPS",
7 "gerrit_plugin",
8)
9
10CONDUCTOR_DEPS = [
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040011 "@dbcp//jar",
12 "@pool//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040013 "@postgresql//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040014]
15
16EXECUTOR_DEPS = CONDUCTOR_DEPS + [
Marco Miller87bd0ae2020-05-25 13:37:19 -040017 "@aopalliance//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040018 "@guava//jar",
David Pursehouse8f6f2422019-02-14 14:47:33 +090019 "@guava-failureaccess//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040020 "@guice//jar",
21 "@guice-assistedinject//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040022 "@javaewah//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040023 "@javax_inject//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040024 "@jgit//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040025 "@log4j-api//jar",
26 "@log4j-core//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040027 "@log4j-slf4j-impl//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040028 "@retry//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040029 "@slf4j-api//jar",
30 "@slf4j-ext//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040031]
32
33gerrit_plugin(
34 name = "gc-conductor",
35 srcs = glob(
36 ["src/main/java/**/*.java"],
37 exclude = ["**/executor/**"],
38 ),
39 manifest_entries = [
40 "Gerrit-PluginName: gc-conductor",
41 "Gerrit-Module: com.ericsson.gerrit.plugins.gcconductor.evaluator.EvaluatorModule",
42 "Gerrit-SshModule: com.ericsson.gerrit.plugins.gcconductor.command.SshModule",
43 "Implementation-Title: gc-conductor plugin",
44 "Implementation-URL: https://gerrit-review.googlesource.com/admin/repos/plugins/gc-conductor",
45 "Implementation-Vendor: Ericsson",
46 ],
47 resources = glob(
48 ["src/main/resources/**/*"],
49 exclude = ["src/main/resources/log4j2.xml"],
50 ),
51 deps = CONDUCTOR_DEPS,
52)
53
54java_library(
55 name = "gc-executor_lib",
56 srcs = glob([
57 "src/main/java/com/ericsson/gerrit/plugins/gcconductor/*.java",
58 "src/main/java/com/ericsson/gerrit/plugins/gcconductor/executor/*.java",
59 "src/main/java/com/ericsson/gerrit/plugins/gcconductor/postgresqueue/*.java",
60 ]),
61 resources = glob([
62 "bin/**/*",
63 "src/main/resources/log4j2.xml",
64 ]),
65 deps = EXECUTOR_DEPS,
66)
67
68java_binary(
69 name = "gc-executor",
70 main_class = "com.ericsson.gerrit.plugins.gcconductor.executor.GcExecutor",
71 runtime_deps = [":gc-executor_lib"],
72)
73
74junit_tests(
Marco Miller432d0b12019-06-13 13:36:04 -040075 name = "gc-conductor_tests",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040076 srcs = glob(["src/test/java/**/*.java"]),
77 resources = glob(["src/test/resources/**/*"]),
David Pursehousefe619952019-02-15 21:43:23 +090078 tags = [
79 "docker",
80 "gc-conductor",
81 ],
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040082 deps = [
83 ":gc-conductor__plugin_test_deps",
84 ],
85)
86
87java_library(
88 name = "gc-conductor__plugin_test_deps",
89 testonly = 1,
90 visibility = ["//visibility:public"],
David Pursehouse71f5c7c2019-02-13 14:30:44 +090091 exports = EXECUTOR_DEPS + PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040092 ":gc-conductor__plugin",
93 ":gc-executor_lib",
David Pursehousefe619952019-02-15 21:43:23 +090094 "@duct_tape//jar",
95 "@jna//jar",
David Pursehousefe619952019-02-15 21:43:23 +090096 "@testcontainers-database-commons//jar",
97 "@testcontainers-jdbc//jar",
98 "@testcontainers-postgres//jar",
99 "@testcontainers//jar",
100 "@visible_assertions//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -0400101 ],
102)