blob: cb9127879dacadc964098bcf349ce1aa53778eaa [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
Marco Miller3917f3c2020-05-26 13:39:04 -040010EXECUTOR_DEPS = [
Marco Miller87bd0ae2020-05-25 13:37:19 -040011 "@aopalliance//jar",
Marco Miller696a59b2020-05-25 12:53:54 -040012 "@dbcp//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040013 "@guava//jar",
David Pursehouse8f6f2422019-02-14 14:47:33 +090014 "@guava-failureaccess//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040015 "@guice//jar",
16 "@guice-assistedinject//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040017 "@javaewah//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040018 "@javax_inject//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040019 "@jgit//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040020 "@log4j-api//jar",
21 "@log4j-core//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040022 "@log4j-slf4j-impl//jar",
Marco Miller696a59b2020-05-25 12:53:54 -040023 "@pool//jar",
Marco Miller3917f3c2020-05-26 13:39:04 -040024 "@postgresql//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040025 "@retry//jar",
Marco Miller87bd0ae2020-05-25 13:37:19 -040026 "@slf4j-api//jar",
27 "@slf4j-ext//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040028]
29
30gerrit_plugin(
31 name = "gc-conductor",
32 srcs = glob(
33 ["src/main/java/**/*.java"],
34 exclude = ["**/executor/**"],
35 ),
36 manifest_entries = [
37 "Gerrit-PluginName: gc-conductor",
38 "Gerrit-Module: com.ericsson.gerrit.plugins.gcconductor.evaluator.EvaluatorModule",
39 "Gerrit-SshModule: com.ericsson.gerrit.plugins.gcconductor.command.SshModule",
40 "Implementation-Title: gc-conductor plugin",
41 "Implementation-URL: https://gerrit-review.googlesource.com/admin/repos/plugins/gc-conductor",
42 "Implementation-Vendor: Ericsson",
43 ],
44 resources = glob(
45 ["src/main/resources/**/*"],
46 exclude = ["src/main/resources/log4j2.xml"],
47 ),
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040048)
49
50java_library(
51 name = "gc-executor_lib",
52 srcs = glob([
53 "src/main/java/com/ericsson/gerrit/plugins/gcconductor/*.java",
54 "src/main/java/com/ericsson/gerrit/plugins/gcconductor/executor/*.java",
55 "src/main/java/com/ericsson/gerrit/plugins/gcconductor/postgresqueue/*.java",
56 ]),
57 resources = glob([
58 "bin/**/*",
59 "src/main/resources/log4j2.xml",
60 ]),
61 deps = EXECUTOR_DEPS,
62)
63
64java_binary(
65 name = "gc-executor",
66 main_class = "com.ericsson.gerrit.plugins.gcconductor.executor.GcExecutor",
67 runtime_deps = [":gc-executor_lib"],
68)
69
70junit_tests(
Marco Miller432d0b12019-06-13 13:36:04 -040071 name = "gc-conductor_tests",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040072 srcs = glob(["src/test/java/**/*.java"]),
73 resources = glob(["src/test/resources/**/*"]),
David Pursehousefe619952019-02-15 21:43:23 +090074 tags = [
75 "docker",
76 "gc-conductor",
77 ],
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040078 deps = [
79 ":gc-conductor__plugin_test_deps",
80 ],
81)
82
83java_library(
84 name = "gc-conductor__plugin_test_deps",
85 testonly = 1,
86 visibility = ["//visibility:public"],
David Pursehouse71f5c7c2019-02-13 14:30:44 +090087 exports = EXECUTOR_DEPS + PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -040088 ":gc-conductor__plugin",
89 ":gc-executor_lib",
Marco Miller67264472020-11-13 15:49:46 -050090 "@docker-java-api//jar",
91 "@docker-java-transport//jar",
David Pursehousefe619952019-02-15 21:43:23 +090092 "@duct_tape//jar",
Marco Miller67264472020-11-13 15:49:46 -050093 "@jackson-annotations//jar",
David Pursehousefe619952019-02-15 21:43:23 +090094 "@jna//jar",
David Pursehousefe619952019-02-15 21:43:23 +090095 "@testcontainers-database-commons//jar",
96 "@testcontainers-jdbc//jar",
97 "@testcontainers-postgres//jar",
98 "@testcontainers//jar",
99 "@visible_assertions//jar",
Hugo Arèsa3cb7ad2018-08-17 08:12:17 -0400100 ],
101)