Merge pull request #20390 from owncloud/appcheckcode-no-duplicate-requirement

Do not allow two different version requirements
This commit is contained in:
Thomas Müller 2015-11-10 00:27:05 +01:00
commit f8e020ff87
2 changed files with 19 additions and 0 deletions

View File

@ -131,6 +131,10 @@ class CheckCode extends Command {
}
});
$infoChecker->listen('InfoChecker', 'duplicateRequirement', function($minMax) use ($output) {
$output->writeln("<error>Duplicate $minMax ownCloud version requirement found</error>");
});
$infoChecker->listen('InfoChecker', 'differentVersions', function($versionFile, $infoXML) use ($output) {
$output->writeln("<error>Different versions provided (appinfo/version: $versionFile - appinfo/info.xml: $infoXML)</error>");
});

View File

@ -77,6 +77,21 @@ class InfoChecker extends BasicEmitter {
$info = $this->infoParser->parse($appPath . '/appinfo/info.xml');
if (isset($info['dependencies']['owncloud']['@attributes']['min-version']) && ($info['requiremin'] || $info['require'])) {
$this->emit('InfoChecker', 'duplicateRequirement', ['min']);
$errors[] = [
'type' => 'duplicateRequirement',
'field' => 'min',
];
}
if (isset($info['dependencies']['owncloud']['@attributes']['max-version']) && $info['requiremax']) {
$this->emit('InfoChecker', 'duplicateRequirement', ['max']);
$errors[] = [
'type' => 'duplicateRequirement',
'field' => 'max',
];
}
foreach ($info as $key => $value) {
if(is_array($value)) {
$value = json_encode($value);