Classes/Console/Command/UpgradeCommandController.php
public function checkExtensionConstraintsCommand(array $extensionKeys = [], $typo3Version = TYPO3_version)
    {
        if (empty($extensionKeys)) {
            $failedPackageMessages = $this->upgradeHandling->matchAllExtensionConstraints($typo3Version);
        } else {
            $failedPackageMessages = [];
            foreach ($extensionKeys as $extensionKey) {
                try {
                    if (!empty($result = $this->upgradeHandling->matchExtensionConstraints($extensionKey, $typo3Version))) {
                        $failedPackageMessages[$extensionKey] = $result;
                    }
                } catch (UnknownPackageException $e) {
                    $this->outputLine('<warning>Extension "%s" is not found in the system</warning>', [$extensionKey]);
                }
            }
        }
        foreach ($failedPackageMessages as $constraintMessage) {
            $this->outputLine('<error>%s</error>', [$constraintMessage]);
        }
        if (empty($failedPackageMessages)) {
            $this->outputLine('<info>All third party extensions claim to be compatible with TYPO3 version %s</info>', [$typo3Version]);
        } else {
            $this->quit(1);
        }
    }
public function checkExtensionConstraintsCommand(array $extensionKeys = [], $typo3Version = TYPO3_version)
    {
        if (empty($extensionKeys)) {
            $failedPackageMessages = $this->upgradeHandling->matchAllExtensionConstraints($typo3Version);
        } else {
            $failedPackageMessages = [];
            foreach ($extensionKeys as $extensionKey) {
                try {
                    if (!empty($result = $this->upgradeHandling->matchExtensionConstraints($extensionKey, $typo3Version))) {
                        $failedPackageMessages[$extensionKey] = $result;
                    }
                } catch (UnknownPackageException $e) {
                    $this->outputLine('<warning>Extension "%s" is not found in the system</warning>', [$extensionKey]);
                }
            }
        }
        foreach ($failedPackageMessages as $constraintMessage) {
            $this->outputLine('<error>%s</error>', [$constraintMessage]);
        }
        if (empty($failedPackageMessages)) {
            $this->outputLine('<info>All third party extensions claim to be compatible with TYPO3 version %s</info>', [$typo3Version]);
        } else {
            $this->quit(1);
        }
    }
Check TYPO3 version constraints of extensions

This command is especially useful **before** switching sources to a new TYPO3 version.
It checks the version constraints of all third party extensions against a given TYPO3 version.
It therefore relies on the constraints to be correct.

@param array $extensionKeys Extension keys to check. Separate multiple extension keys with comma.
@param string $typo3Version TYPO3 version to check against. Defaults to current TYPO3 version.
@Definition\Argument(name="extensionKeys")