CheckSubmitRule: Return Optional#empty() if all checkers are optional

If all configured checkers for a project are optional, it's better to
return an Optional#empty() instead of a record with status=OK.

This is also needed by submit requirements, since we convert results of
legacy submit rules to submit requirements. If we return an
Optional#empty(), the SR evaluator will just skip creating a submit
requirement result for it.

Google-Bug-Id: b/209752314
Change-Id: Ia96861ed4bd5b4644f79988e3a7a8d221d42a227
4 files changed
tree: f06af7cd6d175777c76f5a96c0f2c54318f10b82
  1. java/
  2. javatests/
  3. proto/
  4. resources/
  5. web/
  6. .gitignore
  7. .gitreview
  8. BUILD
  9. LICENSE
  10. README.md
README.md

DEPRECATION NOTICE

The Gerrit team at Google has decided to discontinue work on the checks plugin. The recommended solution is [https://gerrit-review.googlesource.com/Documentation/pg-plugin-checks-api.html](Checks UI) which surfaces results from an external CI/analysis system.

Gerrit Code Review Checks Plugin (DEPRECATED)

This plugin provides a unified experience for checkers (CI systems, static analyzers, etc.) to integrate with Gerrit Code Review.

When upgrading the plugin, please use init:

java -jar gerrit.war init -d site_path

More details about “init” in https://gerrit-review.googlesource.com/Documentation/pgm-init.html

Enable e-mail notifications

To enable sending email notifications for “checks” status updates, you'll need to create the email templates in <your-site-path>/etc/mail. In the simplest form, simply rename the example templates:

cd "<your-site-path>"
mv etc/mail/CombinedCheckStateUpdated.soy{.example,}
mv etc/mail/CombinedCheckStateUpdatedHtml.soy{.example,}

JavaScript Plugin

For running unit tests execute:

bazel test --test_output=all //plugins/checks/web:karma_test

For checking or fixing eslint formatter problems run:

bazel test //plugins/checks/web:lint_test
bazel run //plugins/checks/web:lint_bin -- --fix "$(pwd)/plugins/checks/web"

For testing the plugin with Gerrit FE Dev Helper build the JavaScript bundle and copy it to the plugins/ folder:

bazel build //plugins/checks/web:checks
cp -f bazel-bin/plugins/checks/web/checks.js plugins/

and let the Dev Helper redirect from .+/plugins/checks/static/checks.js to http://localhost:8081/plugins_/checks.js.