Adapt Bazel build and deps to latest stable-3.5 The latest stable-3.5 has removed all the leftover of dependencies from testcontainer and docker-java which needs to be part of this plugin instead. Also fix formatting of build files with buildifier. Change-Id: Ic795dd62c1d382ec4e451e4f0ffc3d2365f3a074
diff --git a/BUILD b/BUILD index 06352ab..4e5a433 100644 --- a/BUILD +++ b/BUILD
@@ -1,110 +1,28 @@ -load("@rules_java//java:defs.bzl", "java_library") load("//tools/bzl:junit.bzl", "junit_tests") -load("//javatests/com/google/gerrit/acceptance:tests.bzl", "acceptance_tests") load( "//tools/bzl:plugin.bzl", - "PLUGIN_DEPS", "PLUGIN_TEST_DEPS", "gerrit_plugin", ) -gerrit_plugin ( +gerrit_plugin( name = "index-elasticsearch", srcs = glob(["src/main/java/**/*.java"]), deps = [ - "//java/com/google/gerrit/common:annotations", - "//java/com/google/gerrit/entities", - "//java/com/google/gerrit/exceptions", - "//java/com/google/gerrit/extensions:api", - "//java/com/google/gerrit/index", - "//java/com/google/gerrit/index:query_exception", - "//java/com/google/gerrit/index/project", - "//java/com/google/gerrit/lifecycle", "//java/com/google/gerrit/proto", - "//java/com/google/gerrit/server", - "//lib:gson", - "//lib:guava", - "//lib:jgit", - "//lib:protobuf", - "//lib/commons:lang", "@elasticsearch-rest-client//jar", - "//lib/flogger:api", - "//lib/guice", - "//lib/guice:guice-assistedinject", "@httpasyncclient//jar", - "//lib/httpcomponents:httpclient", - "//lib/httpcomponents:httpcore", "@httpcore-nio//jar", "@jackson-core//jar", ], ) -java_library( - name = "elasticsearch_test_utils", - testonly = True, - srcs = [], - visibility = ["//visibility:public"], - deps = [ - "//java/com/google/gerrit/index", - "//lib:guava", - "//lib:jgit", - "//lib:junit", - "//lib/guice", - "//lib/httpcomponents:httpcore", - "//lib/jackson:jackson-annotations", - "//lib/testcontainers", - "//lib/testcontainers:docker-java-api", - "//lib/testcontainers:docker-java-transport", - "@testcontainers-elasticsearch//jar", - ":index-elasticsearch__plugin", - ], -) - -ELASTICSEARCH_DEPS = [ - ":elasticsearch_test_utils", - "//java/com/google/gerrit/testing:gerrit-test-util", - "//lib/guice", - "//lib:jgit", -] - -HTTP_TEST_DEPS = [ - "@httpasyncclient//jar", - "//lib/httpcomponents:httpclient", -] - -QUERY_TESTS_DEP = "//javatests/com/google/gerrit/server/query/%s:abstract_query_tests" - -TYPES = [ - "account", - "change", - "group", - "project", -] - -SUFFIX = "sTest.java" - -ELASTICSEARCH_TESTS_V7 = {i: "ElasticV7Query" + i.capitalize() + SUFFIX for i in TYPES} - -ELASTICSEARCH_TAGS = [ - "docker", - "elastic", -] - junit_tests( name = "index-elasticsearch_tests", size = "small", - srcs = glob( - ["src/test/java/**/*Test.java"], - exclude = ["Elastic*Query*" + SUFFIX], - ), + srcs = glob(["src/test/java/**/*Test.java"]), tags = ["elastic"], - deps = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [ - "//java/com/google/gerrit/testing:gerrit-test-util", - "//lib:guava", - "//lib:jgit", - "//lib/guice", - "//lib/httpcomponents:httpcore", - "//lib/truth", - ":elasticsearch_test_utils", + deps = PLUGIN_TEST_DEPS + [ + ":index-elasticsearch__plugin", ], )
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl index b863175..fc1420c 100644 --- a/external_plugin_deps.bzl +++ b/external_plugin_deps.bzl
@@ -5,6 +5,12 @@ # Ensure artifacts compatibility by selecting them from the Bill Of Materials # https://search.maven.org/artifact/net.openhft/chronicle-bom/2.20.191/pom def external_plugin_deps(): + maven_jar( + name = "testcontainers", + artifact = "org.testcontainers:testcontainers:" + TESTCONTAINERS_VERSION, + sha1 = "95c6cfde71c2209f0c29cb14e432471e0b111880", + ) + # When upgrading elasticsearch-rest-client, also upgrade httpcore-nio # and httpasyncclient as necessary in tools/nongoogle.bzl. Consider # also the other org.apache.httpcomponents dependencies in @@ -21,6 +27,38 @@ sha1 = "595e3a50f59cd3c1d281ca6c1bc4037e277a1353", ) + maven_jar( + name = "duct-tape", + artifact = "org.rnorth.duct-tape:duct-tape:1.0.8", + sha1 = "92edc22a9ab2f3e17c9bf700aaee377d50e8b530", + ) + + maven_jar( + name = "visible-assertions", + artifact = "org.rnorth.visible-assertions:visible-assertions:2.1.2", + sha1 = "20d31a578030ec8e941888537267d3123c2ad1c1", + ) + + maven_jar( + name = "jna", + artifact = "net.java.dev.jna:jna:5.5.0", + sha1 = "0e0845217c4907822403912ad6828d8e0b256208", + ) + + DOCKER_JAVA_VERS = "3.2.8" + + maven_jar( + name = "docker-java-api", + artifact = "com.github.docker-java:docker-java-api:" + DOCKER_JAVA_VERS, + sha1 = "4ac22a72d546a9f3523cd4b5fabffa77c4a6ec7c", + ) + + maven_jar( + name = "docker-java-transport", + artifact = "com.github.docker-java:docker-java-transport:" + DOCKER_JAVA_VERS, + sha1 = "c3b5598c67d0a5e2e780bf48f520da26b9915eab", + ) + # elasticsearch-rest-client explicitly depends on this version maven_jar( name = "httpasyncclient", @@ -42,8 +80,13 @@ ) maven_jar( + name = "jackson-annotations", + artifact = "com.fasterxml.jackson.core:jackson-annotations:2.10.3", + sha1 = "0f63b3b1da563767d04d2e4d3fc1ae0cdeffebe7", + ) + + maven_jar( name = "httpasyncclient", artifact = "org.apache.httpcomponents:httpasyncclient:4.1.4", sha1 = "f3a3240681faae3fa46b573a4c7e50cec9db0d86", ) -