Skip to content

spec proposal: Depend Check proposition

karlitschek edited this page Apr 10, 2013 · 1 revision

XML File

Example

<info>
<id>myapp</id>
<name>My App</name>
  <require>
    <owncloud type="version" minversion="4" maxversion="4.5" />
    <owncloud type="feature">sharing</owncloud>
    <application minversion="0.2">otherapp</application>
    <php type="core" minversion="5.4" />
    <php type="module">ldap</php>
    <php type="function">json_encode</php>
    <php type="setting" name="post_max_size">3M</php>
    <database minversion="3">sqlite</database>
    <executable minversion="3.3" check="gpg --version" pattern="^gpg \(GnuPG\) (2.0.19)">gpg</executable>
  </require>
</info>

Schema

In addition to extending the evaluated tags currently used in all apps info.xml files an additional formal xml schema will be introduced. The idea is to create mean to automatically check validity and compliance of the files content. This should offer means to include additional checks in jenkins and assist the effort of the QA team in their approval workflow.

Issues

  • we have a strange mix currently: some tags use a 'type' attribute, some don't. ==> is it a pbm ? type is only when multiple tags are possible
  • what does the 'database' tag express: only sqlite is accepted, or 'is sqlite, then version >=3'? the 'application' tag for example was meant different: every app marked as required by a separate tag is required. If one single app is missing the current app cannot be installed. ==> agree this one is a pbm ... if we put multiple db tag it's different than saying "AND" between every line.