quality / info.xml lint fails on development and therefore on every PR. The manifest violates the element order info.xsd requires.
Validated locally against the real schema (fetched from https://apps.nextcloud.com/schema/apps/info.xsd):
appinfo/info.xml:28: Element 'category': This element is not expected. Expected is one of ( licence, author ).
and, once that one is moved, two more appear behind it:
appinfo/info.xml:53: Element 'php': This element is not expected. Expected is one of ( architecture, backend ).
appinfo/info.xml:112: Element 'repair-steps': This element is not expected. Expected is one of ( settings, activity, … ).
The canonical orders, extracted from the XSD
Top level:
id name summary description version licence author namespace types documentation
category website discussion bugs repository screenshot donation dependencies
background-jobs repair-steps two-factor-providers commands settings activity
dashboard fulltextsearch navigations contactsmenu collaboration openmetrics
sabre trash versions external-app
Inside <dependencies>:
php database command lib owncloud nextcloud architecture backend
What is out of order here
| element |
is |
should be |
category |
between licence and author |
after namespace |
nextcloud |
before php |
after lib/owncloud |
repair-steps |
after commands |
before commands |
settings |
after navigations |
before navigations |
⚠️ One thing to resolve first
<app> does not appear anywhere in that XSD — grep -c 'name="app"' returns 0 — yet <dependencies><app>openregister</app></dependencies> is load-bearing here, and the surrounding comment builds the whole min-version="32" argument on it (#1172).
So either the fetched schema is not the one the lint job uses, or <app> has never been schema-valid and the job is newly surfacing that. That question decides whether this is a reordering or something larger, and it should be answered before anyone moves elements around.
I attempted the reordering and backed it out for exactly that reason: rewriting a live manifest against a schema that contradicts the file's own documented dependency contract is not a change to make on the way past.
quality / info.xml lintfails ondevelopmentand therefore on every PR. The manifest violates the element orderinfo.xsdrequires.Validated locally against the real schema (fetched from
https://apps.nextcloud.com/schema/apps/info.xsd):and, once that one is moved, two more appear behind it:
The canonical orders, extracted from the XSD
Top level:
Inside
<dependencies>:What is out of order here
categorylicenceandauthornamespacenextcloudphplib/owncloudrepair-stepscommandscommandssettingsnavigationsnavigations<app>does not appear anywhere in that XSD —grep -c 'name="app"'returns 0 — yet<dependencies><app>openregister</app></dependencies>is load-bearing here, and the surrounding comment builds the wholemin-version="32"argument on it (#1172).So either the fetched schema is not the one the lint job uses, or
<app>has never been schema-valid and the job is newly surfacing that. That question decides whether this is a reordering or something larger, and it should be answered before anyone moves elements around.I attempted the reordering and backed it out for exactly that reason: rewriting a live manifest against a schema that contradicts the file's own documented dependency contract is not a change to make on the way past.