Introduce all-project-changes-deleted-from-index event

When deleting a project, its related changes are also removed from the
index. This used to be notified via single change-index events, for each
change deleted from the index.

This however was potentially causing a large number of events to be
published and consumed, making it impractical and inefficient to process
one-by-one.

Leverage a new hook introduced at I4c8a53629 to trigger a new dedicated
event that can be processed by consumers to delete changes in bulk from
their index.

Depends-On: I4c8a536290800d7b93b9f62d2e7ed959fceebb6b
Bug: Issue 440670678
Change-Id: I7a171837bca5103094caa9c302afb6409f075094
5 files changed
tree: a4f7b46be48f51dd5fcad01c1ccdd125813c2de8
  1. src/
  2. web/
  3. .bazelignore
  4. .gitignore
  5. BUILD
  6. LICENSE
  7. README.md
README.md

Delete project plugin for Gerrit Code Review

A plugin which allows projects to be deleted from Gerrit via an SSH command, REST API or the Project settings screen.

Build Status

JavaScript Plugin Development

For running unit tests execute:

bazel test //plugins/delete-project/web:web_test_runner

For checking or fixing eslint formatter problems run:

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

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

bazel build //plugins/delete-project/web:gr-delete-repo
cp -f bazel-bin/plugins/delete-project/web/gr-delete-repo.js plugins/

and let the Dev Helper redirect from .+/plugins/delete-project/static/gr-delete-repo.js to http://localhost:8081/plugins_/gr-delete-repo.js.