0e33c71d40
Describe which conditions a plugin must fulfill to be considered as core plugin. That the ESC is in charge of core plugins is not new, but is already documented in the project governance section at [1]. [1] https://gerrit-review.googlesource.com/Documentation/dev-processes.html#steering-committee Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: Id03057d1c5d26c0e84b6d19440a2e6f46853bf7d
95 lines
3.1 KiB
Plaintext
95 lines
3.1 KiB
Plaintext
= Gerrit Code Review - Core Plugins
|
|
|
|
[[definition]]
|
|
== What are core plugins?
|
|
|
|
Core plugins are plugins that are packaged within the Gerrit war file. This
|
|
means during the link:pgm-init.html[Gerrit initialization] they can be easily
|
|
installed without downloading any additional files.
|
|
|
|
To make working with core plugins easy, they are linked as
|
|
link:https://gerrit.googlesource.com/gerrit/+/refs/heads/master/.gitmodules[Git
|
|
submodules] in the `gerrit` repository. E.g. this means they can be easily
|
|
link:dev-readme.html#clone[cloned] together with Gerrit.
|
|
|
|
All core plugins are developed and maintained by the
|
|
link:dev-roles.html#maintainers[Gerrit maintainers] and everyone can
|
|
link:dev-contributing.html[contribute] to them.
|
|
|
|
Adding a new core plugin feature that is large or complex requires a
|
|
link:dev-design-doc.html[design doc] (also see
|
|
link:dev-contributing.html#design-driven-contribution-process[design-driven
|
|
contribution process]). The link:dev-processes.html#steering-committee[
|
|
engineering steering committee (ESC)] is the authority that approves the design
|
|
docs. The ESC is also in charge of adding and removing core plugins.
|
|
|
|
Non-Gerrit maintainers cannot have link:access-control.html#category_owner[
|
|
Owner] permissions for core plugins.
|
|
|
|
[[criteria]]
|
|
=== Criteria for Core Plugins
|
|
|
|
To be considered as a core plugin, a plugin must fulfill the following
|
|
criteria:
|
|
|
|
1. License:
|
|
+
|
|
The plugin code is available under the
|
|
link:http://www.apache.org/licenses/LICENSE-2.0[Apache License Version 2.0].
|
|
|
|
2. Hosting:
|
|
+
|
|
The plugin development is hosted on the
|
|
link:https://gerrit-review.googlesource.com[gerrit-review] Gerrit Server.
|
|
|
|
3. Scope:
|
|
+
|
|
The plugin functionality is Gerrit-related, has a clear scope and does not
|
|
conflict with other core plugins or existing and planned Gerrit core features.
|
|
|
|
4. Relevance:
|
|
+
|
|
The plugin functionality is relevant to a majority of the Gerrit community:
|
|
+
|
|
--
|
|
** An out of the box Gerrit installation would seem like it is missing
|
|
something if the plugin is not installed.
|
|
** It's expected that most sites would use the plugin.
|
|
** Multiple parties (different organizations/companies) already use the plugin
|
|
and agree that it should be offered as core plugin.
|
|
** If the same or similar functionality is provided by multiple plugins,
|
|
the plugin is the clear recommended solution by the community.
|
|
--
|
|
+
|
|
Whether a plugin is relevant to a majority of the Gerrit community must be
|
|
discussed on a case-by-case basis. In case of doubt, it's up to the
|
|
link:dev-processes.html#steering-committee[engineering steering committee] to
|
|
make a decision.
|
|
|
|
5. Code Quality:
|
|
+
|
|
The plugin code is mature and has a good test coverage. Maintaining the plugin
|
|
code creates only little overhead for the Gerrit maintainers.
|
|
|
|
6. Documentation:
|
|
+
|
|
The plugin functionality is fully documented.
|
|
|
|
7. Ownership:
|
|
+
|
|
Existing plugin owners which are not Gerrit maintainers must agree to give up
|
|
their ownership. If the current plugin owners disagree, forking the plugin is
|
|
possible, but this should happen only in exceptional cases.
|
|
|
|
[[list]]
|
|
== Which core plugins exist?
|
|
|
|
See link:config-plugins.html#core-plugins[here].
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:index.html[Gerrit Code Review]
|
|
|
|
SEARCHBOX
|
|
---------
|