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