diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index dc4ab816..f4f29c2c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -144,5 +144,11 @@ jobs:
composer update --no-progress "${DEPENDENCIES}";
composer show;
+ - name: Update PHIVE dependencies
+ run: |
+ if ! composer php:version | grep -q '^7\.[012]'; then
+ composer phive:update:phpunit
+ fi
+
- name: Run Tests
run: composer ci:tests:unit
diff --git a/composer.json b/composer.json
index 404d70b9..1b0c6205 100644
--- a/composer.json
+++ b/composer.json
@@ -90,7 +90,8 @@
"ci": [
"@ci:static",
"@ci:dynamic"
- ]
+ ],
+ "phive:update:phpunit": "echo y | \"./tools/phive.phar\" --no-progress update phpunit"
},
"extra": {
"branch-alias": {
diff --git a/phive.xml b/phive.xml
index 19c2aa19..eaecd9c9 100644
--- a/phive.xml
+++ b/phive.xml
@@ -1,7 +1,8 @@
+
-
+
diff --git a/tests/Support/Constraint/CssConstraint.php b/tests/Support/Constraint/CssConstraint.php
index fd97ea6d..c5fe461e 100644
--- a/tests/Support/Constraint/CssConstraint.php
+++ b/tests/Support/Constraint/CssConstraint.php
@@ -12,6 +12,10 @@
* Due to {@link https://bugs.php.net/bug.php?id=75060 PHP 'bug' #75060}, traits cannot have constants, so, as a
* workaround, this is currently implemented as a base class (but ideally would be a `trait`).
*
+ * Since, then, this is a class, and PHPUnit's `Constraint` class may or may not have a constructor (it did prior to
+ * 8.x, but does not since) which must be called if it exists, this class also provides an explicit constructor which
+ * will invoke the parent's constructor if there is one.
+ *
* @author Jake Hotson
*/
abstract class CssConstraint extends Constraint
@@ -74,4 +78,14 @@ private static function getCssNeedleRegularExpressionReplacement(array $matches)
return $regularExpressionEquivalent;
}
+
+ /**
+ * Invokes the parent class's constructor if there is one.
+ */
+ public function __construct()
+ {
+ if (\is_callable('parent::__construct')) {
+ parent::__construct();
+ }
+ }
}
diff --git a/tools/phive.phar b/tools/phive.phar
new file mode 100755
index 00000000..b17b5423
--- /dev/null
+++ b/tools/phive.phar
@@ -0,0 +1,1021 @@
+#!/usr/bin/env php
+ '/vendor/phar-io/executor/src/ExecutorException.php',
+ 'phario\\executor\\executor' => '/vendor/phar-io/executor/src/Executor.php',
+ 'phario\\executor\\executorresult' => '/vendor/phar-io/executor/src/ExecutorResult.php',
+ 'phario\\filesystem\\directory' => '/vendor/phar-io/filesystem/src/Directory.php',
+ 'phario\\filesystem\\directoryexception' => '/vendor/phar-io/filesystem/src/DirectoryException.php',
+ 'phario\\filesystem\\exception' => '/vendor/phar-io/filesystem/src/Exception.php',
+ 'phario\\filesystem\\file' => '/vendor/phar-io/filesystem/src/File.php',
+ 'phario\\filesystem\\filename' => '/vendor/phar-io/filesystem/src/Filename.php',
+ 'phario\\filesystem\\filenameexception' => '/vendor/phar-io/filesystem/src/FilenameException.php',
+ 'phario\\filesystem\\lastmodifieddate' => '/vendor/phar-io/filesystem/src/LastModifiedDate.php',
+ 'phario\\gnupg\\errorstrings' => '/vendor/phar-io/gnupg/src/ErrorStrings.php',
+ 'phario\\gnupg\\exception' => '/vendor/phar-io/gnupg/src/Exception.php',
+ 'phario\\gnupg\\factory' => '/vendor/phar-io/gnupg/src/Factory.php',
+ 'phario\\gnupg\\gnupg' => '/vendor/phar-io/gnupg/src/GnuPG.php',
+ 'phario\\manifest\\application' => '/vendor/phar-io/manifest/src/values/Application.php',
+ 'phario\\manifest\\applicationname' => '/vendor/phar-io/manifest/src/values/ApplicationName.php',
+ 'phario\\manifest\\author' => '/vendor/phar-io/manifest/src/values/Author.php',
+ 'phario\\manifest\\authorcollection' => '/vendor/phar-io/manifest/src/values/AuthorCollection.php',
+ 'phario\\manifest\\authorcollectioniterator' => '/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php',
+ 'phario\\manifest\\authorelement' => '/vendor/phar-io/manifest/src/xml/AuthorElement.php',
+ 'phario\\manifest\\authorelementcollection' => '/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php',
+ 'phario\\manifest\\bundledcomponent' => '/vendor/phar-io/manifest/src/values/BundledComponent.php',
+ 'phario\\manifest\\bundledcomponentcollection' => '/vendor/phar-io/manifest/src/values/BundledComponentCollection.php',
+ 'phario\\manifest\\bundledcomponentcollectioniterator' => '/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php',
+ 'phario\\manifest\\bundleselement' => '/vendor/phar-io/manifest/src/xml/BundlesElement.php',
+ 'phario\\manifest\\componentelement' => '/vendor/phar-io/manifest/src/xml/ComponentElement.php',
+ 'phario\\manifest\\componentelementcollection' => '/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php',
+ 'phario\\manifest\\containselement' => '/vendor/phar-io/manifest/src/xml/ContainsElement.php',
+ 'phario\\manifest\\copyrightelement' => '/vendor/phar-io/manifest/src/xml/CopyrightElement.php',
+ 'phario\\manifest\\copyrightinformation' => '/vendor/phar-io/manifest/src/values/CopyrightInformation.php',
+ 'phario\\manifest\\elementcollection' => '/vendor/phar-io/manifest/src/xml/ElementCollection.php',
+ 'phario\\manifest\\elementcollectionexception' => '/vendor/phar-io/manifest/src/exceptions/ElementCollectionException.php',
+ 'phario\\manifest\\email' => '/vendor/phar-io/manifest/src/values/Email.php',
+ 'phario\\manifest\\exception' => '/vendor/phar-io/manifest/src/exceptions/Exception.php',
+ 'phario\\manifest\\extelement' => '/vendor/phar-io/manifest/src/xml/ExtElement.php',
+ 'phario\\manifest\\extelementcollection' => '/vendor/phar-io/manifest/src/xml/ExtElementCollection.php',
+ 'phario\\manifest\\extension' => '/vendor/phar-io/manifest/src/values/Extension.php',
+ 'phario\\manifest\\extensionelement' => '/vendor/phar-io/manifest/src/xml/ExtensionElement.php',
+ 'phario\\manifest\\invalidapplicationnameexception' => '/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php',
+ 'phario\\manifest\\invalidemailexception' => '/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php',
+ 'phario\\manifest\\invalidurlexception' => '/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php',
+ 'phario\\manifest\\library' => '/vendor/phar-io/manifest/src/values/Library.php',
+ 'phario\\manifest\\license' => '/vendor/phar-io/manifest/src/values/License.php',
+ 'phario\\manifest\\licenseelement' => '/vendor/phar-io/manifest/src/xml/LicenseElement.php',
+ 'phario\\manifest\\manifest' => '/vendor/phar-io/manifest/src/values/Manifest.php',
+ 'phario\\manifest\\manifestdocument' => '/vendor/phar-io/manifest/src/xml/ManifestDocument.php',
+ 'phario\\manifest\\manifestdocumentexception' => '/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php',
+ 'phario\\manifest\\manifestdocumentloadingexception' => '/vendor/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php',
+ 'phario\\manifest\\manifestdocumentmapper' => '/vendor/phar-io/manifest/src/ManifestDocumentMapper.php',
+ 'phario\\manifest\\manifestdocumentmapperexception' => '/vendor/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php',
+ 'phario\\manifest\\manifestelement' => '/vendor/phar-io/manifest/src/xml/ManifestElement.php',
+ 'phario\\manifest\\manifestelementexception' => '/vendor/phar-io/manifest/src/exceptions/ManifestElementException.php',
+ 'phario\\manifest\\manifestloader' => '/vendor/phar-io/manifest/src/ManifestLoader.php',
+ 'phario\\manifest\\manifestloaderexception' => '/vendor/phar-io/manifest/src/exceptions/ManifestLoaderException.php',
+ 'phario\\manifest\\manifestserializer' => '/vendor/phar-io/manifest/src/ManifestSerializer.php',
+ 'phario\\manifest\\phpelement' => '/vendor/phar-io/manifest/src/xml/PhpElement.php',
+ 'phario\\manifest\\phpextensionrequirement' => '/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php',
+ 'phario\\manifest\\phpversionrequirement' => '/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php',
+ 'phario\\manifest\\requirement' => '/vendor/phar-io/manifest/src/values/Requirement.php',
+ 'phario\\manifest\\requirementcollection' => '/vendor/phar-io/manifest/src/values/RequirementCollection.php',
+ 'phario\\manifest\\requirementcollectioniterator' => '/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php',
+ 'phario\\manifest\\requireselement' => '/vendor/phar-io/manifest/src/xml/RequiresElement.php',
+ 'phario\\manifest\\type' => '/vendor/phar-io/manifest/src/values/Type.php',
+ 'phario\\manifest\\url' => '/vendor/phar-io/manifest/src/values/Url.php',
+ 'phario\\phive\\abstractrequestedpharresolver' => '/src/services/resolver/AbstractRequestedPharResolver.php',
+ 'phario\\phive\\abstractresolvingstrategy' => '/src/services/resolver/strategy/AbstractResolvingStrategy.php',
+ 'phario\\phive\\authconfig' => '/src/shared/config/AuthConfig.php',
+ 'phario\\phive\\authentication' => '/src/shared/http/Authentication.php',
+ 'phario\\phive\\authexception' => '/src/shared/exceptions/AuthException.php',
+ 'phario\\phive\\authxmlconfig' => '/src/shared/config/AuthXmlConfig.php',
+ 'phario\\phive\\authxmlconfigfilelocator' => '/src/shared/config/AuthXmlConfigFileLocator.php',
+ 'phario\\phive\\basehash' => '/src/shared/hash/BaseHash.php',
+ 'phario\\phive\\basicauthentication' => '/src/shared/http/authentication/BasicAuthentication.php',
+ 'phario\\phive\\bearerauthentication' => '/src/shared/http/authentication/BearerAuthentication.php',
+ 'phario\\phive\\cachebackend' => '/src/shared/http/CacheBackend.php',
+ 'phario\\phive\\checksumservice' => '/src/services/checksum/ChecksumService.php',
+ 'phario\\phive\\cli\\coloredconsoleoutput' => '/src/shared/cli/output/ColoredConsoleOutput.php',
+ 'phario\\phive\\cli\\command' => '/src/shared/cli/Command.php',
+ 'phario\\phive\\cli\\commandlocator' => '/src/shared/cli/CommandLocator.php',
+ 'phario\\phive\\cli\\commandlocatorexception' => '/src/shared/cli/CommandLocatorException.php',
+ 'phario\\phive\\cli\\commandoptionsexception' => '/src/shared/cli/CommandOptionsException.php',
+ 'phario\\phive\\cli\\consoleinput' => '/src/shared/cli/input/ConsoleInput.php',
+ 'phario\\phive\\cli\\consoleoutput' => '/src/shared/cli/output/ConsoleOutput.php',
+ 'phario\\phive\\cli\\consoletable' => '/src/shared/cli/output/ConsoleTable.php',
+ 'phario\\phive\\cli\\context' => '/src/shared/cli/Context.php',
+ 'phario\\phive\\cli\\contextexception' => '/src/shared/cli/ContextException.php',
+ 'phario\\phive\\cli\\generalcontext' => '/src/shared/cli/GeneralContext.php',
+ 'phario\\phive\\cli\\input' => '/src/shared/cli/input/Input.php',
+ 'phario\\phive\\cli\\options' => '/src/shared/cli/Options.php',
+ 'phario\\phive\\cli\\output' => '/src/shared/cli/output/Output.php',
+ 'phario\\phive\\cli\\outputfactory' => '/src/shared/cli/output/OutputFactory.php',
+ 'phario\\phive\\cli\\outputlocator' => '/src/shared/cli/output/OutputLocator.php',
+ 'phario\\phive\\cli\\request' => '/src/shared/cli/Request.php',
+ 'phario\\phive\\cli\\requestexception' => '/src/shared/cli/RequestException.php',
+ 'phario\\phive\\cli\\runner' => '/src/shared/cli/Runner.php',
+ 'phario\\phive\\cli\\runnerexception' => '/src/shared/cli/RunnerException.php',
+ 'phario\\phive\\commandlocator' => '/src/commands/CommandLocator.php',
+ 'phario\\phive\\compatibilityservice' => '/src/services/phar/CompatibilityService.php',
+ 'phario\\phive\\composeralias' => '/src/shared/ComposerAlias.php',
+ 'phario\\phive\\composercommand' => '/src/commands/composer/ComposerCommand.php',
+ 'phario\\phive\\composercommandconfig' => '/src/commands/composer/ComposerCommandConfig.php',
+ 'phario\\phive\\composercontext' => '/src/commands/composer/ComposerContext.php',
+ 'phario\\phive\\composerservice' => '/src/commands/composer/ComposerService.php',
+ 'phario\\phive\\compositeauthconfig' => '/src/shared/config/CompositeAuthConfig.php',
+ 'phario\\phive\\config' => '/src/shared/config/Config.php',
+ 'phario\\phive\\configexception' => '/src/shared/exceptions/ConfigException.php',
+ 'phario\\phive\\configuredphar' => '/src/shared/phar/ConfiguredPhar.php',
+ 'phario\\phive\\configuredpharexception' => '/src/shared/phar/ConfiguredPharException.php',
+ 'phario\\phive\\curl' => '/src/shared/http/Curl.php',
+ 'phario\\phive\\curlconfig' => '/src/shared/http/CurlConfig.php',
+ 'phario\\phive\\curlconfigbuilder' => '/src/shared/http/CurlConfigBuilder.php',
+ 'phario\\phive\\curlconfigexception' => '/src/shared/exceptions/CurlConfigException.php',
+ 'phario\\phive\\curlexception' => '/src/shared/exceptions/CurlException.php',
+ 'phario\\phive\\curlhttpclient' => '/src/shared/http/CurlHttpClient.php',
+ 'phario\\phive\\defaultcommand' => '/src/commands/default/DefaultCommand.php',
+ 'phario\\phive\\defaultcommandconfig' => '/src/commands/default/DefaultCommandConfig.php',
+ 'phario\\phive\\directurlresolver' => '/src/services/resolver/DirectUrlResolver.php',
+ 'phario\\phive\\downloadfailedexception' => '/src/shared/exceptions/DownloadFailedException.php',
+ 'phario\\phive\\environment' => '/src/shared/environment/Environment.php',
+ 'phario\\phive\\environmentauthconfig' => '/src/shared/config/EnvironmentAuthConfig.php',
+ 'phario\\phive\\environmentexception' => '/src/shared/exceptions/EnvironmentException.php',
+ 'phario\\phive\\environmentlocator' => '/src/shared/environment/EnvironmentLocator.php',
+ 'phario\\phive\\errorexception' => '/src/shared/exceptions/ErrorException.php',
+ 'phario\\phive\\etag' => '/src/shared/http/ETag.php',
+ 'phario\\phive\\exception' => '/src/shared/exceptions/Exception.php',
+ 'phario\\phive\\executor' => '/src/shared/executor/Executor.php',
+ 'phario\\phive\\executorexception' => '/src/shared/exceptions/ExecutorException.php',
+ 'phario\\phive\\executorresult' => '/src/shared/executor/ExecutorResult.php',
+ 'phario\\phive\\extensionsmissingexception' => '/src/shared/exceptions/ExtensionsMissingException.php',
+ 'phario\\phive\\factory' => '/src/Factory.php',
+ 'phario\\phive\\filedownloader' => '/src/shared/download/FileDownloader.php',
+ 'phario\\phive\\filedownloaderexception' => '/src/shared/FileDownloaderException.php',
+ 'phario\\phive\\filemigration' => '/src/services/migration/FileMigration.php',
+ 'phario\\phive\\filenotwritableexception' => '/src/shared/exceptions/FileNotWritableException.php',
+ 'phario\\phive\\filestoragecachebackend' => '/src/shared/http/FileStorageCacheBackend.php',
+ 'phario\\phive\\git' => '/src/shared/Git.php',
+ 'phario\\phive\\gitawarephiveversion' => '/src/shared/version/GitAwarePhiveVersion.php',
+ 'phario\\phive\\gitexception' => '/src/shared/exceptions/GitException.php',
+ 'phario\\phive\\githubaliasresolver' => '/src/services/resolver/GithubAliasResolver.php',
+ 'phario\\phive\\githubaliasresolverexception' => '/src/GithubAliasResolverException.php',
+ 'phario\\phive\\githubrepository' => '/src/shared/repository/GithubRepository.php',
+ 'phario\\phive\\gitlabaliasresolver' => '/src/services/resolver/GitlabAliasResolver.php',
+ 'phario\\phive\\gitlabrepository' => '/src/shared/repository/GitlabRepository.php',
+ 'phario\\phive\\globalphivexmlconfig' => '/src/shared/config/GlobalPhiveXmlConfig.php',
+ 'phario\\phive\\gnupg' => '/src/shared/GnuPG.php',
+ 'phario\\phive\\gnupgkeydownloader' => '/src/services/key/gpg/GnupgKeyDownloader.php',
+ 'phario\\phive\\gnupgkeydownloaderexception' => '/src/shared/exceptions/GnupgKeyDownloaderException.php',
+ 'phario\\phive\\gnupgkeyimporter' => '/src/services/key/gpg/GnupgKeyImporter.php',
+ 'phario\\phive\\gnupgsignatureverifier' => '/src/services/signature/gpg/GnupgSignatureVerifier.php',
+ 'phario\\phive\\gnupgverificationresult' => '/src/services/signature/gpg/GnupgVerificationResult.php',
+ 'phario\\phive\\hash' => '/src/shared/hash/Hash.php',
+ 'phario\\phive\\helpcommand' => '/src/commands/help/HelpCommand.php',
+ 'phario\\phive\\homepharsxmlmigration' => '/src/services/migration/HomePharsXmlMigration.php',
+ 'phario\\phive\\homephivexmlmigration' => '/src/services/migration/HomePhiveXmlMigration.php',
+ 'phario\\phive\\httpclient' => '/src/shared/http/HttpClient.php',
+ 'phario\\phive\\httpexception' => '/src/shared/http/HttpException.php',
+ 'phario\\phive\\httpprogresshandler' => '/src/shared/http/HttpProgressHandler.php',
+ 'phario\\phive\\httpprogressrenderer' => '/src/shared/http/HttpProgressRenderer.php',
+ 'phario\\phive\\httpprogressupdate' => '/src/shared/http/HttpProgressUpdate.php',
+ 'phario\\phive\\httpresponse' => '/src/shared/http/HttpResponse.php',
+ 'phario\\phive\\httpresponseexception' => '/src/shared/http/HttpResponseException.php',
+ 'phario\\phive\\installationfailedexception' => '/src/shared/exceptions/InstallationFailedException.php',
+ 'phario\\phive\\installcommand' => '/src/commands/install/InstallCommand.php',
+ 'phario\\phive\\installcommandconfig' => '/src/commands/install/InstallCommandConfig.php',
+ 'phario\\phive\\installcommandconfigexception' => '/src/commands/install/InstallCommandConfigException.php',
+ 'phario\\phive\\installcontext' => '/src/commands/install/InstallContext.php',
+ 'phario\\phive\\installedphar' => '/src/shared/phar/InstalledPhar.php',
+ 'phario\\phive\\installservice' => '/src/services/phar/InstallService.php',
+ 'phario\\phive\\internalfilemigration' => '/src/services/migration/InternalFileMigration.php',
+ 'phario\\phive\\invalidhashexception' => '/src/shared/exceptions/InvalidHashException.php',
+ 'phario\\phive\\ioexception' => '/src/shared/exceptions/IOException.php',
+ 'phario\\phive\\jsondata' => '/src/shared/JsonData.php',
+ 'phario\\phive\\keydownloader' => '/src/services/key/KeyDownloader.php',
+ 'phario\\phive\\keyidcollection' => '/src/services/key/KeyIdCollection.php',
+ 'phario\\phive\\keyimporter' => '/src/services/key/KeyImporter.php',
+ 'phario\\phive\\keyimportresult' => '/src/services/key/KeyImportResult.php',
+ 'phario\\phive\\keyservice' => '/src/services/key/KeyService.php',
+ 'phario\\phive\\linkcreationfailedexception' => '/src/shared/exceptions/LinkCreationFailedException.php',
+ 'phario\\phive\\listcommand' => '/src/commands/list/ListCommand.php',
+ 'phario\\phive\\localaliasresolver' => '/src/services/resolver/LocalAliasResolver.php',
+ 'phario\\phive\\localfirstresolvingstrategy' => '/src/services/resolver/strategy/LocalFirstResolvingStrategy.php',
+ 'phario\\phive\\localphivexmlconfig' => '/src/shared/config/LocalPhiveXmlConfig.php',
+ 'phario\\phive\\localrepository' => '/src/shared/repository/LocalRepository.php',
+ 'phario\\phive\\localsourceslistfileloader' => '/src/shared/sources/LocalSourcesListFileLoader.php',
+ 'phario\\phive\\localsslcertificate' => '/src/shared/http/LocalSslCertificate.php',
+ 'phario\\phive\\migratecommand' => '/src/commands/migrate/MigrateCommand.php',
+ 'phario\\phive\\migratecommandconfig' => '/src/commands/migrate/MigrateCommandConfig.php',
+ 'phario\\phive\\migratecontext' => '/src/commands/migrate/MigrateContext.php',
+ 'phario\\phive\\migration' => '/src/services/migration/Migration.php',
+ 'phario\\phive\\migrationexception' => '/src/shared/exceptions/MigrationException.php',
+ 'phario\\phive\\migrationfactory' => '/src/services/migration/MigrationFactory.php',
+ 'phario\\phive\\migrationservice' => '/src/services/migration/MigrationService.php',
+ 'phario\\phive\\migrationsfailedexception' => '/src/shared/exceptions/MigrationsFailedException.php',
+ 'phario\\phive\\nogpgbinaryfoundexception' => '/src/shared/exceptions/NoGPGBinaryFoundException.php',
+ 'phario\\phive\\notfoundexception' => '/src/shared/exceptions/NotFoundException.php',
+ 'phario\\phive\\outdatedcommand' => '/src/commands/outdated/OutdatedCommand.php',
+ 'phario\\phive\\outdatedconfig' => '/src/commands/outdated/OutdatedConfig.php',
+ 'phario\\phive\\outdatedconfigexception' => '/src/commands/outdated/OutdatedConfigException.php',
+ 'phario\\phive\\outdatedcontext' => '/src/commands/outdated/OutdatedContext.php',
+ 'phario\\phive\\phar' => '/src/shared/phar/Phar.php',
+ 'phario\\phive\\pharalias' => '/src/shared/phar/PharAlias.php',
+ 'phario\\phive\\phardownloader' => '/src/services/phar/PharDownloader.php',
+ 'phario\\phive\\pharexception' => '/src/shared/exceptions/PharException.php',
+ 'phario\\phive\\pharidentifier' => '/src/shared/phar/PharIdentifier.php',
+ 'phario\\phive\\pharinstaller' => '/src/services/phar/PharInstaller.php',
+ 'phario\\phive\\pharinstallerexception' => '/src/shared/exceptions/PharInstallerException.php',
+ 'phario\\phive\\pharinstallerfactory' => '/src/services/phar/PharInstallerFactory.php',
+ 'phario\\phive\\pharinstallerlocator' => '/src/services/phar/PharInstallerLocator.php',
+ 'phario\\phive\\pharioaliasresolver' => '/src/services/resolver/PharIoAliasResolver.php',
+ 'phario\\phive\\phariorepository' => '/src/shared/repository/PharIoRepository.php',
+ 'phario\\phive\\pharregistry' => '/src/shared/PharRegistry.php',
+ 'phario\\phive\\pharregistryexception' => '/src/shared/exceptions/PharRegistryException.php',
+ 'phario\\phive\\pharservice' => '/src/services/phar/PharService.php',
+ 'phario\\phive\\pharurl' => '/src/shared/phar/PharUrl.php',
+ 'phario\\phive\\phivecontext' => '/src/PhiveContext.php',
+ 'phario\\phive\\phiveversion' => '/src/shared/version/PhiveVersion.php',
+ 'phario\\phive\\phivexmlconfig' => '/src/shared/config/PhiveXmlConfig.php',
+ 'phario\\phive\\phivexmlconfigfilelocator' => '/src/shared/config/PhiveXmlConfigFileLocator.php',
+ 'phario\\phive\\projectphivexmlmigration' => '/src/services/migration/ProjectPhiveXmlMigration.php',
+ 'phario\\phive\\publickey' => '/src/services/key/PublicKey.php',
+ 'phario\\phive\\publickeyexception' => '/src/shared/exceptions/PublicKeyException.php',
+ 'phario\\phive\\publickeyreader' => '/src/services/key/gpg/PublicKeyReader.php',
+ 'phario\\phive\\purgecommand' => '/src/commands/purge/PurgeCommand.php',
+ 'phario\\phive\\purgecontext' => '/src/commands/purge/PurgeContext.php',
+ 'phario\\phive\\ratelimit' => '/src/shared/http/RateLimit.php',
+ 'phario\\phive\\release' => '/src/shared/phar/Release.php',
+ 'phario\\phive\\releasecollection' => '/src/shared/phar/ReleaseCollection.php',
+ 'phario\\phive\\releaseexception' => '/src/shared/exceptions/ReleaseException.php',
+ 'phario\\phive\\releaseselector' => '/src/services/phar/ReleaseSelector.php',
+ 'phario\\phive\\remotefirstresolvingstrategy' => '/src/services/resolver/strategy/RemoteFirstResolvingStrategy.php',
+ 'phario\\phive\\remotesourceslistfileloader' => '/src/shared/sources/RemoteSourcesListFileLoader.php',
+ 'phario\\phive\\removecommand' => '/src/commands/remove/RemoveCommand.php',
+ 'phario\\phive\\removecommandconfig' => '/src/commands/remove/RemoveCommandConfig.php',
+ 'phario\\phive\\removecontext' => '/src/commands/remove/RemoveContext.php',
+ 'phario\\phive\\requestedphar' => '/src/shared/phar/RequestedPhar.php',
+ 'phario\\phive\\requestedpharresolver' => '/src/services/resolver/RequestedPharResolver.php',
+ 'phario\\phive\\requestedpharresolverfactory' => '/src/services/resolver/RequestedPharResolverFactory.php',
+ 'phario\\phive\\requestedpharresolverservice' => '/src/services/resolver/RequestedPharResolverService.php',
+ 'phario\\phive\\requestedpharresolverservicebuilder' => '/src/services/resolver/RequestedPharResolverServiceBuilder.php',
+ 'phario\\phive\\resetcommand' => '/src/commands/reset/ResetCommand.php',
+ 'phario\\phive\\resetcommandconfig' => '/src/commands/reset/ResetCommandConfig.php',
+ 'phario\\phive\\resetcontext' => '/src/commands/reset/ResetContext.php',
+ 'phario\\phive\\resolveexception' => '/src/shared/exceptions/ResolveException.php',
+ 'phario\\phive\\resolvingstrategy' => '/src/services/resolver/strategy/ResolvingStrategy.php',
+ 'phario\\phive\\retryinghttpclient' => '/src/shared/http/RetryingHttpClient.php',
+ 'phario\\phive\\ringdowncurlhttpclient' => '/src/shared/http/RingdownCurlHttpClient.php',
+ 'phario\\phive\\selfupdatecommand' => '/src/commands/selfupdate/SelfupdateCommand.php',
+ 'phario\\phive\\sha1hash' => '/src/shared/hash/sha/Sha1Hash.php',
+ 'phario\\phive\\sha256hash' => '/src/shared/hash/sha/Sha256Hash.php',
+ 'phario\\phive\\sha384hash' => '/src/shared/hash/sha/Sha384Hash.php',
+ 'phario\\phive\\sha512hash' => '/src/shared/hash/sha/Sha512Hash.php',
+ 'phario\\phive\\signatureverifier' => '/src/services/signature/SignatureVerifier.php',
+ 'phario\\phive\\skelcommand' => '/src/commands/skel/SkelCommand.php',
+ 'phario\\phive\\skelcommandconfig' => '/src/commands/skel/SkelCommandConfig.php',
+ 'phario\\phive\\skelcontext' => '/src/commands/skel/SkelContext.php',
+ 'phario\\phive\\source' => '/src/shared/sources/Source.php',
+ 'phario\\phive\\sourcerepository' => '/src/shared/repository/SourceRepository.php',
+ 'phario\\phive\\sourceslist' => '/src/shared/sources/SourcesList.php',
+ 'phario\\phive\\sourceslistexception' => '/src/shared/exceptions/SourcesListException.php',
+ 'phario\\phive\\sourceslistfileloader' => '/src/shared/sources/SourcesListFileLoader.php',
+ 'phario\\phive\\staticphiveversion' => '/src/shared/version/StaticPhiveVersion.php',
+ 'phario\\phive\\statuscommand' => '/src/commands/status/StatusCommand.php',
+ 'phario\\phive\\statuscommandconfig' => '/src/commands/status/StatusCommandConfig.php',
+ 'phario\\phive\\statuscontext' => '/src/commands/status/StatusContext.php',
+ 'phario\\phive\\supportedrelease' => '/src/shared/phar/SupportedRelease.php',
+ 'phario\\phive\\targetdirectorylocator' => '/src/shared/TargetDirectoryLocator.php',
+ 'phario\\phive\\tokenauthentication' => '/src/shared/http/authentication/TokenAuthentication.php',
+ 'phario\\phive\\unixoidenvironment' => '/src/shared/environment/UnixoidEnvironment.php',
+ 'phario\\phive\\unixoidpharinstaller' => '/src/services/phar/UnixoidPharInstaller.php',
+ 'phario\\phive\\unsupportedrelease' => '/src/shared/phar/UnsupportedRelease.php',
+ 'phario\\phive\\unsupportedversionconstraintexception' => '/src/shared/exceptions/UnsupportedVersionConstraintException.php',
+ 'phario\\phive\\updatecommand' => '/src/commands/update/UpdateCommand.php',
+ 'phario\\phive\\updatecommandconfig' => '/src/commands/update/UpdateCommandConfig.php',
+ 'phario\\phive\\updatecontext' => '/src/commands/update/UpdateContext.php',
+ 'phario\\phive\\updaterepositorylistcommand' => '/src/commands/update-repository-list/UpdateRepositoryListCommand.php',
+ 'phario\\phive\\url' => '/src/shared/Url.php',
+ 'phario\\phive\\urlrepository' => '/src/shared/repository/UrlRepository.php',
+ 'phario\\phive\\usedphar' => '/src/shared/phar/UsedPhar.php',
+ 'phario\\phive\\userfilemigration' => '/src/services/migration/UserFileMigration.php',
+ 'phario\\phive\\verificationfailedexception' => '/src/shared/exceptions/VerificationFailedException.php',
+ 'phario\\phive\\verificationresult' => '/src/services/signature/VerificationResult.php',
+ 'phario\\phive\\versioncommand' => '/src/commands/version/VersionCommand.php',
+ 'phario\\phive\\windowsenvironment' => '/src/shared/environment/WindowsEnvironment.php',
+ 'phario\\phive\\windowspharinstaller' => '/src/services/phar/WindowsPharInstaller.php',
+ 'phario\\phive\\xmlfile' => '/src/shared/XmlFile.php',
+ 'phario\\version\\abstractversionconstraint' => '/vendor/phar-io/version/src/constraints/AbstractVersionConstraint.php',
+ 'phario\\version\\andversionconstraintgroup' => '/vendor/phar-io/version/src/constraints/AndVersionConstraintGroup.php',
+ 'phario\\version\\anyversionconstraint' => '/vendor/phar-io/version/src/constraints/AnyVersionConstraint.php',
+ 'phario\\version\\exactversionconstraint' => '/vendor/phar-io/version/src/constraints/ExactVersionConstraint.php',
+ 'phario\\version\\exception' => '/vendor/phar-io/version/src/exceptions/Exception.php',
+ 'phario\\version\\greaterthanorequaltoversionconstraint' => '/vendor/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php',
+ 'phario\\version\\invalidprereleasesuffixexception' => '/vendor/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php',
+ 'phario\\version\\invalidversionexception' => '/vendor/phar-io/version/src/exceptions/InvalidVersionException.php',
+ 'phario\\version\\orversionconstraintgroup' => '/vendor/phar-io/version/src/constraints/OrVersionConstraintGroup.php',
+ 'phario\\version\\prereleasesuffix' => '/vendor/phar-io/version/src/PreReleaseSuffix.php',
+ 'phario\\version\\specificmajorandminorversionconstraint' => '/vendor/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php',
+ 'phario\\version\\specificmajorversionconstraint' => '/vendor/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php',
+ 'phario\\version\\unsupportedversionconstraintexception' => '/vendor/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php',
+ 'phario\\version\\version' => '/vendor/phar-io/version/src/Version.php',
+ 'phario\\version\\versionconstraint' => '/vendor/phar-io/version/src/constraints/VersionConstraint.php',
+ 'phario\\version\\versionconstraintparser' => '/vendor/phar-io/version/src/VersionConstraintParser.php',
+ 'phario\\version\\versionconstraintvalue' => '/vendor/phar-io/version/src/VersionConstraintValue.php',
+ 'phario\\version\\versionnumber' => '/vendor/phar-io/version/src/VersionNumber.php'
+ );
+ }
+
+ $class = strtolower($class);
+
+ if (isset($classes[$class])) {
+ require 'phar://phive.phar/' . $classes[$class];
+ }
+ }
+);
+
+Phar::mapPhar('phive.phar');
+
+$rc = (new Factory(new Cli\Request($_SERVER['argv']), new StaticPhiveVersion('0.14.4')))->getRunner()->run();
+exit($rc);
+
+__HALT_COMPILER(); ?>
+V 8
+ phive.phar / vendor/phar-io/version/src/PreReleaseSuffix.php >^ N &