diff --git a/apps/oauth2/appinfo/info.xml b/apps/oauth2/appinfo/info.xml index ccddc9a8f7..fe8ce3a128 100644 --- a/apps/oauth2/appinfo/info.xml +++ b/apps/oauth2/appinfo/info.xml @@ -15,6 +15,10 @@ + + + + OCA\OAuth2\Settings\Admin diff --git a/core/Command/App/CheckCode.php b/core/Command/App/CheckCode.php index 46b9b748ad..48662409dc 100644 --- a/core/Command/App/CheckCode.php +++ b/core/Command/App/CheckCode.php @@ -146,11 +146,7 @@ class CheckCode extends Command implements CompletionAwareInterface { }); $infoChecker->listen('InfoChecker', 'missingRequirement', function($minMax) use ($output) { - $output->writeln("Nextcloud $minMax version requirement missing (will be an error in Nextcloud 12 and later)"); - }); - - $infoChecker->listen('InfoChecker', 'duplicateRequirement', function($minMax) use ($output) { - $output->writeln("Duplicate $minMax ownCloud version requirement found"); + $output->writeln("Nextcloud $minMax version requirement missing"); }); $infoChecker->listen('InfoChecker', 'differentVersions', function($versionFile, $infoXML) use ($output) { @@ -162,7 +158,7 @@ class CheckCode extends Command implements CompletionAwareInterface { }); $infoChecker->listen('InfoChecker', 'migrateVersion', function($version) use ($output) { - $output->writeln("Migrate the app version to appinfo/info.xml (add $version to appinfo/info.xml and remove appinfo/version)"); + $output->writeln("Migrate the app version to appinfo/info.xml (add $version to appinfo/info.xml and remove appinfo/version)"); }); if(OutputInterface::VERBOSITY_VERBOSE <= $output->getVerbosity()) { diff --git a/core/shipped.json b/core/shipped.json index 83eb3a2978..0c09e53244 100644 --- a/core/shipped.json +++ b/core/shipped.json @@ -21,15 +21,15 @@ "lookup_server_connector", "nextcloud_announcements", "notifications", + "oauth2", "password_policy", "provisioning_api", "serverinfo", "sharebymail", "survey_client", "systemtags", - "templateeditor", - "twofactor_backupcodes", "theming", + "twofactor_backupcodes", "updatenotification", "user_external", "user_ldap", diff --git a/lib/private/App/CodeChecker/InfoChecker.php b/lib/private/App/CodeChecker/InfoChecker.php index 1e617e3aee..e8791bd703 100644 --- a/lib/private/App/CodeChecker/InfoChecker.php +++ b/lib/private/App/CodeChecker/InfoChecker.php @@ -34,15 +34,16 @@ class InfoChecker extends BasicEmitter { private $mandatoryFields = [ 'author', 'description', + 'dependencies', 'id', 'licence', 'name', + 'version', ]; private $optionalFields = [ 'bugs', 'category', 'default_enable', - 'dependencies', // TODO: Mandatory as of ownCloud 11 'documentation', 'namespace', 'ocsid', @@ -50,7 +51,6 @@ class InfoChecker extends BasicEmitter { 'remote', 'repository', 'types', - 'version', 'website', ]; private $deprecatedFields = [ @@ -80,29 +80,19 @@ class InfoChecker extends BasicEmitter { $info = $this->infoParser->parse($appPath . '/appinfo/info.xml'); - if (isset($info['dependencies']['owncloud']['@attributes']['min-version']) && (isset($info['requiremin']) || isset($info['require']))) { - $this->emit('InfoChecker', 'duplicateRequirement', ['min']); + if (!isset($info['dependencies']['nextcloud']['@attributes']['min-version'])) { $errors[] = [ - 'type' => 'duplicateRequirement', + 'type' => 'missingRequirement', 'field' => 'min', ]; - } else if ( - !isset($info['dependencies']['owncloud']['@attributes']['min-version']) && - !isset($info['dependencies']['nextcloud']['@attributes']['min-version']) - ) { $this->emit('InfoChecker', 'missingRequirement', ['min']); } - if (isset($info['dependencies']['owncloud']['@attributes']['max-version']) && isset($info['requiremax'])) { - $this->emit('InfoChecker', 'duplicateRequirement', ['max']); + if (!isset($info['dependencies']['nextcloud']['@attributes']['max-version'])) { $errors[] = [ - 'type' => 'duplicateRequirement', + 'type' => 'missingRequirement', 'field' => 'max', ]; - } else if ( - !isset($info['dependencies']['owncloud']['@attributes']['max-version']) && - !isset($info['dependencies']['nextcloud']['@attributes']['max-version']) - ) { $this->emit('InfoChecker', 'missingRequirement', ['max']); } @@ -145,21 +135,7 @@ class InfoChecker extends BasicEmitter { $versionFile = $appPath . '/appinfo/version'; if (is_file($versionFile)) { $version = trim(file_get_contents($versionFile)); - if (isset($info['version'])) { - if($info['version'] !== $version) { - $this->emit('InfoChecker', 'differentVersions', - [$version, $info['version']]); - $errors[] = [ - 'type' => 'differentVersions', - 'message' => 'appinfo/version: ' . $version . - ' - appinfo/info.xml: ' . $info['version'], - ]; - } else { - $this->emit('InfoChecker', 'sameVersions', [$versionFile]); - } - } else { - $this->emit('InfoChecker', 'migrateVersion', [$version]); - } + $this->emit('InfoChecker', 'migrateVersion', [$version]); } return $errors; diff --git a/tests/apps/testapp-infoxml-version-different/appinfo/info.xml b/tests/apps/testapp-dependency-missing/appinfo/info.xml similarity index 100% rename from tests/apps/testapp-infoxml-version-different/appinfo/info.xml rename to tests/apps/testapp-dependency-missing/appinfo/info.xml diff --git a/tests/apps/testapp-infoxml-version-different/appinfo/version b/tests/apps/testapp-infoxml-version-different/appinfo/version deleted file mode 100644 index e8ea05db81..0000000000 --- a/tests/apps/testapp-infoxml-version-different/appinfo/version +++ /dev/null @@ -1 +0,0 @@ -1.2.4 diff --git a/tests/apps/testapp-infoxml-version/appinfo/info.xml b/tests/apps/testapp-infoxml-version/appinfo/info.xml deleted file mode 100644 index c765400a76..0000000000 --- a/tests/apps/testapp-infoxml-version/appinfo/info.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - testapp-infoxml-version - 1.2.3 - Jane - A b c - Abc - Test app - diff --git a/tests/apps/testapp-infoxml-version/appinfo/version b/tests/apps/testapp-infoxml-version/appinfo/version deleted file mode 100644 index 0495c4a88c..0000000000 --- a/tests/apps/testapp-infoxml-version/appinfo/version +++ /dev/null @@ -1 +0,0 @@ -1.2.3 diff --git a/tests/apps/testapp-infoxml/appinfo/info.xml b/tests/apps/testapp-infoxml/appinfo/info.xml index cb63a0fc76..d4df1c3cd3 100644 --- a/tests/apps/testapp-infoxml/appinfo/info.xml +++ b/tests/apps/testapp-infoxml/appinfo/info.xml @@ -6,4 +6,7 @@ A b c Abc Test app + + + diff --git a/tests/apps/testapp-name-missing/appinfo/info.xml b/tests/apps/testapp-name-missing/appinfo/info.xml index f0a62b8d38..591c436189 100644 --- a/tests/apps/testapp-name-missing/appinfo/info.xml +++ b/tests/apps/testapp-name-missing/appinfo/info.xml @@ -5,4 +5,7 @@ Jane A b c Abc + + + diff --git a/tests/apps/testapp-version-missing/appinfo/info.xml b/tests/apps/testapp-version-missing/appinfo/info.xml deleted file mode 100644 index d7da3e07e3..0000000000 --- a/tests/apps/testapp-version-missing/appinfo/info.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - testapp-version - Jane - A b c - Abc - Test app - diff --git a/tests/apps/testapp-version/appinfo/info.xml b/tests/apps/testapp-version/appinfo/info.xml index d7da3e07e3..28e2475800 100644 --- a/tests/apps/testapp-version/appinfo/info.xml +++ b/tests/apps/testapp-version/appinfo/info.xml @@ -5,4 +5,7 @@ A b c Abc Test app + + + diff --git a/tests/lib/App/CodeChecker/InfoCheckerTest.php b/tests/lib/App/CodeChecker/InfoCheckerTest.php index c16874fbd3..760d988073 100644 --- a/tests/lib/App/CodeChecker/InfoCheckerTest.php +++ b/tests/lib/App/CodeChecker/InfoCheckerTest.php @@ -50,10 +50,12 @@ class InfoCheckerTest extends TestCase { public function appInfoData() { return [ ['testapp-infoxml', []], - ['testapp-version', []], - ['testapp-infoxml-version', []], - ['testapp-infoxml-version-different', [['type' => 'differentVersions', 'message' => 'appinfo/version: 1.2.4 - appinfo/info.xml: 1.2.3']]], - ['testapp-version-missing', []], + ['testapp-version', [['type' => 'mandatoryFieldMissing', 'field' => 'version']]], + ['testapp-dependency-missing', [ + ['type' => 'missingRequirement', 'field' => 'min'], + ['type' => 'missingRequirement', 'field' => 'max'], + ['type' => 'mandatoryFieldMissing', 'field' => 'dependencies'], + ]], ['testapp-name-missing', [['type' => 'mandatoryFieldMissing', 'field' => 'name']]], ]; }