Merge branch 'stable-3.1'
* stable-3.1:
Fix bazlets using latest stable-3.1 to build with 3.1.5 API
Adapt documentation link to v3.1 in README for e2e
Replace unused postgresql jar with manual site copy
Align postgresql version used with gerrit core one
Stop shipping core dependencies within plugin jar
Sort CONDUCTOR_DEPS and EXECUTOR_DEPS alphabetically
Adapt documentation version link in README for e2e
Add README introducing e2e plugin test scenarios
Upgrade bazlets to latest stable-3.1 to build with 3.1.5 API
Upgrade bazlets to latest stable-3.0 to build with 3.0.9 API
Upgrade bazlets to latest stable-2.16 to build with 2.16.19 API
Align postgresql version used with gerrit core one
Stop shipping core dependencies within plugin jar
Sort CONDUCTOR_DEPS and EXECUTOR_DEPS alphabetically
Change-Id: I94e99866852d33e5038533a2725f55488616ff93
diff --git a/BUILD b/BUILD
index 3ebfd66..66c91cf 100644
--- a/BUILD
+++ b/BUILD
@@ -7,26 +7,23 @@
"gerrit_plugin",
)
-CONDUCTOR_DEPS = [
- "@postgresql//jar",
+EXECUTOR_DEPS = [
+ "@aopalliance//jar",
"@dbcp//jar",
- "@pool//jar",
-]
-
-EXECUTOR_DEPS = CONDUCTOR_DEPS + [
- "@javaewah//jar",
"@guava//jar",
"@guava-failureaccess//jar",
"@guice//jar",
"@guice-assistedinject//jar",
+ "@javaewah//jar",
"@javax_inject//jar",
- "@aopalliance//jar",
- "@slf4j-api//jar",
- "@slf4j-ext//jar",
- "@log4j-slf4j-impl//jar",
"@log4j-api//jar",
"@log4j-core//jar",
+ "@log4j-slf4j-impl//jar",
+ "@pool//jar",
+ "@postgresql//jar",
"@retry//jar",
+ "@slf4j-api//jar",
+ "@slf4j-ext//jar",
"//lib:jgit",
]
@@ -48,7 +45,6 @@
["src/main/resources/**/*"],
exclude = ["src/main/resources/log4j2.xml"],
),
- deps = CONDUCTOR_DEPS,
)
java_library(
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index 6a61adf..7312b0b 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -43,8 +43,8 @@
maven_jar(
name = "postgresql",
- artifact = "org.postgresql:postgresql:42.2.4",
- sha1 = "dff98730c28a4b3a3263f0cf4abb9a3392f815a7",
+ artifact = "org.postgresql:postgresql:42.2.5",
+ sha1 = "951b7eda125f3137538a94e2cbdcf744088ad4c2",
)
maven_jar(
diff --git a/src/main/resources/Documentation/build.md b/src/main/resources/Documentation/build.md
index 3643444..24ec423 100644
--- a/src/main/resources/Documentation/build.md
+++ b/src/main/resources/Documentation/build.md
@@ -7,7 +7,7 @@
* In Gerrit tree.
Standalone build mode is recommended, as this mode doesn't require local Gerrit
-tree to exist.
+tree to exist. This plugin has a side component, gc-executor, to build as well.
Successfully running some of the tests requires Docker,
which are skipped if Docker is not available.
@@ -55,6 +55,7 @@
to generate the required files and then import the project.
+## Building gc-executor
To build the executor, issue the following command:
@@ -65,11 +66,21 @@
The output is created in:
```
- /bazel-bin/gc-executor_deploy.jar
+ bazel-bin/gc-executor_deploy.jar
```
This jar should be renamed to gc-executor.jar before deployment.
+Once the executor is built, the resulting postgresql jar file like below
+should be manually copied over to the gerrit site /lib folder; on macOS:
+
+```
+ bazel-out/darwin-fastbuild/bin/gc-executor.runfiles/gc_executor/external/postgresql/jar/postgresql-42.2.5.jar
+```
+
+That file has to be in accordance with potentially existing database driver
+files under site's /lib, for proper account_patch_reviews support.
+
## Build in Gerrit tree
Clone or link this plugin to the plugins directory of Gerrit's
diff --git a/src/test/README.md b/src/test/README.md
new file mode 100644
index 0000000..ecb8bfb
--- /dev/null
+++ b/src/test/README.md
@@ -0,0 +1,27 @@
+# About this directory structure
+
+```bash
+ ./resources/com
+ ./scala
+```
+
+To start using the files under these directories above, consider the
+[instructions](https://gerrit-documentation.storage.googleapis.com/Documentation/3.1.5/dev-e2e-tests.html)
+on how to use Gerrit core's Gatling framework. These are about running
+non-core test scenarios such as this plugin one below:
+
+```bash
+ sbt "gatling:testOnly com.ericsson.gerrit.plugins.gcconductor.scenarios.CreateChangesTriggeringGc"
+
+```
+
+This is a scenario that can serve as an example for how to start testing
+this plugin, along with its executor component. Both of these components
+should be locally installed along with default configuration. Plugin's
+gc-executor component is assumed to be running alongside Gerrit.
+
+Scenario scala source files and their companion json resource ones are
+stored under the usual src/test directories. That structure follows the
+scala package one from the scenario classes. The core framework expects
+such a directory structure for both the scala and resources (json data)
+files.