friendica/util/composer.phar
2017-04-01 01:24:10 +02:00

85797 lines
No EOL
1.8 MiB
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env php
<?php
/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view
* the license that is located at the bottom of this file.
*/
// Avoid APC causing random fatal errors per https://github.com/composer/composer/issues/264
if (extension_loaded('apc') && ini_get('apc.enable_cli') && ini_get('apc.cache_by_default')) {
if (version_compare(phpversion('apc'), '3.0.12', '>=')) {
ini_set('apc.cache_by_default', 0);
} else {
fwrite(STDERR, 'Warning: APC <= 3.0.12 may cause fatal errors when running composer commands.'.PHP_EOL);
fwrite(STDERR, 'Update APC, or set apc.enable_cli or apc.cache_by_default to 0 in your php.ini.'.PHP_EOL);
}
}
Phar::mapPhar('composer.phar');
require 'phar://composer.phar/bin/composer';
__HALT_COMPILER(); ?>
·<EFBFBD>ç composer.phar+src/Composer/Autoload/AutoloadGenerator.phpfaùcÂXfa1<>é4¶+src/Composer/Autoload/ClassMapGenerator.php•ùcÂX•î$»'¶src/Composer/Cache.phpøùcÂXø.f—ݶ%src/Composer/Command/AboutCommand.phpÁùcÂXÁ¾þò¶'src/Composer/Command/ArchiveCommand.php¸ùcÂX¸ÖN¨ ¶$src/Composer/Command/BaseCommand.phpÉ ùcÂXÉ —P!£¶.src/Composer/Command/BaseDependencyCommand.phpÉùcÂXÉD{²Ð¶*src/Composer/Command/ClearCacheCommand.php^ùcÂX^ƒ÷<C692>&src/Composer/Command/ConfigCommand.phpªGùcÂXªGÐ5$4¶-src/Composer/Command/CreateProjectCommand.phpë4ùcÂXë4‡&ªö¶'src/Composer/Command/DependsCommand.php·ùcÂX·o±¹ú¶(src/Composer/Command/DiagnoseCommand.phpÍFùcÂXÍF²E>F¶,src/Composer/Command/DumpAutoloadCommand.php¨ ùcÂX¨ g/”+¶$src/Composer/Command/ExecCommand.phphùcÂXhíB=¶&src/Composer/Command/GlobalCommand.phpüùcÂXüÝH<C39D>$src/Composer/Command/HomeCommand.phpùcÂX±¶$src/Composer/Command/InitCommand.phpµ=ùcÂXµ=*µÍ'src/Composer/Command/InstallCommand.phpýùcÂXý0ö:‰¶(src/Composer/Command/LicensesCommand.php%ùcÂX%nx
(src/Composer/Command/OutdatedCommand.php°
ùcÂX°
7àzk¶)src/Composer/Command/ProhibitsCommand.phpËùcÂXËg<>ð¶&src/Composer/Command/RemoveCommand.phpçùcÂXçº 'src/Composer/Command/RequireCommand.php£ùcÂX£š@p¶)src/Composer/Command/RunScriptCommand.phpŸ ùcÂXŸ ÎÀñ˶+src/Composer/Command/ScriptAliasCommand.phpùcÂX®%þ›¶&src/Composer/Command/SearchCommand.phpáùcÂXሠª¶*src/Composer/Command/SelfUpdateCommand.phpï0ùcÂXï0û­ $src/Composer/Command/ShowCommand.phpcdùcÂXcdÒba¶&src/Composer/Command/StatusCommand.php.ùcÂX.<>(src/Composer/Command/SuggestsCommand.php¨ ùcÂX¨ £.¿¶&src/Composer/Command/UpdateCommand.php["ùcÂX["IyYì¶(src/Composer/Command/ValidateCommand.phpùcÂXlpœ/¶src/Composer/Composer.phpÿùcÂXÿÏ…YJ¶src/Composer/Config.php<68>"ùcÂX<C382>"Þ4Jö¶-src/Composer/Config/ConfigSourceInterface.phpùcÂX³ [/¶(src/Composer/Config/JsonConfigSource.phpÅùcÂXÅÂ4‡$src/Composer/Console/Application.php$0ùcÂX$0ífû¶,src/Composer/Console/HtmlOutputFormatter.php3ùcÂX3Ú<>Eu¶-src/Composer/DependencyResolver/Decisions.phpQùcÂXQ?˜¬$¶1src/Composer/DependencyResolver/DefaultPolicy.phpùcÂXõÝv/src/Composer/DependencyResolver/GenericRule.php·ùcÂX·Ì~¯³¶>src/Composer/DependencyResolver/Operation/InstallOperation.phpCùcÂXC´\õ*¶Isrc/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php÷ùcÂX÷ïÎà÷¶Ksrc/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.phpýùcÂXý3#†¶@src/Composer/DependencyResolver/Operation/OperationInterface.phpÓùcÂXÓÙâ&ä¶=src/Composer/DependencyResolver/Operation/SolverOperation.php¹ùcÂX¹&¢e
@src/Composer/DependencyResolver/Operation/UninstallOperation.phpIùcÂXIFûÂɶ=src/Composer/DependencyResolver/Operation/UpdateOperation.phphùcÂXhöSÕ]¶3src/Composer/DependencyResolver/PolicyInterface.php­ùcÂX­Ÿ(src/Composer/DependencyResolver/Pool.php°"ùcÂX°" Ž%¶+src/Composer/DependencyResolver/Problem.php™ùcÂX™´‡Ä¶+src/Composer/DependencyResolver/Request.phpƒùcÂXƒåVP„¶(src/Composer/DependencyResolver/Rule.phpnùcÂXn—3"u¶1src/Composer/DependencyResolver/Rule2Literals.php§ùcÂX§~Ð'ò¶+src/Composer/DependencyResolver/RuleSet.phpª
ùcÂXª
4src/Composer/DependencyResolver/RuleSetGenerator.phpOùcÂXO³Q[â¶3src/Composer/DependencyResolver/RuleSetIterator.phpùcÂX}õÇù¶2src/Composer/DependencyResolver/RuleWatchChain.phpiùcÂXihïš,¶2src/Composer/DependencyResolver/RuleWatchGraph.phpáùcÂXá‰rôv¶1src/Composer/DependencyResolver/RuleWatchNode.phpñùcÂXñë•“¶*src/Composer/DependencyResolver/Solver.phpŸ8ùcÂXŸ8pöb¶6src/Composer/DependencyResolver/SolverBugException.php˜ùcÂX˜"qN¶;src/Composer/DependencyResolver/SolverProblemsException.php¤ùcÂX¤Ä~/src/Composer/DependencyResolver/Transaction.phpôùcÂXôcïTܶ-src/Composer/Downloader/ArchiveDownloader.phpåùcÂXåƒdø¶1src/Composer/Downloader/ChangeReportInterface.phpÌùcÂX̯ਿ¶+src/Composer/Downloader/DownloadManager.phpGùcÂXGŠ(í»¶/src/Composer/Downloader/DownloaderInterface.phpÊùcÂXÊgs!l¶3src/Composer/Downloader/DvcsDownloaderInterface.phpÑùcÂXÑ&Áœ¿¶*src/Composer/Downloader/FileDownloader.phpÍùcÂXÍ<00>Õ<EFBFBD>/src/Composer/Downloader/FilesystemException.php
ùcÂX
.-‹¶,src/Composer/Downloader/FossilDownloader.php` ùcÂX` ÿI©u¶)src/Composer/Downloader/GitDownloader.php<68>3ùcÂX<C382>31mU¥¶*src/Composer/Downloader/GzipDownloader.phpóùcÂXó}Úo¶(src/Composer/Downloader/HgDownloader.php8 ùcÂX8 ëyàn¶*src/Composer/Downloader/PathDownloader.phpSùcÂXSÊfý|¶0src/Composer/Downloader/PearPackageExtractor.phpuùcÂXuz„‡¶.src/Composer/Downloader/PerforceDownloader.phpÃùcÂXÑÈý¶*src/Composer/Downloader/PharDownloader.phpåùcÂXåÞÉç¶)src/Composer/Downloader/RarDownloader.phpžùcÂXž6 3U¶)src/Composer/Downloader/SvnDownloader.phpGùcÂXG†íV)src/Composer/Downloader/TarDownloader.phpãùcÂXãÍX?¶.src/Composer/Downloader/TransportException.php=ùcÂX=ZÎÈÞ¶9src/Composer/Downloader/VcsCapableDownloaderInterface.phpÔùcÂXÔ`§ôö¶)src/Composer/Downloader/VcsDownloader.php"ùcÂX"œŸp¶(src/Composer/Downloader/XzDownloader.php§ùcÂX§W$;á¶)src/Composer/Downloader/ZipDownloader.phpù ùcÂXù >Å¡&src/Composer/EventDispatcher/Event.php ùcÂX ±™jï¶0src/Composer/EventDispatcher/EventDispatcher.phpÀ/ùcÂXÀ/dw9src/Composer/EventDispatcher/EventSubscriberInterface.php©ùcÂX©9src/Composer/EventDispatcher/ScriptExecutionException.phpvùcÂXvwZ8S¶)src/Composer/Exception/NoSslException.phpfùcÂXfËíM<C3AD>src/Composer/Factory.php¦<ùcÂX¦<i‡@˶src/Composer/IO/BaseIO.phpŒùcÂXŒ(lsrc/Composer/IO/BufferIO.php*ùcÂX*¢®hT¶src/Composer/IO/ConsoleIO.php@ùcÂX@¤ñâ¶src/Composer/IO/IOInterface.phpìùcÂXìÕ<>src/Composer/IO/NullIO.phpÀùcÂXÀF`sʶsrc/Composer/Installer.php ùcÂX Ô©ül¶*src/Composer/Installer/BinaryInstaller.phpùcÂX³ 2src/Composer/Installer/BinaryPresenceInterface.phpËùcÂXËÀ5š¨¶.src/Composer/Installer/InstallationManager.php-ùcÂX-¾}Œ7¶)src/Composer/Installer/InstallerEvent.phpùcÂXlÔzi¶*src/Composer/Installer/InstallerEvents.phpÞùcÂXÞìŸ@G¶-src/Composer/Installer/InstallerInterface.phpãùcÂXã^ƒ“ʶ+src/Composer/Installer/LibraryInstaller.php^ùcÂX^Ír¶/src/Composer/Installer/MetapackageInstaller.phpœùcÂXœÆÅ!¶(src/Composer/Installer/NoopInstaller.php+ùcÂX+À·M}¶'src/Composer/Installer/PackageEvent.phpeùcÂXe(src/Composer/Installer/PackageEvents.php¸ùcÂX¸dbØs¶.src/Composer/Installer/PearBinaryInstaller.phpâ ùcÂXâ ;øiU¶(src/Composer/Installer/PearInstaller.php¢ùcÂX¢È‚¶Ñ¶*src/Composer/Installer/PluginInstaller.phpŸùcÂXŸ<tú,¶+src/Composer/Installer/ProjectInstaller.phpùcÂX*0@P¶4src/Composer/Installer/SuggestedPackagesReporter.phpªùcÂXªàGösrc/Composer/Json/JsonFile.phpùcÂXVVN#src/Composer/Json/JsonFormatter.phpùcÂXÐqu¶%src/Composer/Json/JsonManipulator.phpþ0ùcÂXþ0kÌc¶-src/Composer/Json/JsonValidationException.php\ùcÂX\.Xóܶ%src/Composer/Package/AliasPackage.phpùcÂX¹—~š¶7src/Composer/Package/Archiver/ArchivableFilesFilter.php ùcÂX yY+¦¶7src/Composer/Package/Archiver/ArchivableFilesFinder.phpÞùcÂXÞ ²²¹¶0src/Composer/Package/Archiver/ArchiveManager.php° ùcÂX° gþÒ)¶3src/Composer/Package/Archiver/ArchiverInterface.phpùcÂXñ´> 3src/Composer/Package/Archiver/BaseExcludeFilter.phpùcÂXy¶=ƶ7src/Composer/Package/Archiver/ComposerExcludeFilter.phpùcÂXSZ0¶2src/Composer/Package/Archiver/GitExcludeFilter.phpqùcÂXq5¾i&¶1src/Composer/Package/Archiver/HgExcludeFilter.phpùcÂX~”¸¶.src/Composer/Package/Archiver/PharArchiver.php>ùcÂX> 5‰í¶-src/Composer/Package/Archiver/ZipArchiver.php¼ùcÂX¼XÝë¶$src/Composer/Package/BasePackage.php& ùcÂX& 'ݶ(src/Composer/Package/CompletePackage.phpüùcÂXüþM˶¶1src/Composer/Package/CompletePackageInterface.phpõùcÂXõ¦Ê<C2A6>ò¶+src/Composer/Package/Dumper/ArrayDumper.phpë ùcÂXë Ó8WE¶src/Composer/Package/Link.phpˆùcÂXˆå¶Y«¶7src/Composer/Package/LinkConstraint/EmptyConstraint.phpùcÂXé~‹¶?src/Composer/Package/LinkConstraint/LinkConstraintInterface.phpdùcÂXd¤ôLn¶7src/Composer/Package/LinkConstraint/MultiConstraint.phpùcÂXób`ý¶:src/Composer/Package/LinkConstraint/SpecificConstraint.phpiùcÂXiÞ”š%¶9src/Composer/Package/LinkConstraint/VersionConstraint.phpXùcÂXX}`y¶+src/Composer/Package/Loader/ArrayLoader.php¸ùcÂX¸6 ¤7src/Composer/Package/Loader/InvalidPackageException.phpEùcÂXExb¾¶*src/Composer/Package/Loader/JsonLoader.phpùùcÂXù!~ˆ/src/Composer/Package/Loader/LoaderInterface.php²ùcÂX²¦}úζ1src/Composer/Package/Loader/RootPackageLoader.php½ùcÂX½<49>5src/Composer/Package/Loader/ValidatingArrayLoader.php½1ùcÂX½1ÅnÚѶsrc/Composer/Package/Locker.phpª!ùcÂXª!<00>7e¾¶ src/Composer/Package/Package.phpÉùcÂXÉ<63>)src/Composer/Package/PackageInterface.php ùcÂX ûÇ^ƶ)src/Composer/Package/RootAliasPackage.php ùcÂX _€ø¶$src/Composer/Package/RootPackage.phpùcÂXŽÎ_¶-src/Composer/Package/RootPackageInterface.php¹ùcÂX¹"maV¶/src/Composer/Package/Version/VersionGuesser.phpµùcÂXµ.â_ ¶.src/Composer/Package/Version/VersionParser.phpøùcÂXø¾3l¶0src/Composer/Package/Version/VersionSelector.phpK ùcÂXK ²<ȶ-src/Composer/Plugin/Capability/Capability.phpWùcÂXWæ_¨1¶2src/Composer/Plugin/Capability/CommandProvider.php—ùcÂX—ûOâ>¶src/Composer/Plugin/Capable.phpùcÂXÆq$src/Composer/Plugin/CommandEvent.phpâùcÂXâ³ÆÇW¶$src/Composer/Plugin/PluginEvents.phpÂùcÂXÂ^Íþ'src/Composer/Plugin/PluginInterface.phpôùcÂXô)'*ض%src/Composer/Plugin/PluginManager.php$ùcÂX$ëŽ"»¶,src/Composer/Plugin/PreFileDownloadEvent.php`ùcÂX`9-ζ+src/Composer/Repository/ArrayRepository.phpùcÂXéÌt.src/Composer/Repository/ArtifactRepository.php» ùcÂX» ˆÝ÷<¶*src/Composer/Repository/BaseRepository.php_ ùcÂX_ –ûß.src/Composer/Repository/ComposerRepository.phpATùcÂXATu`/src/Composer/Repository/CompositeRepository.php;ùcÂX;¤¯S;src/Composer/Repository/ConfigurableRepositoryInterface.php…ùcÂX…±Ÿ_0src/Composer/Repository/FilesystemRepository.php×ùcÂX×Iœª4src/Composer/Repository/InstalledArrayRepository.php£ùcÂX£/ö~>¶9src/Composer/Repository/InstalledFilesystemRepository.php£ùcÂX£V
•_¶8src/Composer/Repository/InstalledRepositoryInterface.php‡ùcÂX‡£9p¶6src/Composer/Repository/InvalidRepositoryException.phpnùcÂXnà“똶-src/Composer/Repository/PackageRepository.phpjùcÂXj¥ôò̶*src/Composer/Repository/PathRepository.phpY ùcÂXY (—¾3¶2src/Composer/Repository/Pear/BaseChannelReader.phpIùcÂXIc6³¶,src/Composer/Repository/Pear/ChannelInfo.phpÄùcÂXÄ:T*ɶ.src/Composer/Repository/Pear/ChannelReader.phpíùcÂXí?ÈYT¶4src/Composer/Repository/Pear/ChannelRest10Reader.phpÁ ùcÂXÁ O€ë¶4src/Composer/Repository/Pear/ChannelRest11Reader.php& ùcÂX& òUb5src/Composer/Repository/Pear/DependencyConstraint.phpqùcÂXq9/src/Composer/Repository/Pear/DependencyInfo.phpqùcÂXqfºTò¶8src/Composer/Repository/Pear/PackageDependencyParser.php…ùcÂX…÷$Li¶,src/Composer/Repository/Pear/PackageInfo.php°ùcÂX°Ÿ ¸ ,src/Composer/Repository/Pear/ReleaseInfo.phpùcÂXo“ŠÃ¶*src/Composer/Repository/PearRepository.phpªùcÂXª)Ÿƒ}¶.src/Composer/Repository/PlatformRepository.phpùcÂX_Mì¶-src/Composer/Repository/RepositoryFactory.phpMùcÂXM^ Æä¶/src/Composer/Repository/RepositoryInterface.phpÛùcÂXÛâÁ¶-src/Composer/Repository/RepositoryManager.php,
ùcÂX,
¾…\•¶7src/Composer/Repository/RepositorySecurityException.phpoùcÂXopÕ«ª¶/src/Composer/Repository/Vcs/BitbucketDriver.php ùcÂX ¶tpX¶,src/Composer/Repository/Vcs/FossilDriver.php ùcÂX ]ÉQ¶2src/Composer/Repository/Vcs/GitBitbucketDriver.phpêùcÂXêÃŽ»)src/Composer/Repository/Vcs/GitDriver.phpØùcÂXØÝ"T̶,src/Composer/Repository/Vcs/GitHubDriver.phpz+ùcÂXz+Úb¶,src/Composer/Repository/Vcs/GitLabDriver.phpùcÂXî 1src/Composer/Repository/Vcs/HgBitbucketDriver.phpäùcÂXäiüà¶(src/Composer/Repository/Vcs/HgDriver.php¥ùcÂX¥uߣȶ.src/Composer/Repository/Vcs/PerforceDriver.phpO ùcÂXO @ËóN¶)src/Composer/Repository/Vcs/SvnDriver.phpùcÂXÕzï¶)src/Composer/Repository/Vcs/VcsDriver.phpƒ
ùcÂXƒ
žŸ‡¶2src/Composer/Repository/Vcs/VcsDriverInterface.php÷ùcÂX÷ÇX[‰¶)src/Composer/Repository/VcsRepository.php´ùcÂX´ªÖG¶3src/Composer/Repository/WritableArrayRepository.phpùcÂX¾G7src/Composer/Repository/WritableRepositoryInterface.php‰ùcÂX‰/sï¶$src/Composer/Script/CommandEvent.phpWùcÂXW£VZt¶src/Composer/Script/Event.phpµùcÂXµlt¦M¶$src/Composer/Script/PackageEvent.phpœùcÂXœ§ÿÉ ¶$src/Composer/Script/ScriptEvents.phpPùcÂXP<>¶¶ src/Composer/SelfUpdate/Keys.php<68>ùcÂX<C382> îÊN¶$src/Composer/SelfUpdate/Versions.phpìùcÂXì͵‘ƒ¶ src/Composer/Util/AuthHelper.phpËùcÂXË>zxsrc/Composer/Util/Bitbucket.phpõùcÂXõq9…¶$src/Composer/Util/ComposerMirror.php±ùcÂX±­½øض%src/Composer/Util/ConfigValidator.php&ùcÂX&î:äü¶"src/Composer/Util/ErrorHandler.php‡ùcÂX‡He src/Composer/Util/Filesystem.phps.ùcÂXs.›Í®à¶src/Composer/Util/Git.phpT$ùcÂXT$çz¢<7A>src/Composer/Util/GitHub.php¯
ùcÂX¯
àÏ ¶src/Composer/Util/GitLab.php ùcÂX Yºƒ*¶src/Composer/Util/IniHelper.php<68>ùcÂX<C382>Çþ‚{¶$src/Composer/Util/NoProxyPattern.php¾ùcÂX¾Z+°m¶src/Composer/Util/Perforce.php2ùcÂX2­5P¶src/Composer/Util/Platform.phpüùcÂXüs­fç¶%src/Composer/Util/ProcessExecutor.php ùcÂX ˆ)sw¶&src/Composer/Util/RemoteFilesystem.php$bùcÂX$b÷7Mp¶src/Composer/Util/Silencer.phpòùcÂXò.Žܶ!src/Composer/Util/SpdxLicense.phpùcÂX¾7
ñ¶*src/Composer/Util/StreamContextFactory.phpwùcÂXwÓ;Ѷsrc/Composer/Util/Svn.php¾ùcÂX¾Ík“ܶsrc/Composer/Util/TlsHelper.phpp
ùcÂXp
¤eÞæ¶src/Composer/XdebugHandler.phpùcÂX눽¶src/bootstrap.php¹ùcÂX¹I}œ¶%src/Composer/Autoload/ClassLoader.php4ùcÂX4QŸ”¼¶#res/composer-repository-schema.jsonðùcÂXð<00>GÐà¶res/composer-schema.json[ùcÂX[ák¥6vendor/composer/spdx-licenses/res/spdx-exceptions.jsoníùcÂXíÆÅz±¶4vendor/composer/spdx-licenses/res/spdx-licenses.json eùcÂX eùe!‰¶*vendor/seld/cli-prompt/res/hiddeninput.exe$ùcÂX$<>¥v¶&vendor/symfony/console/Application.php.WùcÂX.W´'<27>ð¶*vendor/symfony/console/Command/Command.php•#ùcÂX•#Ìí+!¶.vendor/symfony/console/Command/HelpCommand.phpÝùcÂXÝ.Ø™u¶.vendor/symfony/console/Command/ListCommand.phpZùcÂXZÉ£ (vendor/symfony/console/ConsoleEvents.phpïùcÂXï ÕH¸<vendor/symfony/console/Descriptor/ApplicationDescription.phpßùcÂXßµŒ°7¶0vendor/symfony/console/Descriptor/Descriptor.php<68>ùcÂX<C382>;~Ķ9vendor/symfony/console/Descriptor/DescriptorInterface.phpüùcÂXü±Qµ¶4vendor/symfony/console/Descriptor/JsonDescriptor.phpš ùcÂXš 8vendor/symfony/console/Descriptor/MarkdownDescriptor.php¹ùcÂX¹kŸ.a¶4vendor/symfony/console/Descriptor/TextDescriptor.phpiùcÂXi Îòÿ¶3vendor/symfony/console/Descriptor/XmlDescriptor.phpùcÂXP$¶4vendor/symfony/console/Event/ConsoleCommandEvent.php²ùcÂX²Zk‰2¶-vendor/symfony/console/Event/ConsoleEvent.phpÅùcÂXÅÒxÛ\¶6vendor/symfony/console/Event/ConsoleExceptionEvent.phpùcÂXá2é¶6vendor/symfony/console/Event/ConsoleTerminateEvent.phpzùcÂXz³,îL¶=vendor/symfony/console/Exception/CommandNotFoundException.phpÔùcÂXÔÈ÷ L¶7vendor/symfony/console/Exception/ExceptionInterface.phpfùcÂXf¡ABª¶=vendor/symfony/console/Exception/InvalidArgumentException.php¦ùcÂX¦Ö̽Z¶;vendor/symfony/console/Exception/InvalidOptionException.php¦ùcÂX¦Ë×3vendor/symfony/console/Exception/LogicException.phpùcÂXÍO\e¶5vendor/symfony/console/Exception/RuntimeException.phpùcÂXÙí,6¶4vendor/symfony/console/Formatter/OutputFormatter.php!ùcÂX!§îwx¶=vendor/symfony/console/Formatter/OutputFormatterInterface.phpŠùcÂXŠ9vendor/symfony/console/Formatter/OutputFormatterStyle.phpLùcÂXLŠ<>8<¶Bvendor/symfony/console/Formatter/OutputFormatterStyleInterface.php†ùcÂX†ÝRÚ­>vendor/symfony/console/Formatter/OutputFormatterStyleStack.phpLùcÂXL.=6vendor/symfony/console/Helper/DebugFormatterHelper.phpxùcÂXxN©Ø¼¶2vendor/symfony/console/Helper/DescriptorHelper.phpzùcÂXzfÉÚý¶.vendor/symfony/console/Helper/DialogHelper.phpúùcÂXúhX<68>ö1vendor/symfony/console/Helper/FormatterHelper.phpcùcÂXc“ý«N¶(vendor/symfony/console/Helper/Helper.phpùcÂX‡Â<£¶1vendor/symfony/console/Helper/HelperInterface.phpçùcÂXç Çã¶+vendor/symfony/console/Helper/HelperSet.phpÐùcÂXÐaˆ~ ¶2vendor/symfony/console/Helper/InputAwareHelper.phpcùcÂXcñø<C3B1>/vendor/symfony/console/Helper/ProcessHelper.phpÑ ùcÂXÑ @±ã<C2B1>-vendor/symfony/console/Helper/ProgressBar.phps%ùcÂXs%鯦<C2AF>0vendor/symfony/console/Helper/ProgressHelper.php\ùcÂX\?‹á¶3vendor/symfony/console/Helper/ProgressIndicator.phpKùcÂXKíÍ°¶0vendor/symfony/console/Helper/QuestionHelper.php<68>ùcÂX<C382>Ôb£¶7vendor/symfony/console/Helper/SymfonyQuestionHelper.phpl
ùcÂXl
÷ÞL¶'vendor/symfony/console/Helper/Table.php*ùcÂX*¢¸}¶+vendor/symfony/console/Helper/TableCell.php‡ùcÂX‡¨*æ-vendor/symfony/console/Helper/TableHelper.php ùcÂX ¦pm‡¶0vendor/symfony/console/Helper/TableSeparator.phpÍùcÂXÍQßa²¶,vendor/symfony/console/Helper/TableStyle.php
ùcÂX
PÞµ¦¶*vendor/symfony/console/Input/ArgvInput.phpùcÂX¯Üœ¶+vendor/symfony/console/Input/ArrayInput.php_
ùcÂX_
[µðɶ&vendor/symfony/console/Input/Input.phpª ùcÂXª ¶¶.vendor/symfony/console/Input/InputArgument.phpùcÂXÁÜ<17>4vendor/symfony/console/Input/InputAwareInterface.phpšùcÂXš‡jTŸ¶0vendor/symfony/console/Input/InputDefinition.phpùcÂX0Oly¶/vendor/symfony/console/Input/InputInterface.phpŸùcÂXŸ¥R6Û¶,vendor/symfony/console/Input/InputOption.php ùcÂX ‡¹§¶,vendor/symfony/console/Input/StringInput.php˜ùcÂX˜ Ú¤¶vendor/symfony/console/LICENSE)ùcÂX)·)E`¶/vendor/symfony/console/Logger/ConsoleLogger.php< ùcÂX< :âÇl¶0vendor/symfony/console/Output/BufferedOutput.php_ùcÂX_ûBÍ·¶/vendor/symfony/console/Output/ConsoleOutput.phpµùcÂXµ
¢S\¶8vendor/symfony/console/Output/ConsoleOutputInterface.phpåùcÂXårNô,vendor/symfony/console/Output/NullOutput.phpÏùcÂXÏ®˜(vendor/symfony/console/Output/Output.phpš ùcÂXš 01 ý¶1vendor/symfony/console/Output/OutputInterface.phpùcÂXÓÚ>¶.vendor/symfony/console/Output/StreamOutput.phpÄùcÂXÄõ핶2vendor/symfony/console/Question/ChoiceQuestion.php"
ùcÂX"
_౶8vendor/symfony/console/Question/ConfirmationQuestion.phpéùcÂXéƒQ@¶,vendor/symfony/console/Question/Question.php#
ùcÂX#
 vendor/symfony/console/Shell.phpéùcÂXé½fü,vendor/symfony/console/Style/OutputStyle.php_ùcÂX_ûµ¶/vendor/symfony/console/Style/StyleInterface.phpÔùcÂXÔ ßÊj¶-vendor/symfony/console/Style/SymfonyStyle.php¼ùcÂX¼öÅPg¶3vendor/symfony/console/Tester/ApplicationTester.phpÔùcÂXÔ¬ì¤d¶/vendor/symfony/console/Tester/CommandTester.php®ùcÂX®EÙš|¶(vendor/symfony/debug/BufferingLogger.phptùcÂXt=hܶvendor/symfony/debug/Debug.phpéùcÂXéÀxa?¶)vendor/symfony/debug/DebugClassLoader.phpåùcÂXå¦ù3\¶%vendor/symfony/debug/ErrorHandler.phpqBùcÂXqBŸ\/r¶9vendor/symfony/debug/Exception/ClassNotFoundException.php„ùcÂX„n<>¡…¶8vendor/symfony/debug/Exception/ContextErrorException.php˜ùcÂX˜-
d2¶1vendor/symfony/debug/Exception/DummyException.phpùcÂX-"ûd¶6vendor/symfony/debug/Exception/FatalErrorException.phpïùcÂXïæ fz¶6vendor/symfony/debug/Exception/FatalThrowableError.phpDùcÂXD¡ Âí¶3vendor/symfony/debug/Exception/FlattenException.php²ùcÂX²HòÑ7vendor/symfony/debug/Exception/OutOfMemoryException.php~ùcÂX~ë¨oâ¶=vendor/symfony/debug/Exception/UndefinedFunctionException.phpˆùcÂXˆ¢G;vendor/symfony/debug/Exception/UndefinedMethodException.php†ùcÂX†¨LÚ:¶)vendor/symfony/debug/ExceptionHandler.php
3ùcÂX
3¹¨È£¶Ivendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php7ùcÂX7Ñj/=¶Evendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.phpùcÂXĹBV¶Mvendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.phpuùcÂXuéjKvendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.phpNùcÂXNÇo-ç¶vendor/symfony/debug/LICENSE)ùcÂX)·)E`¶:vendor/symfony/filesystem/Exception/ExceptionInterface.phpiùcÂXi$ ÿ›¶=vendor/symfony/filesystem/Exception/FileNotFoundException.php¼ùcÂX¼pí\¶¶3vendor/symfony/filesystem/Exception/IOException.php‡ùcÂX‡€ü#Ѷ<vendor/symfony/filesystem/Exception/IOExceptionInterface.php¦ùcÂX¦jÙwM¶(vendor/symfony/filesystem/Filesystem.phpÔ.ùcÂXÔ.ÏL{¶!vendor/symfony/filesystem/LICENSE)ùcÂX)·)E`¶)vendor/symfony/filesystem/LockHandler.phpŽùcÂXŽü Å¶1vendor/symfony/finder/Adapter/AbstractAdapter.php\ ùcÂX\ Æ“É€¶5vendor/symfony/finder/Adapter/AbstractFindAdapter.phpùcÂXao¦È¶2vendor/symfony/finder/Adapter/AdapterInterface.php±ùcÂX±ä»Ê&¶0vendor/symfony/finder/Adapter/BsdFindAdapter.php2ùcÂX2Q/ÇC¶0vendor/symfony/finder/Adapter/GnuFindAdapter.phpùcÂX ¡¾¶,vendor/symfony/finder/Adapter/PhpAdapter.phpôùcÂXô:?¶/vendor/symfony/finder/Comparator/Comparator.phpŒùcÂXŒwþT¶3vendor/symfony/finder/Comparator/DateComparator.php%ùcÂX%L¿EǶ5vendor/symfony/finder/Comparator/NumberComparator.php~ùcÂX~”‡ x¶9vendor/symfony/finder/Exception/AccessDeniedException.php„ùcÂX„½¾sœ¶;vendor/symfony/finder/Exception/AdapterFailureException.php¯ùcÂX¯œôÔÁ¶6vendor/symfony/finder/Exception/ExceptionInterface.php„ùcÂX„Gz-¶Avendor/symfony/finder/Exception/OperationNotPermitedException.php)ùcÂX)ìcj=¶@vendor/symfony/finder/Exception/ShellCommandFailureException.phpÂùcÂXÂvȶ/vendor/symfony/finder/Expression/Expression.phpùcÂXµoÔ)vendor/symfony/finder/Expression/Glob.phpiùcÂXiº¶*vendor/symfony/finder/Expression/Regex.phpùcÂXp83vendor/symfony/finder/Expression/ValueInterface.phpÍùcÂXͲ~øb¶ vendor/symfony/finder/Finder.phpÂ-ùcÂXÂ-˜f´vendor/symfony/finder/Glob.phpKùcÂXKjá±n¶7vendor/symfony/finder/Iterator/CustomFilterIterator.php]ùcÂX]tà±µ¶:vendor/symfony/finder/Iterator/DateRangeFilterIterator.phpzùcÂXzÂT-;vendor/symfony/finder/Iterator/DepthRangeFilterIterator.phpðùcÂXðß0™Avendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.phpïùcÂXï¾<>Òâ¶4vendor/symfony/finder/Iterator/FilePathsIterator.php ùcÂX fQCe¶9vendor/symfony/finder/Iterator/FileTypeFilterIterator.php\ùcÂX\p'˜¶<vendor/symfony/finder/Iterator/FilecontentFilterIterator.php5ùcÂX5ší9vendor/symfony/finder/Iterator/FilenameFilterIterator.phprùcÂXrt1vendor/symfony/finder/Iterator/FilterIterator.phpÀùcÂXÀE™½Œ¶=vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php/ùcÂX/»Ç5vendor/symfony/finder/Iterator/PathFilterIterator.phpÏùcÂXϺªÇ¶=vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php ùcÂX eÚ¹ü¶:vendor/symfony/finder/Iterator/SizeRangeFilterIterator.phpgùcÂXg!Ô—é¶3vendor/symfony/finder/Iterator/SortableIterator.php,ùcÂX,vendor/symfony/finder/LICENSE)ùcÂX)·)E`¶'vendor/symfony/finder/Shell/Command.phpS ùcÂXS cC…™¶%vendor/symfony/finder/Shell/Shell.phppùcÂXpÓ}g¶%vendor/symfony/finder/SplFileInfo.phpÿùcÂXÿË OÀ¶(vendor/symfony/polyfill-mbstring/LICENSE)ùcÂX)î*L-vendor/symfony/polyfill-mbstring/Mbstring.phpÁ4ùcÂXÁ4^i@vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php2AùcÂX2A½=¨¶@vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php¡AùcÂX¡AÚ Í¶.vendor/symfony/polyfill-mbstring/bootstrap.php±ùcÂX±|Š©Ò¶7vendor/symfony/process/Exception/ExceptionInterface.phpfùcÂXf]ö>T¶=vendor/symfony/process/Exception/InvalidArgumentException.php¨ùcÂX¨ÐÀ+_¶3vendor/symfony/process/Exception/LogicException.php”ùcÂX” ³ãñ¶;vendor/symfony/process/Exception/ProcessFailedException.phpxùcÂXx¨Ìzy¶=vendor/symfony/process/Exception/ProcessTimedOutException.phpùcÂX. Ãá¶5vendor/symfony/process/Exception/RuntimeException.php˜ùcÂX˜¢Ø:¶+vendor/symfony/process/ExecutableFinder.phpùcÂXýmvendor/symfony/process/LICENSE)ùcÂX)·)E`¶.vendor/symfony/process/PhpExecutableFinder.phpgùcÂXg<00>çµ%vendor/symfony/process/PhpProcess.phpüùcÂXü_—9¶.vendor/symfony/process/Pipes/AbstractPipes.php^ùcÂX^%s…ï¶/vendor/symfony/process/Pipes/PipesInterface.phpDùcÂXDvØ*vendor/symfony/process/Pipes/UnixPipes.phpåùcÂXåÈ¥-vendor/symfony/process/Pipes/WindowsPipes.php<68> ùcÂX<C382> …®"vendor/symfony/process/Process.php§RùcÂX§R+Á¥)vendor/symfony/process/ProcessBuilder.phpã
ùcÂXã
ʧ°ˆ¶'vendor/symfony/process/ProcessUtils.phpKùcÂXKµ½~ò¶vendor/seld/jsonlint/LICENSE"ùcÂX"aƒsy¶@vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php*ùcÂX*•pñ¶5vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php/2ùcÂX/2­ß˜ö¶0vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.phpùcÂX#ÆŽ<C386>;vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.phpùcÂX‰²ñ¶4vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php>ùcÂX>ÿqŸŸ¶vendor/seld/cli-prompt/LICENSE"ùcÂX"ˆñ?e¶&vendor/seld/cli-prompt/res/example.php'ùcÂX'I£¶(vendor/seld/cli-prompt/src/CliPrompt.php ùcÂX l½`߶(vendor/justinrainbow/json-schema/LICENSE ùcÂX ºç©¶.vendor/justinrainbow/json-schema/demo/demo.phpñùcÂXñfNvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php°ùcÂX°Ãÿ¦'¶Tvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php. ùcÂX. [÷3í¶Jvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.phpß ùcÂXß >/¶Svendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php¼ùcÂX¼ÿ Qœ¶Nvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php]ùcÂX]VŽU<¶Gvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php7 ùcÂX7 ³<>3%¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.phpŸùcÂXŸx&÷o¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.phpš
ùcÂXš
z&¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.phpµùcÂXµüø¦É¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.phpùcÂXN_»Pvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php{ùcÂX{ Ÿ[¶Xvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.phpaùcÂXa qöYvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.phppùcÂXprë¶\vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php‰ùcÂX‰“µ+j¶Nvendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php&ùcÂX&4˜©T¶Svendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.phpùcÂX/4˶Fvendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php ùcÂX û}fa¶Pvendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.phpIùcÂXI%|°¶Vvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php•ùcÂX•àGTvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.phplùcÂXlA!L×]vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.phpuùcÂXu=hçWvendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.phpwùcÂXwN-ò[¶Svendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.phpÞùcÂXÞ\¸
Wvendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.phpoùcÂXopíÛù¶Nvendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php…ùcÂX…%…—¶^vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php€ùcÂX€u-#1¶Rvendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.phpjùcÂXjå><3E>Qvendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.phpfùcÂXf¬¤„þ¶Kvendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.phpþùcÂXþM<>„õ¶;vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.phpGùcÂXGœ?IǶAvendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.phpN ùcÂXN ZÈó¬¶Jvendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.phpùcÂXoŠ+}¶Tvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.phpáùcÂXá[þA<C3BE>Gvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.phpwùcÂXwx¡€¯¶Rvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.phpùcÂXäZšD¶Rvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php,ùcÂX,1•5þ¶Xvendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php®ùcÂX®ÿ‹Áå¶Cvendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php ùcÂX =&ßͶDvendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.phpîùcÂXîÝ¿<C39D>Hvendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.phpƒùcÂXƒJ€Ivendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php…ùcÂX…íæ=vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php†ùcÂX†yÐSR¶%vendor/composer/spdx-licenses/LICENSEùcÂXBhí¶2vendor/composer/spdx-licenses/src/SpdxLicenses.phpçùcÂXç·U vendor/composer/semver/LICENSEùcÂXBhí¶)vendor/composer/semver/src/Comparator.phpùcÂXwlƒï¶<vendor/composer/semver/src/Constraint/AbstractConstraint.php×ùcÂX×õî>Ž¶4vendor/composer/semver/src/Constraint/Constraint.phpª ùcÂXª ÇO7²¶=vendor/composer/semver/src/Constraint/ConstraintInterface.phpßùcÂXß0C,‡¶9vendor/composer/semver/src/Constraint/EmptyConstraint.phpéùcÂXé!-Ø™¶9vendor/composer/semver/src/Constraint/MultiConstraint.php1ùcÂX1í xU¶%vendor/composer/semver/src/Semver.phpvùcÂXv‹×È›¶,vendor/composer/semver/src/VersionParser.php¿*ùcÂX¿*)mƶ!vendor/composer/ca-bundle/LICENSEùcÂX*!^`¶*vendor/composer/ca-bundle/src/CaBundle.php½ùcÂX½evendor/psr/log/LICENSE=ùcÂX=p±ŽO¶)vendor/psr/log/Psr/Log/AbstractLogger.php;ùcÂX;ñ>3[¶3vendor/psr/log/Psr/Log/InvalidArgumentException.php`ùcÂX` ˆX1¶#vendor/psr/log/Psr/Log/LogLevel.phpûùcÂXûjðñ8¶/vendor/psr/log/Psr/Log/LoggerAwareInterface.php|ùcÂX|$£ˆ¶+vendor/psr/log/Psr/Log/LoggerAwareTrait.php§ùcÂX§T½úB¶*vendor/psr/log/Psr/Log/LoggerInterface.phpÆùcÂXÆ»sg¶&vendor/psr/log/Psr/Log/LoggerTrait.phpiùcÂXi35§Þ¶%vendor/psr/log/Psr/Log/NullLogger.phpžùcÂXžÇÃ3vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.phpü ùcÂXü iq0ضvendor/autoload.phpùcÂX·Ž¯Ž¶'vendor/composer/autoload_namespaces.phpdùcÂXdZ¡¦H¶!vendor/composer/autoload_psr4.php˜ùcÂX˜ž{¢¶%vendor/composer/autoload_classmap.phpdùcÂXdZ¡¦H¶"vendor/composer/autoload_files.phpÃùcÂXÃÒÂür¶!vendor/composer/autoload_real.phpIùcÂXI)±¸ˆ¶#vendor/composer/autoload_static.php¬ ùcÂX¬ Ú[@.¶vendor/composer/ClassLoader.phpœùcÂXœ¥ÂåN¶(vendor/composer/ca-bundle/res/cacert.pemÿùcÂXÿ-=Jn¶ bin/composerùcÂXíeGš¶LICENSE.ùcÂX. Õ<?php
namespace Composer\Autoload;
use Composer\Config;
use Composer\EventDispatcher\EventDispatcher;
use Composer\Installer\InstallationManager;
use Composer\IO\IOInterface;
use Composer\Package\AliasPackage;
use Composer\Package\PackageInterface;
use Composer\Repository\InstalledRepositoryInterface;
use Composer\Util\Filesystem;
use Composer\Script\ScriptEvents;
class AutoloadGenerator
{
private $eventDispatcher;
private $io;
private $devMode = false;
private $classMapAuthoritative = false;
private $apcu = false;
private $runScripts = false;
public function __construct(EventDispatcher $eventDispatcher, IOInterface $io = null)
{
$this->eventDispatcher = $eventDispatcher;
$this->io = $io;
}
public function setDevMode($devMode = true)
{
$this->devMode = (bool) $devMode;
}
public function setClassMapAuthoritative($classMapAuthoritative)
{
$this->classMapAuthoritative = (bool) $classMapAuthoritative;
}
public function setApcu($apcu)
{
$this->apcu = (bool) $apcu;
}
public function setRunScripts($runScripts = true)
{
$this->runScripts = (bool) $runScripts;
}
public function dump(Config $config, InstalledRepositoryInterface $localRepo, PackageInterface $mainPackage, InstallationManager $installationManager, $targetDir, $scanPsr0Packages = false, $suffix = '')
{
if ($this->classMapAuthoritative) {
$scanPsr0Packages = true;
}
if ($this->runScripts) {
$this->eventDispatcher->dispatchScript(ScriptEvents::PRE_AUTOLOAD_DUMP, $this->devMode, array(), array(
'optimize' => (bool) $scanPsr0Packages,
));
}
$filesystem = new Filesystem();
$filesystem->ensureDirectoryExists($config->get('vendor-dir'));
$basePath = $filesystem->normalizePath(realpath(realpath(getcwd())));
$vendorPath = $filesystem->normalizePath(realpath(realpath($config->get('vendor-dir'))));
$useGlobalIncludePath = (bool) $config->get('use-include-path');
$prependAutoloader = $config->get('prepend-autoloader') === false ? 'false' : 'true';
$targetDir = $vendorPath.'/'.$targetDir;
$filesystem->ensureDirectoryExists($targetDir);
$vendorPathCode = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true);
$vendorPathCode52 = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode);
$vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true);
$appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true);
$appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode);
$namespacesFile = <<<EOF
<?php
// autoload_namespaces.php @generated by Composer
\$vendorDir = $vendorPathCode52;
\$baseDir = $appBaseDirCode;
return array(
EOF;
$psr4File = <<<EOF
<?php
// autoload_psr4.php @generated by Composer
\$vendorDir = $vendorPathCode52;
\$baseDir = $appBaseDirCode;
return array(
EOF;
$packageMap = $this->buildPackageMap($installationManager, $mainPackage, $localRepo->getCanonicalPackages());
$autoloads = $this->parseAutoloads($packageMap, $mainPackage);
foreach ($autoloads['psr-0'] as $namespace => $paths) {
$exportedPaths = array();
foreach ($paths as $path) {
$exportedPaths[] = $this->getPathCode($filesystem, $basePath, $vendorPath, $path);
}
$exportedPrefix = var_export($namespace, true);
$namespacesFile .= " $exportedPrefix => ";
$namespacesFile .= "array(".implode(', ', $exportedPaths)."),\n";
}
$namespacesFile .= ");\n";
foreach ($autoloads['psr-4'] as $namespace => $paths) {
$exportedPaths = array();
foreach ($paths as $path) {
$exportedPaths[] = $this->getPathCode($filesystem, $basePath, $vendorPath, $path);
}
$exportedPrefix = var_export($namespace, true);
$psr4File .= " $exportedPrefix => ";
$psr4File .= "array(".implode(', ', $exportedPaths)."),\n";
}
$psr4File .= ");\n";
$classmapFile = <<<EOF
<?php
// autoload_classmap.php @generated by Composer
\$vendorDir = $vendorPathCode52;
\$baseDir = $appBaseDirCode;
return array(
EOF;
$targetDirLoader = null;
$mainAutoload = $mainPackage->getAutoload();
if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) {
$levels = count(explode('/', $filesystem->normalizePath($mainPackage->getTargetDir())));
$prefixes = implode(', ', array_map(function ($prefix) {
return var_export($prefix, true);
}, array_keys($mainAutoload['psr-0'])));
$baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true);
$targetDirLoader = <<<EOF
public static function autoload(\$class)
{
\$dir = $baseDirFromTargetDirCode . '/';
\$prefixes = array($prefixes);
foreach (\$prefixes as \$prefix) {
if (0 !== strpos(\$class, \$prefix)) {
continue;
}
\$path = \$dir . implode('/', array_slice(explode('\\\\', \$class), $levels)).'.php';
if (!\$path = stream_resolve_include_path(\$path)) {
return false;
}
require \$path;
return true;
}
}
EOF;
}
$blacklist = null;
if (!empty($autoloads['exclude-from-classmap'])) {
$blacklist = '{(' . implode('|', $autoloads['exclude-from-classmap']) . ')}';
}
$classMap = array();
if ($scanPsr0Packages) {
$namespacesToScan = array();
foreach (array('psr-0', 'psr-4') as $psrType) {
foreach ($autoloads[$psrType] as $namespace => $paths) {
$namespacesToScan[$namespace][] = array('paths' => $paths, 'type' => $psrType);
}
}
krsort($namespacesToScan);
foreach ($namespacesToScan as $namespace => $groups) {
foreach ($groups as $group) {
foreach ($group['paths'] as $dir) {
$dir = $filesystem->normalizePath($filesystem->isAbsolutePath($dir) ? $dir : $basePath.'/'.$dir);
if (!is_dir($dir)) {
continue;
}
$namespaceFilter = $namespace === '' ? null : $namespace;
$classMap = $this->addClassMapCode($filesystem, $basePath, $vendorPath, $dir, $blacklist, $namespaceFilter, $classMap);
}
}
}
}
foreach ($autoloads['classmap'] as $dir) {
$classMap = $this->addClassMapCode($filesystem, $basePath, $vendorPath, $dir, $blacklist, null, $classMap);
}
ksort($classMap);
foreach ($classMap as $class => $code) {
$classmapFile .= ' '.var_export($class, true).' => '.$code;
}
$classmapFile .= ");\n";
if (!$suffix) {
if (!$config->get('autoloader-suffix') && is_readable($vendorPath.'/autoload.php')) {
$content = file_get_contents($vendorPath.'/autoload.php');
if (preg_match('{ComposerAutoloaderInit([^:\s]+)::}', $content, $match)) {
$suffix = $match[1];
}
}
if (!$suffix) {
$suffix = $config->get('autoloader-suffix') ?: md5(uniqid('', true));
}
}
file_put_contents($targetDir.'/autoload_namespaces.php', $namespacesFile);
file_put_contents($targetDir.'/autoload_psr4.php', $psr4File);
file_put_contents($targetDir.'/autoload_classmap.php', $classmapFile);
$includePathFilePath = $targetDir.'/include_paths.php';
if ($includePathFileContents = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $vendorPath, $vendorPathCode52, $appBaseDirCode)) {
file_put_contents($includePathFilePath, $includePathFileContents);
} elseif (file_exists($includePathFilePath)) {
unlink($includePathFilePath);
}
$includeFilesFilePath = $targetDir.'/autoload_files.php';
if ($includeFilesFileContents = $this->getIncludeFilesFile($autoloads['files'], $filesystem, $basePath, $vendorPath, $vendorPathCode52, $appBaseDirCode)) {
file_put_contents($includeFilesFilePath, $includeFilesFileContents);
} elseif (file_exists($includeFilesFilePath)) {
unlink($includeFilesFilePath);
}
file_put_contents($targetDir.'/autoload_static.php', $this->getStaticFile($suffix, $targetDir, $vendorPath, $basePath, $staticPhpVersion));
file_put_contents($vendorPath.'/autoload.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
file_put_contents($targetDir.'/autoload_real.php', $this->getAutoloadRealFile(true, (bool) $includePathFileContents, $targetDirLoader, (bool) $includeFilesFileContents, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion));
$this->safeCopy(__DIR__.'/ClassLoader.php', $targetDir.'/ClassLoader.php');
$this->safeCopy(__DIR__.'/../../../LICENSE', $targetDir.'/LICENSE');
if ($this->runScripts) {
$this->eventDispatcher->dispatchScript(ScriptEvents::POST_AUTOLOAD_DUMP, $this->devMode, array(), array(
'optimize' => (bool) $scanPsr0Packages,
));
}
}
private function addClassMapCode($filesystem, $basePath, $vendorPath, $dir, $blacklist = null, $namespaceFilter = null, array $classMap = array())
{
foreach ($this->generateClassMap($dir, $blacklist, $namespaceFilter) as $class => $path) {
$pathCode = $this->getPathCode($filesystem, $basePath, $vendorPath, $path).",\n";
if (!isset($classMap[$class])) {
$classMap[$class] = $pathCode;
} elseif ($this->io && $classMap[$class] !== $pathCode && !preg_match('{/(test|fixture|example|stub)s?/}i', strtr($classMap[$class].' '.$path, '\\', '/'))) {
$this->io->writeError(
'<warning>Warning: Ambiguous class resolution, "'.$class.'"'.
' was found in both "'.str_replace(array('$vendorDir . \'', "',\n"), array($vendorPath, ''), $classMap[$class]).'" and "'.$path.'", the first will be used.</warning>'
);
}
}
return $classMap;
}
private function generateClassMap($dir, $blacklist = null, $namespaceFilter = null, $showAmbiguousWarning = true)
{
return ClassMapGenerator::createMap($dir, $blacklist, $showAmbiguousWarning ? $this->io : null, $namespaceFilter);
}
public function buildPackageMap(InstallationManager $installationManager, PackageInterface $mainPackage, array $packages)
{
$packageMap = array(array($mainPackage, ''));
foreach ($packages as $package) {
if ($package instanceof AliasPackage) {
continue;
}
$this->validatePackage($package);
$packageMap[] = array(
$package,
$installationManager->getInstallPath($package),
);
}
return $packageMap;
}
protected function validatePackage(PackageInterface $package)
{
$autoload = $package->getAutoload();
if (!empty($autoload['psr-4']) && null !== $package->getTargetDir()) {
$name = $package->getName();
$package->getTargetDir();
throw new \InvalidArgumentException("PSR-4 autoloading is incompatible with the target-dir property, remove the target-dir in package '$name'.");
}
if (!empty($autoload['psr-4'])) {
foreach ($autoload['psr-4'] as $namespace => $dirs) {
if ($namespace !== '' && '\\' !== substr($namespace, -1)) {
throw new \InvalidArgumentException("psr-4 namespaces must end with a namespace separator, '$namespace' does not, use '$namespace\\'.");
}
}
}
}
public function parseAutoloads(array $packageMap, PackageInterface $mainPackage)
{
$mainPackageMap = array_shift($packageMap);
$sortedPackageMap = $this->sortPackageMap($packageMap);
$sortedPackageMap[] = $mainPackageMap;
array_unshift($packageMap, $mainPackageMap);
$psr0 = $this->parseAutoloadsType($packageMap, 'psr-0', $mainPackage);
$psr4 = $this->parseAutoloadsType($packageMap, 'psr-4', $mainPackage);
$classmap = $this->parseAutoloadsType(array_reverse($sortedPackageMap), 'classmap', $mainPackage);
$files = $this->parseAutoloadsType($sortedPackageMap, 'files', $mainPackage);
$exclude = $this->parseAutoloadsType($sortedPackageMap, 'exclude-from-classmap', $mainPackage);
krsort($psr0);
krsort($psr4);
return array(
'psr-0' => $psr0,
'psr-4' => $psr4,
'classmap' => $classmap,
'files' => $files,
'exclude-from-classmap' => $exclude,
);
}
public function createLoader(array $autoloads)
{
$loader = new ClassLoader();
if (isset($autoloads['psr-0'])) {
foreach ($autoloads['psr-0'] as $namespace => $path) {
$loader->add($namespace, $path);
}
}
if (isset($autoloads['psr-4'])) {
foreach ($autoloads['psr-4'] as $namespace => $path) {
$loader->addPsr4($namespace, $path);
}
}
if (isset($autoloads['classmap'])) {
foreach ($autoloads['classmap'] as $dir) {
try {
$loader->addClassMap($this->generateClassMap($dir, null, null, false));
} catch (\RuntimeException $e) {
$this->io->writeError('<warning>'.$e->getMessage().'</warning>');
}
}
}
return $loader;
}
protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode)
{
$includePaths = array();
foreach ($packageMap as $item) {
list($package, $installPath) = $item;
if (null !== $package->getTargetDir() && strlen($package->getTargetDir()) > 0) {
$installPath = substr($installPath, 0, -strlen('/'.$package->getTargetDir()));
}
foreach ($package->getIncludePaths() as $includePath) {
$includePath = trim($includePath, '/');
$includePaths[] = empty($installPath) ? $includePath : $installPath.'/'.$includePath;
}
}
if (!$includePaths) {
return;
}
$includePathsCode = '';
foreach ($includePaths as $path) {
$includePathsCode .= " " . $this->getPathCode($filesystem, $basePath, $vendorPath, $path) . ",\n";
}
return <<<EOF
<?php
// include_paths.php @generated by Composer
\$vendorDir = $vendorPathCode;
\$baseDir = $appBaseDirCode;
return array(
$includePathsCode);
EOF;
}
protected function getIncludeFilesFile(array $files, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode)
{
$filesCode = '';
foreach ($files as $fileIdentifier => $functionFile) {
$filesCode .= ' ' . var_export($fileIdentifier, true) . ' => '
. $this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile) . ",\n";
}
if (!$filesCode) {
return false;
}
return <<<EOF
<?php
// autoload_files.php @generated by Composer
\$vendorDir = $vendorPathCode;
\$baseDir = $appBaseDirCode;
return array(
$filesCode);
EOF;
}
protected function getPathCode(Filesystem $filesystem, $basePath, $vendorPath, $path)
{
if (!$filesystem->isAbsolutePath($path)) {
$path = $basePath . '/' . $path;
}
$path = $filesystem->normalizePath($path);
$baseDir = '';
if (strpos($path.'/', $vendorPath.'/') === 0) {
$path = substr($path, strlen($vendorPath));
$baseDir = '$vendorDir';
if ($path !== false) {
$baseDir .= " . ";
}
} else {
$path = $filesystem->normalizePath($filesystem->findShortestPath($basePath, $path, true));
if (!$filesystem->isAbsolutePath($path)) {
$baseDir = '$baseDir . ';
$path = '/' . $path;
}
}
if (preg_match('/\.phar$/', $path)) {
$baseDir = "'phar://' . " . $baseDir;
}
return $baseDir . (($path !== false) ? var_export($path, true) : "");
}
protected function getAutoloadFile($vendorPathToTargetDirCode, $suffix)
{
$lastChar = $vendorPathToTargetDirCode[strlen($vendorPathToTargetDirCode) - 1];
if ("'" === $lastChar || '"' === $lastChar) {
$vendorPathToTargetDirCode = substr($vendorPathToTargetDirCode, 0, -1).'/autoload_real.php'.$lastChar;
} else {
$vendorPathToTargetDirCode .= " . '/autoload_real.php'";
}
return <<<AUTOLOAD
<?php
// autoload.php @generated by Composer
require_once $vendorPathToTargetDirCode;
return ComposerAutoloaderInit$suffix::getLoader();
AUTOLOAD;
}
protected function getAutoloadRealFile($useClassMap, $useIncludePath, $targetDirLoader, $useIncludeFiles, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion = 70000)
{
$file = <<<HEADER
<?php
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit$suffix
{
private static \$loader;
public static function loadClassLoader(\$class)
{
if ('Composer\\Autoload\\ClassLoader' === \$class) {
require __DIR__ . '/ClassLoader.php';
}
}
public static function getLoader()
{
if (null !== self::\$loader) {
return self::\$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'), true, $prependAutoloader);
self::\$loader = \$loader = new \\Composer\\Autoload\\ClassLoader();
spl_autoload_unregister(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'));
HEADER;
if ($useIncludePath) {
$file .= <<<'INCLUDE_PATH'
$includePaths = require __DIR__ . '/include_paths.php';
array_push($includePaths, get_include_path());
set_include_path(implode(PATH_SEPARATOR, $includePaths));
INCLUDE_PATH;
}
$file .= <<<STATIC_INIT
\$useStaticLoader = PHP_VERSION_ID >= $staticPhpVersion && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if (\$useStaticLoader) {
require_once __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit$suffix::getInitializer(\$loader));
} else {
STATIC_INIT;
if (!$this->classMapAuthoritative) {
$file .= <<<'PSR04'
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
PSR04;
}
if ($useClassMap) {
$file .= <<<'CLASSMAP'
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
CLASSMAP;
}
$file .= " }\n\n";
if ($this->classMapAuthoritative) {
$file .= <<<'CLASSMAPAUTHORITATIVE'
$loader->setClassMapAuthoritative(true);
CLASSMAPAUTHORITATIVE;
}
if ($this->apcu) {
$apcuPrefix = substr(base64_encode(md5(uniqid('', true), true)), 0, -3);
$file .= <<<APCU
\$loader->setApcuPrefix('$apcuPrefix');
APCU;
}
if ($useGlobalIncludePath) {
$file .= <<<'INCLUDEPATH'
$loader->setUseIncludePath(true);
INCLUDEPATH;
}
if ($targetDirLoader) {
$file .= <<<REGISTER_TARGET_DIR_AUTOLOAD
spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'), true, true);
REGISTER_TARGET_DIR_AUTOLOAD;
}
$file .= <<<REGISTER_LOADER
\$loader->register($prependAutoloader);
REGISTER_LOADER;
if ($useIncludeFiles) {
$file .= <<<INCLUDE_FILES
if (\$useStaticLoader) {
\$includeFiles = Composer\Autoload\ComposerStaticInit$suffix::\$files;
} else {
\$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach (\$includeFiles as \$fileIdentifier => \$file) {
composerRequire$suffix(\$fileIdentifier, \$file);
}
INCLUDE_FILES;
}
$file .= <<<METHOD_FOOTER
return \$loader;
}
METHOD_FOOTER;
$file .= $targetDirLoader;
if ($useIncludeFiles) {
return $file . <<<FOOTER
}
function composerRequire$suffix(\$fileIdentifier, \$file)
{
if (empty(\$GLOBALS['__composer_autoload_files'][\$fileIdentifier])) {
require \$file;
\$GLOBALS['__composer_autoload_files'][\$fileIdentifier] = true;
}
}
FOOTER;
}
return $file . <<<FOOTER
}
FOOTER;
}
protected function getStaticFile($suffix, $targetDir, $vendorPath, $basePath, &$staticPhpVersion)
{
$staticPhpVersion = 50600;
$file = <<<HEADER
<?php
// autoload_static.php @generated by Composer
namespace Composer\Autoload;
class ComposerStaticInit$suffix
{
HEADER;
$loader = new ClassLoader();
$map = require $targetDir . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);