manifest-required-author (C8101)#
None of the required authors is in the manifest author.
What it does#
Checks that the comma-separated author of every __manifest__.py contains
at least one of the required authors. By default that is the Odoo Community
Association (OCA), as in pylint-odoo.
odoo-lint can require a different author per group of modules, chosen by the name of the module folder, so one repository can enforce its own authors for its own modules.
Why is this bad?#
The manifest author is shown in the Apps menu and on the Odoo Apps store, and OCA tooling relies on it. Inconsistent authors make it unclear who maintains a module and break automated checks that filter on author.
Configuration#
[tool.odoo-lint.rules.manifest-required-author]
# Used when no mapping matches; a string or a list
authors = ["Odoo Community Association (OCA)"]
[tool.odoo-lint.rules.manifest-required-author.mapping]
"acme_*" = "Acme Corp"
"acme_hr_*" = ["Acme HR", "Acme Corp"]
"acme_special" = "Someone Else"
An exact module name wins; otherwise the longest matching prefix* pattern
wins, then authors. With the configuration above:
Module folder |
One of these authors is required |
|---|---|
|
Acme Corp |
|
Acme HR, Acme Corp |
|
Someone Else |
|
Odoo Community Association (OCA) |
Example#
For a module folder acme_sale:
{
"name": "Acme Sale",
"author": "Odoo Community Association (OCA)",
}
Use instead:
{
"name": "Acme Sale",
"author": "Acme Corp, Odoo Community Association (OCA)",
}
Fix safety#
When the manifest has no author: safe, with author from
manifest-defaults, or else the
first author of a configured manifest-required-author. An existing author
is never changed, not even with --unsafe-fixes: attribution is a decision,
not a cleanup. Without a configuration there is no fix.