X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=blobdiff_plain;f=includes%2Fregistration%2FExtensionJsonValidator.php;h=0d95b2277b6327db45e8415104aaa69e5e0bee12;hb=93d9da40d3153ee8f63ffbd7bc72f08d62e11efd;hp=9d6c1a5b3315fc91db5f973325691890f9a131fc;hpb=62fa503bc36330c7db64f1511e0f61affa3afb86;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/registration/ExtensionJsonValidator.php b/includes/registration/ExtensionJsonValidator.php index 9d6c1a5b33..0d95b2277b 100644 --- a/includes/registration/ExtensionJsonValidator.php +++ b/includes/registration/ExtensionJsonValidator.php @@ -60,12 +60,16 @@ class ExtensionJsonValidator { 'The JsonSchema library cannot be found, please install it through composer.' ); return false; - } elseif ( !class_exists( SpdxLicenses::class ) ) { + } + + if ( !class_exists( SpdxLicenses::class ) ) { call_user_func( $this->missingDepCallback, 'The spdx-licenses library cannot be found, please install it through composer.' ); return false; - } elseif ( !class_exists( JsonParser::class ) ) { + } + + if ( !class_exists( JsonParser::class ) ) { call_user_func( $this->missingDepCallback, 'The JSON lint library cannot be found, please install it through composer.' ); @@ -104,7 +108,9 @@ class ExtensionJsonValidator { throw new ExtensionJsonValidationError( "$path is using a non-supported schema version" ); - } elseif ( $version > ExtensionRegistry::MANIFEST_VERSION ) { + } + + if ( $version > ExtensionRegistry::MANIFEST_VERSION ) { throw new ExtensionJsonValidationError( "$path is using a non-supported schema version" ); @@ -135,20 +141,26 @@ class ExtensionJsonValidator { } } + // Deprecated stuff + if ( isset( $data->ParserTestFiles ) ) { + // phpcs:ignore Generic.Files.LineLength.TooLong + $extraErrors[] = '[ParserTestFiles] DEPRECATED: see '; + } + $validator = new Validator; $validator->check( $data, (object)[ '$ref' => 'file://' . $schemaPath ] ); if ( $validator->isValid() && !$extraErrors ) { // All good. return true; - } else { - $out = "$path did not pass validation.\n"; - foreach ( $validator->getErrors() as $error ) { - $out .= "[{$error['property']}] {$error['message']}\n"; - } - if ( $extraErrors ) { - $out .= implode( "\n", $extraErrors ) . "\n"; - } - throw new ExtensionJsonValidationError( $out ); } + + $out = "$path did not pass validation.\n"; + foreach ( $validator->getErrors() as $error ) { + $out .= "[{$error['property']}] {$error['message']}\n"; + } + if ( $extraErrors ) { + $out .= implode( "\n", $extraErrors ) . "\n"; + } + throw new ExtensionJsonValidationError( $out ); } }