| :linkattrs: |
| = 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,role=external,window=_blank] 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,role=external,window=_blank]. |
| |
| 2. Hosting: |
| + |
| The plugin development is hosted on the |
| link:https://gerrit-review.googlesource.com[gerrit-review,role=external,window=_blank] 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 |
| --------- |