Fix RepoView leak in CodeOwnerConfigValidator

The onPreMerge() operation of CodeOwnerConfigValidator was creating
a RepoView on-the-fly without a proper try-with-resource causing
the leak of a Repository object reference counting.

Extract the repoView creation in a separate variable and make sure
it is included in the outer try-with-resource everywhere it is used.

NOTE: ErrorProne should have spotted resources leaks in the
first place, so we should consider enabling the MustBeClosedChecker.

[1] https://errorprone.info/bugpattern/MustBeClosedChecker

Change-Id: I2880a4cf8b76e2be979288c996720478f98b4fba
2 files changed
tree: 069b81d85accd7a048dbd4e0cc80c74285b6779b
  1. java/
  2. javatests/
  3. proto/
  4. resources/
  5. web/
  6. .gitignore
  7. .gitreview
  8. BUILD
  9. LICENSE
  10. README.md
README.md

Gerrit Code Review code-owners plugin

This plugin provides support for defining code owners for files in a repository.

If the code-owners plugin is enabled, changes can only be submitted if all touched files are covered by approvals from code owners.

For a detailed description of the plugin functionality please refer to the plugin documentation.

IMPORTANT: Before installing/enabling the plugin follow the instructions from the setup guide.

NOTE: The plugin documentation only renders correctly when the plugin is installed in Gerrit and the documentation is accessed via https:///plugins/code-owners/Documentation/index.html. If you want to read the documentation before installing the plugin, you can find it properly rendered here.

JavaScript Plugin

From the root of the gerrit repository.

bazel test //plugins/code-owners/web:karma_test

For testing the plugin with the Gerrit FE Dev Helper the command below builds

    bazel build //plugins/code-owners/web:code-owners
    ln -s bazel-bin/plugins/code-owners/web/code-owners.js polygerrit-ui/app/plugins/

and let the Dev Helper redirect from .+/plugins/code-owners/static/code-owners.js to http://localhost:8081/plugins/code-owners.js.