David Pursehouse | e810e78 | 2019-09-05 08:43:40 +0900 | [diff] [blame] | 1 | load("@rules_java//java:defs.bzl", "java_binary", "java_library") |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 2 | load("//tools/bzl:junit.bzl", "junit_tests") |
| 3 | load( |
| 4 | "//tools/bzl:plugin.bzl", |
David Pursehouse | 71f5c7c | 2019-02-13 14:30:44 +0900 | [diff] [blame] | 5 | "PLUGIN_DEPS", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 6 | "PLUGIN_TEST_DEPS", |
| 7 | "gerrit_plugin", |
| 8 | ) |
| 9 | |
Marco Miller | 3917f3c | 2020-05-26 13:39:04 -0400 | [diff] [blame] | 10 | EXECUTOR_DEPS = [ |
Marco Miller | 87bd0ae | 2020-05-25 13:37:19 -0400 | [diff] [blame] | 11 | "@aopalliance//jar", |
Marco Miller | 696a59b | 2020-05-25 12:53:54 -0400 | [diff] [blame] | 12 | "@dbcp//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 13 | "@guava//jar", |
David Pursehouse | 8f6f242 | 2019-02-14 14:47:33 +0900 | [diff] [blame] | 14 | "@guava-failureaccess//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 15 | "@guice//jar", |
| 16 | "@guice-assistedinject//jar", |
Marco Miller | 87bd0ae | 2020-05-25 13:37:19 -0400 | [diff] [blame] | 17 | "@javaewah//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 18 | "@javax_inject//jar", |
Marco Miller | 87bd0ae | 2020-05-25 13:37:19 -0400 | [diff] [blame] | 19 | "@jgit//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 20 | "@log4j-api//jar", |
| 21 | "@log4j-core//jar", |
Marco Miller | 87bd0ae | 2020-05-25 13:37:19 -0400 | [diff] [blame] | 22 | "@log4j-slf4j-impl//jar", |
Marco Miller | 696a59b | 2020-05-25 12:53:54 -0400 | [diff] [blame] | 23 | "@pool//jar", |
Marco Miller | 3917f3c | 2020-05-26 13:39:04 -0400 | [diff] [blame] | 24 | "@postgresql//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 25 | "@retry//jar", |
Marco Miller | 87bd0ae | 2020-05-25 13:37:19 -0400 | [diff] [blame] | 26 | "@slf4j-api//jar", |
| 27 | "@slf4j-ext//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 28 | ] |
| 29 | |
| 30 | gerrit_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ès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 48 | ) |
| 49 | |
| 50 | java_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 | |
| 64 | java_binary( |
| 65 | name = "gc-executor", |
| 66 | main_class = "com.ericsson.gerrit.plugins.gcconductor.executor.GcExecutor", |
| 67 | runtime_deps = [":gc-executor_lib"], |
| 68 | ) |
| 69 | |
| 70 | junit_tests( |
Marco Miller | 432d0b1 | 2019-06-13 13:36:04 -0400 | [diff] [blame] | 71 | name = "gc-conductor_tests", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 72 | srcs = glob(["src/test/java/**/*.java"]), |
| 73 | resources = glob(["src/test/resources/**/*"]), |
David Pursehouse | fe61995 | 2019-02-15 21:43:23 +0900 | [diff] [blame] | 74 | tags = [ |
| 75 | "docker", |
| 76 | "gc-conductor", |
| 77 | ], |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 78 | deps = [ |
| 79 | ":gc-conductor__plugin_test_deps", |
| 80 | ], |
| 81 | ) |
| 82 | |
| 83 | java_library( |
| 84 | name = "gc-conductor__plugin_test_deps", |
| 85 | testonly = 1, |
| 86 | visibility = ["//visibility:public"], |
David Pursehouse | 71f5c7c | 2019-02-13 14:30:44 +0900 | [diff] [blame] | 87 | exports = EXECUTOR_DEPS + PLUGIN_DEPS + PLUGIN_TEST_DEPS + [ |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 88 | ":gc-conductor__plugin", |
| 89 | ":gc-executor_lib", |
Marco Miller | 6726447 | 2020-11-13 15:49:46 -0500 | [diff] [blame] | 90 | "@docker-java-api//jar", |
| 91 | "@docker-java-transport//jar", |
David Pursehouse | fe61995 | 2019-02-15 21:43:23 +0900 | [diff] [blame] | 92 | "@duct_tape//jar", |
Marco Miller | 6726447 | 2020-11-13 15:49:46 -0500 | [diff] [blame] | 93 | "@jackson-annotations//jar", |
David Pursehouse | fe61995 | 2019-02-15 21:43:23 +0900 | [diff] [blame] | 94 | "@jna//jar", |
David Pursehouse | fe61995 | 2019-02-15 21:43:23 +0900 | [diff] [blame] | 95 | "@testcontainers-database-commons//jar", |
| 96 | "@testcontainers-jdbc//jar", |
| 97 | "@testcontainers-postgres//jar", |
| 98 | "@testcontainers//jar", |
| 99 | "@visible_assertions//jar", |
Hugo Arès | a3cb7ad | 2018-08-17 08:12:17 -0400 | [diff] [blame] | 100 | ], |
| 101 | ) |