diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2015-11-10 00:27:05 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2015-11-10 00:27:05 +0100 |
commit | f8e020ff87df46520fce0d8847e1a5c55c11ca3f (patch) | |
tree | bfbe601c8031cf7da4ac66ca1dc5141f38303f17 | |
parent | a8ea3acafa1dd634060ad6f1dd6e8552660945f9 (diff) | |
parent | fe04451cb1fdda99b79798d21f0a229f99224250 (diff) | |
download | nextcloud-server-f8e020ff87df46520fce0d8847e1a5c55c11ca3f.tar.gz nextcloud-server-f8e020ff87df46520fce0d8847e1a5c55c11ca3f.zip |
Merge pull request #20390 from owncloud/appcheckcode-no-duplicate-requirement
Do not allow two different version requirements
-rw-r--r-- | core/command/app/checkcode.php | 4 | ||||
-rw-r--r-- | lib/private/app/codechecker/infochecker.php | 15 |
2 files changed, 19 insertions, 0 deletions
diff --git a/core/command/app/checkcode.php b/core/command/app/checkcode.php index a04f4bb5e03..e186d458c01 100644 --- a/core/command/app/checkcode.php +++ b/core/command/app/checkcode.php @@ -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>"); }); diff --git a/lib/private/app/codechecker/infochecker.php b/lib/private/app/codechecker/infochecker.php index 91580bde07d..24835d8148f 100644 --- a/lib/private/app/codechecker/infochecker.php +++ b/lib/private/app/codechecker/infochecker.php @@ -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); |