dependabot-composer 0.111.52 → 0.111.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (907) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -908
  3. data/helpers/vendor/autoload.php +0 -7
  4. data/helpers/vendor/bin/composer +0 -1
  5. data/helpers/vendor/bin/jsonlint +0 -1
  6. data/helpers/vendor/bin/validate-json +0 -1
  7. data/helpers/vendor/composer/ClassLoader.php +0 -445
  8. data/helpers/vendor/composer/LICENSE +0 -21
  9. data/helpers/vendor/composer/autoload_classmap.php +0 -10
  10. data/helpers/vendor/composer/autoload_files.php +0 -12
  11. data/helpers/vendor/composer/autoload_namespaces.php +0 -9
  12. data/helpers/vendor/composer/autoload_psr4.php +0 -28
  13. data/helpers/vendor/composer/autoload_real.php +0 -70
  14. data/helpers/vendor/composer/autoload_static.php +0 -144
  15. data/helpers/vendor/composer/ca-bundle/LICENSE +0 -19
  16. data/helpers/vendor/composer/ca-bundle/README.md +0 -85
  17. data/helpers/vendor/composer/ca-bundle/composer.json +0 -54
  18. data/helpers/vendor/composer/ca-bundle/res/cacert.pem +0 -3507
  19. data/helpers/vendor/composer/ca-bundle/src/CaBundle.php +0 -310
  20. data/helpers/vendor/composer/composer/.editorconfig +0 -11
  21. data/helpers/vendor/composer/composer/.gitattributes +0 -17
  22. data/helpers/vendor/composer/composer/.gitignore +0 -11
  23. data/helpers/vendor/composer/composer/CHANGELOG.md +0 -828
  24. data/helpers/vendor/composer/composer/LICENSE +0 -19
  25. data/helpers/vendor/composer/composer/PORTING_INFO +0 -39
  26. data/helpers/vendor/composer/composer/README.md +0 -62
  27. data/helpers/vendor/composer/composer/bin/compile +0 -31
  28. data/helpers/vendor/composer/composer/bin/composer +0 -62
  29. data/helpers/vendor/composer/composer/composer.json +0 -86
  30. data/helpers/vendor/composer/composer/composer.lock +0 -1800
  31. data/helpers/vendor/composer/composer/doc/00-intro.md +0 -156
  32. data/helpers/vendor/composer/composer/doc/01-basic-usage.md +0 -266
  33. data/helpers/vendor/composer/composer/doc/02-libraries.md +0 -153
  34. data/helpers/vendor/composer/composer/doc/03-cli.md +0 -941
  35. data/helpers/vendor/composer/composer/doc/04-schema.md +0 -924
  36. data/helpers/vendor/composer/composer/doc/05-repositories.md +0 -717
  37. data/helpers/vendor/composer/composer/doc/06-config.md +0 -299
  38. data/helpers/vendor/composer/composer/doc/07-community.md +0 -35
  39. data/helpers/vendor/composer/composer/doc/articles/aliases.md +0 -111
  40. data/helpers/vendor/composer/composer/doc/articles/autoloader-optimization.md +0 -111
  41. data/helpers/vendor/composer/composer/doc/articles/custom-installers.md +0 -204
  42. data/helpers/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md +0 -356
  43. data/helpers/vendor/composer/composer/doc/articles/http-basic-authentication.md +0 -59
  44. data/helpers/vendor/composer/composer/doc/articles/plugins.md +0 -290
  45. data/helpers/vendor/composer/composer/doc/articles/scripts.md +0 -357
  46. data/helpers/vendor/composer/composer/doc/articles/troubleshooting.md +0 -309
  47. data/helpers/vendor/composer/composer/doc/articles/vendor-binaries.md +0 -110
  48. data/helpers/vendor/composer/composer/doc/articles/versions.md +0 -230
  49. data/helpers/vendor/composer/composer/doc/dev/DefaultPolicy.md +0 -55
  50. data/helpers/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +0 -50
  51. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +0 -42
  52. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +0 -19
  53. data/helpers/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +0 -32
  54. data/helpers/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +0 -4
  55. data/helpers/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +0 -21
  56. data/helpers/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +0 -21
  57. data/helpers/vendor/composer/composer/doc/faqs/why-can't-composer-load-repositories-recursively.md +0 -35
  58. data/helpers/vendor/composer/composer/doc/fixtures/fixtures.md +0 -22
  59. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +0 -158
  60. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +0 -50
  61. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +0 -77
  62. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +0 -50
  63. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +0 -16
  64. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +0 -22
  65. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +0 -9
  66. data/helpers/vendor/composer/composer/res/composer-repository-schema.json +0 -110
  67. data/helpers/vendor/composer/composer/res/composer-schema.json +0 -847
  68. data/helpers/vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php +0 -1013
  69. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassLoader.php +0 -445
  70. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassMapGenerator.php +0 -222
  71. data/helpers/vendor/composer/composer/src/Composer/Cache.php +0 -257
  72. data/helpers/vendor/composer/composer/src/Composer/Command/AboutCommand.php +0 -46
  73. data/helpers/vendor/composer/composer/src/Composer/Command/ArchiveCommand.php +0 -166
  74. data/helpers/vendor/composer/composer/src/Composer/Command/BaseCommand.php +0 -181
  75. data/helpers/vendor/composer/composer/src/Composer/Command/BaseDependencyCommand.php +0 -255
  76. data/helpers/vendor/composer/composer/src/Composer/Command/CheckPlatformReqsCommand.php +0 -162
  77. data/helpers/vendor/composer/composer/src/Composer/Command/ClearCacheCommand.php +0 -74
  78. data/helpers/vendor/composer/composer/src/Composer/Command/ConfigCommand.php +0 -722
  79. data/helpers/vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php +0 -387
  80. data/helpers/vendor/composer/composer/src/Composer/Command/DependsCommand.php +0 -57
  81. data/helpers/vendor/composer/composer/src/Composer/Command/DiagnoseCommand.php +0 -729
  82. data/helpers/vendor/composer/composer/src/Composer/Command/DumpAutoloadCommand.php +0 -88
  83. data/helpers/vendor/composer/composer/src/Composer/Command/ExecCommand.php +0 -97
  84. data/helpers/vendor/composer/composer/src/Composer/Command/GlobalCommand.php +0 -111
  85. data/helpers/vendor/composer/composer/src/Composer/Command/HomeCommand.php +0 -168
  86. data/helpers/vendor/composer/composer/src/Composer/Command/InitCommand.php +0 -820
  87. data/helpers/vendor/composer/composer/src/Composer/Command/InstallCommand.php +0 -124
  88. data/helpers/vendor/composer/composer/src/Composer/Command/LicensesCommand.php +0 -159
  89. data/helpers/vendor/composer/composer/src/Composer/Command/OutdatedCommand.php +0 -95
  90. data/helpers/vendor/composer/composer/src/Composer/Command/ProhibitsCommand.php +0 -57
  91. data/helpers/vendor/composer/composer/src/Composer/Command/RemoveCommand.php +0 -163
  92. data/helpers/vendor/composer/composer/src/Composer/Command/RequireCommand.php +0 -267
  93. data/helpers/vendor/composer/composer/src/Composer/Command/RunScriptCommand.php +0 -142
  94. data/helpers/vendor/composer/composer/src/Composer/Command/ScriptAliasCommand.php +0 -66
  95. data/helpers/vendor/composer/composer/src/Composer/Command/SearchCommand.php +0 -83
  96. data/helpers/vendor/composer/composer/src/Composer/Command/SelfUpdateCommand.php +0 -405
  97. data/helpers/vendor/composer/composer/src/Composer/Command/ShowCommand.php +0 -1015
  98. data/helpers/vendor/composer/composer/src/Composer/Command/StatusCommand.php +0 -214
  99. data/helpers/vendor/composer/composer/src/Composer/Command/SuggestsCommand.php +0 -152
  100. data/helpers/vendor/composer/composer/src/Composer/Command/UpdateCommand.php +0 -228
  101. data/helpers/vendor/composer/composer/src/Composer/Command/ValidateCommand.php +0 -172
  102. data/helpers/vendor/composer/composer/src/Composer/Compiler.php +0 -284
  103. data/helpers/vendor/composer/composer/src/Composer/Composer.php +0 -283
  104. data/helpers/vendor/composer/composer/src/Composer/Config.php +0 -479
  105. data/helpers/vendor/composer/composer/src/Composer/Config/ConfigSourceInterface.php +0 -91
  106. data/helpers/vendor/composer/composer/src/Composer/Config/JsonConfigSource.php +0 -271
  107. data/helpers/vendor/composer/composer/src/Composer/Console/Application.php +0 -494
  108. data/helpers/vendor/composer/composer/src/Composer/Console/HtmlOutputFormatter.php +0 -90
  109. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Decisions.php +0 -211
  110. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/DefaultPolicy.php +0 -285
  111. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php +0 -91
  112. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/InstallOperation.php +0 -66
  113. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php +0 -67
  114. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php +0 -67
  115. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/OperationInterface.php +0 -42
  116. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/SolverOperation.php +0 -50
  117. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UninstallOperation.php +0 -66
  118. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php +0 -80
  119. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/PolicyInterface.php +0 -27
  120. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php +0 -378
  121. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Problem.php +0 -257
  122. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Request.php +0 -78
  123. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule.php +0 -268
  124. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule2Literals.php +0 -113
  125. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php +0 -176
  126. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php +0 -376
  127. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetIterator.php +0 -94
  128. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php +0 -52
  129. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchGraph.php +0 -144
  130. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchNode.php +0 -113
  131. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php +0 -874
  132. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverBugException.php +0 -27
  133. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverProblemsException.php +0 -88
  134. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Transaction.php +0 -244
  135. data/helpers/vendor/composer/composer/src/Composer/Downloader/ArchiveDownloader.php +0 -135
  136. data/helpers/vendor/composer/composer/src/Composer/Downloader/ChangeReportInterface.php +0 -32
  137. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloadManager.php +0 -325
  138. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloaderInterface.php +0 -64
  139. data/helpers/vendor/composer/composer/src/Composer/Downloader/DvcsDownloaderInterface.php +0 -32
  140. data/helpers/vendor/composer/composer/src/Composer/Downloader/FileDownloader.php +0 -322
  141. data/helpers/vendor/composer/composer/src/Composer/Downloader/FilesystemException.php +0 -26
  142. data/helpers/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +0 -116
  143. data/helpers/vendor/composer/composer/src/Composer/Downloader/GitDownloader.php +0 -517
  144. data/helpers/vendor/composer/composer/src/Composer/Downloader/GzipDownloader.php +0 -84
  145. data/helpers/vendor/composer/composer/src/Composer/Downloader/HgDownloader.php +0 -100
  146. data/helpers/vendor/composer/composer/src/Composer/Downloader/PathDownloader.php +0 -224
  147. data/helpers/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php +0 -266
  148. data/helpers/vendor/composer/composer/src/Composer/Downloader/PerforceDownloader.php +0 -112
  149. data/helpers/vendor/composer/composer/src/Composer/Downloader/PharDownloader.php +0 -36
  150. data/helpers/vendor/composer/composer/src/Composer/Downloader/RarDownloader.php +0 -91
  151. data/helpers/vendor/composer/composer/src/Composer/Downloader/SvnDownloader.php +0 -225
  152. data/helpers/vendor/composer/composer/src/Composer/Downloader/TarDownloader.php +0 -31
  153. data/helpers/vendor/composer/composer/src/Composer/Downloader/TransportException.php +0 -53
  154. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsCapableDownloaderInterface.php +0 -32
  155. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsDownloader.php +0 -293
  156. data/helpers/vendor/composer/composer/src/Composer/Downloader/XzDownloader.php +0 -60
  157. data/helpers/vendor/composer/composer/src/Composer/Downloader/ZipDownloader.php +0 -230
  158. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/Event.php +0 -103
  159. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php +0 -544
  160. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventSubscriberInterface.php +0 -48
  161. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/ScriptExecutionException.php +0 -20
  162. data/helpers/vendor/composer/composer/src/Composer/Exception/NoSslException.php +0 -20
  163. data/helpers/vendor/composer/composer/src/Composer/Factory.php +0 -653
  164. data/helpers/vendor/composer/composer/src/Composer/IO/BaseIO.php +0 -263
  165. data/helpers/vendor/composer/composer/src/Composer/IO/BufferIO.php +0 -86
  166. data/helpers/vendor/composer/composer/src/Composer/IO/ConsoleIO.php +0 -322
  167. data/helpers/vendor/composer/composer/src/Composer/IO/IOInterface.php +0 -207
  168. data/helpers/vendor/composer/composer/src/Composer/IO/NullIO.php +0 -129
  169. data/helpers/vendor/composer/composer/src/Composer/Installer.php +0 -1803
  170. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php +0 -214
  171. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryPresenceInterface.php +0 -30
  172. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallationManager.php +0 -326
  173. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvent.php +0 -161
  174. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvents.php +0 -43
  175. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerInterface.php +0 -79
  176. data/helpers/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php +0 -232
  177. data/helpers/vendor/composer/composer/src/Composer/Installer/MetapackageInstaller.php +0 -100
  178. data/helpers/vendor/composer/composer/src/Composer/Installer/NoopInstaller.php +0 -88
  179. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvent.php +0 -65
  180. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvents.php +0 -75
  181. data/helpers/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php +0 -144
  182. data/helpers/vendor/composer/composer/src/Composer/Installer/PearInstaller.php +0 -84
  183. data/helpers/vendor/composer/composer/src/Composer/Installer/PluginInstaller.php +0 -84
  184. data/helpers/vendor/composer/composer/src/Composer/Installer/ProjectInstaller.php +0 -99
  185. data/helpers/vendor/composer/composer/src/Composer/Installer/SuggestedPackagesReporter.php +0 -151
  186. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFile.php +0 -306
  187. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFormatter.php +0 -134
  188. data/helpers/vendor/composer/composer/src/Composer/Json/JsonManipulator.php +0 -522
  189. data/helpers/vendor/composer/composer/src/Composer/Json/JsonValidationException.php +0 -34
  190. data/helpers/vendor/composer/composer/src/Composer/Package/AliasPackage.php +0 -414
  191. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFilter.php +0 -44
  192. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFinder.php +0 -105
  193. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiveManager.php +0 -183
  194. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiverInterface.php +0 -43
  195. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/BaseExcludeFilter.php +0 -148
  196. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php +0 -31
  197. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/GitExcludeFilter.php +0 -79
  198. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/HgExcludeFilter.php +0 -107
  199. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/PharArchiver.php +0 -97
  200. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ZipArchiver.php +0 -74
  201. data/helpers/vendor/composer/composer/src/Composer/Package/BasePackage.php +0 -251
  202. data/helpers/vendor/composer/composer/src/Composer/Package/Comparer/Comparer.php +0 -129
  203. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackage.php +0 -199
  204. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackageInterface.php +0 -95
  205. data/helpers/vendor/composer/composer/src/Composer/Package/Dumper/ArrayDumper.php +0 -151
  206. data/helpers/vendor/composer/composer/src/Composer/Package/Link.php +0 -128
  207. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php +0 -24
  208. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php +0 -24
  209. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php +0 -24
  210. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php +0 -24
  211. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php +0 -24
  212. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +0 -290
  213. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/InvalidPackageException.php +0 -46
  214. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/JsonLoader.php +0 -45
  215. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/LoaderInterface.php +0 -30
  216. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php +0 -264
  217. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php +0 -499
  218. data/helpers/vendor/composer/composer/src/Composer/Package/Locker.php +0 -438
  219. data/helpers/vendor/composer/composer/src/Composer/Package/Package.php +0 -612
  220. data/helpers/vendor/composer/composer/src/Composer/Package/PackageInterface.php +0 -389
  221. data/helpers/vendor/composer/composer/src/Composer/Package/RootAliasPackage.php +0 -173
  222. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackage.php +0 -136
  223. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackageInterface.php +0 -142
  224. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionGuesser.php +0 -302
  225. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php +0 -81
  226. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionSelector.php +0 -176
  227. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/Capability.php +0 -23
  228. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/CommandProvider.php +0 -33
  229. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capable.php +0 -43
  230. data/helpers/vendor/composer/composer/src/Composer/Plugin/CommandEvent.php +0 -88
  231. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginEvents.php +0 -61
  232. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginInterface.php +0 -39
  233. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginManager.php +0 -406
  234. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreCommandRunEvent.php +0 -68
  235. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreFileDownloadEvent.php +0 -78
  236. data/helpers/vendor/composer/composer/src/Composer/Question/StrictConfirmationQuestion.php +0 -94
  237. data/helpers/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php +0 -208
  238. data/helpers/vendor/composer/composer/src/Composer/Repository/ArtifactRepository.php +0 -107
  239. data/helpers/vendor/composer/composer/src/Composer/Repository/BaseRepository.php +0 -157
  240. data/helpers/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php +0 -833
  241. data/helpers/vendor/composer/composer/src/Composer/Repository/CompositeRepository.php +0 -164
  242. data/helpers/vendor/composer/composer/src/Composer/Repository/ConfigurableRepositoryInterface.php +0 -23
  243. data/helpers/vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php +0 -97
  244. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledArrayRepository.php +0 -24
  245. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledFilesystemRepository.php +0 -22
  246. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledRepositoryInterface.php +0 -24
  247. data/helpers/vendor/composer/composer/src/Composer/Repository/InvalidRepositoryException.php +0 -22
  248. data/helpers/vendor/composer/composer/src/Composer/Repository/PackageRepository.php +0 -61
  249. data/helpers/vendor/composer/composer/src/Composer/Repository/PathRepository.php +0 -190
  250. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php +0 -82
  251. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php +0 -67
  252. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php +0 -101
  253. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php +0 -164
  254. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php +0 -139
  255. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php +0 -60
  256. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php +0 -50
  257. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php +0 -317
  258. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php +0 -94
  259. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php +0 -50
  260. data/helpers/vendor/composer/composer/src/Composer/Repository/PearRepository.php +0 -198
  261. data/helpers/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php +0 -342
  262. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryFactory.php +0 -169
  263. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryInterface.php +0 -74
  264. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryManager.php +0 -177
  265. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositorySecurityException.php +0 -22
  266. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/BitbucketDriver.php +0 -452
  267. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +0 -243
  268. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitBitbucketDriver.php +0 -91
  269. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +0 -226
  270. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitHubDriver.php +0 -476
  271. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitLabDriver.php +0 -518
  272. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgBitbucketDriver.php +0 -91
  273. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +0 -236
  274. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/PerforceDriver.php +0 -186
  275. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/SvnDriver.php +0 -397
  276. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriver.php +0 -175
  277. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriverInterface.php +0 -117
  278. data/helpers/vendor/composer/composer/src/Composer/Repository/VcsRepository.php +0 -410
  279. data/helpers/vendor/composer/composer/src/Composer/Repository/VersionCacheInterface.php +0 -23
  280. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableArrayRepository.php +0 -66
  281. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableRepositoryInterface.php +0 -54
  282. data/helpers/vendor/composer/composer/src/Composer/Script/CommandEvent.php +0 -22
  283. data/helpers/vendor/composer/composer/src/Composer/Script/Event.php +0 -133
  284. data/helpers/vendor/composer/composer/src/Composer/Script/PackageEvent.php +0 -24
  285. data/helpers/vendor/composer/composer/src/Composer/Script/ScriptEvents.php +0 -193
  286. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Keys.php +0 -36
  287. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Versions.php +0 -75
  288. data/helpers/vendor/composer/composer/src/Composer/Util/AuthHelper.php +0 -63
  289. data/helpers/vendor/composer/composer/src/Composer/Util/Bitbucket.php +0 -245
  290. data/helpers/vendor/composer/composer/src/Composer/Util/ComposerMirror.php +0 -57
  291. data/helpers/vendor/composer/composer/src/Composer/Util/ConfigValidator.php +0 -191
  292. data/helpers/vendor/composer/composer/src/Composer/Util/ErrorHandler.php +0 -82
  293. data/helpers/vendor/composer/composer/src/Composer/Util/Filesystem.php +0 -715
  294. data/helpers/vendor/composer/composer/src/Composer/Util/Git.php +0 -374
  295. data/helpers/vendor/composer/composer/src/Composer/Util/GitHub.php +0 -180
  296. data/helpers/vendor/composer/composer/src/Composer/Util/GitLab.php +0 -172
  297. data/helpers/vendor/composer/composer/src/Composer/Util/Hg.php +0 -94
  298. data/helpers/vendor/composer/composer/src/Composer/Util/IniHelper.php +0 -64
  299. data/helpers/vendor/composer/composer/src/Composer/Util/NoProxyPattern.php +0 -147
  300. data/helpers/vendor/composer/composer/src/Composer/Util/PackageSorter.php +0 -92
  301. data/helpers/vendor/composer/composer/src/Composer/Util/Perforce.php +0 -579
  302. data/helpers/vendor/composer/composer/src/Composer/Util/Platform.php +0 -92
  303. data/helpers/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php +0 -193
  304. data/helpers/vendor/composer/composer/src/Composer/Util/RemoteFilesystem.php +0 -1126
  305. data/helpers/vendor/composer/composer/src/Composer/Util/Silencer.php +0 -78
  306. data/helpers/vendor/composer/composer/src/Composer/Util/SpdxLicense.php +0 -24
  307. data/helpers/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +0 -177
  308. data/helpers/vendor/composer/composer/src/Composer/Util/Svn.php +0 -381
  309. data/helpers/vendor/composer/composer/src/Composer/Util/TlsHelper.php +0 -202
  310. data/helpers/vendor/composer/composer/src/Composer/Util/Url.php +0 -55
  311. data/helpers/vendor/composer/composer/src/Composer/Util/Zip.php +0 -108
  312. data/helpers/vendor/composer/composer/src/Composer/XdebugHandler.php +0 -31
  313. data/helpers/vendor/composer/composer/src/bootstrap.php +0 -24
  314. data/helpers/vendor/composer/installed.json +0 -1051
  315. data/helpers/vendor/composer/semver/CHANGELOG.md +0 -72
  316. data/helpers/vendor/composer/semver/LICENSE +0 -19
  317. data/helpers/vendor/composer/semver/README.md +0 -70
  318. data/helpers/vendor/composer/semver/composer.json +0 -58
  319. data/helpers/vendor/composer/semver/src/Comparator.php +0 -111
  320. data/helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php +0 -63
  321. data/helpers/vendor/composer/semver/src/Constraint/Constraint.php +0 -219
  322. data/helpers/vendor/composer/semver/src/Constraint/ConstraintInterface.php +0 -32
  323. data/helpers/vendor/composer/semver/src/Constraint/EmptyConstraint.php +0 -59
  324. data/helpers/vendor/composer/semver/src/Constraint/MultiConstraint.php +0 -120
  325. data/helpers/vendor/composer/semver/src/Semver.php +0 -127
  326. data/helpers/vendor/composer/semver/src/VersionParser.php +0 -540
  327. data/helpers/vendor/composer/spdx-licenses/.php_cs.dist +0 -59
  328. data/helpers/vendor/composer/spdx-licenses/CHANGELOG.md +0 -94
  329. data/helpers/vendor/composer/spdx-licenses/LICENSE +0 -19
  330. data/helpers/vendor/composer/spdx-licenses/README.md +0 -69
  331. data/helpers/vendor/composer/spdx-licenses/composer.json +0 -56
  332. data/helpers/vendor/composer/spdx-licenses/res/spdx-exceptions.json +0 -110
  333. data/helpers/vendor/composer/spdx-licenses/res/spdx-licenses.json +0 -1982
  334. data/helpers/vendor/composer/spdx-licenses/src/SpdxLicenses.php +0 -343
  335. data/helpers/vendor/composer/xdebug-handler/CHANGELOG.md +0 -59
  336. data/helpers/vendor/composer/xdebug-handler/LICENSE +0 -21
  337. data/helpers/vendor/composer/xdebug-handler/README.md +0 -288
  338. data/helpers/vendor/composer/xdebug-handler/composer.json +0 -40
  339. data/helpers/vendor/composer/xdebug-handler/src/PhpConfig.php +0 -73
  340. data/helpers/vendor/composer/xdebug-handler/src/Process.php +0 -170
  341. data/helpers/vendor/composer/xdebug-handler/src/Status.php +0 -163
  342. data/helpers/vendor/composer/xdebug-handler/src/XdebugHandler.php +0 -565
  343. data/helpers/vendor/justinrainbow/json-schema/.gitattributes +0 -5
  344. data/helpers/vendor/justinrainbow/json-schema/.php_cs.dist +0 -30
  345. data/helpers/vendor/justinrainbow/json-schema/LICENSE +0 -21
  346. data/helpers/vendor/justinrainbow/json-schema/README.md +0 -206
  347. data/helpers/vendor/justinrainbow/json-schema/bin/validate-json +0 -251
  348. data/helpers/vendor/justinrainbow/json-schema/composer.json +0 -76
  349. data/helpers/vendor/justinrainbow/json-schema/demo/README.md +0 -14
  350. data/helpers/vendor/justinrainbow/json-schema/demo/data.json +0 -3
  351. data/helpers/vendor/justinrainbow/json-schema/demo/demo.php +0 -18
  352. data/helpers/vendor/justinrainbow/json-schema/demo/schema.json +0 -3
  353. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-03.json +0 -174
  354. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-04.json +0 -150
  355. data/helpers/vendor/justinrainbow/json-schema/phpunit.xml.dist +0 -26
  356. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php +0 -148
  357. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php +0 -121
  358. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php +0 -213
  359. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php +0 -65
  360. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php +0 -54
  361. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php +0 -220
  362. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php +0 -214
  363. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php +0 -81
  364. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php +0 -192
  365. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php +0 -94
  366. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php +0 -60
  367. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php +0 -68
  368. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php +0 -40
  369. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php +0 -18
  370. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php +0 -261
  371. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php +0 -413
  372. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php +0 -161
  373. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.php +0 -7
  374. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php +0 -17
  375. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.php +0 -17
  376. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.php +0 -17
  377. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php +0 -17
  378. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php +0 -17
  379. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php +0 -40
  380. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php +0 -17
  381. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php +0 -17
  382. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php +0 -19
  383. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php +0 -17
  384. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.php +0 -14
  385. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.php +0 -149
  386. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php +0 -30
  387. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php +0 -169
  388. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php +0 -41
  389. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php +0 -34
  390. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +0 -83
  391. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php +0 -93
  392. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php +0 -56
  393. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php +0 -36
  394. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php +0 -175
  395. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php +0 -349
  396. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.php +0 -26
  397. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php +0 -26
  398. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php +0 -90
  399. data/helpers/vendor/psr/container/.gitignore +0 -3
  400. data/helpers/vendor/psr/container/LICENSE +0 -21
  401. data/helpers/vendor/psr/container/README.md +0 -5
  402. data/helpers/vendor/psr/container/composer.json +0 -27
  403. data/helpers/vendor/psr/container/src/ContainerExceptionInterface.php +0 -13
  404. data/helpers/vendor/psr/container/src/ContainerInterface.php +0 -37
  405. data/helpers/vendor/psr/container/src/NotFoundExceptionInterface.php +0 -13
  406. data/helpers/vendor/psr/log/.gitignore +0 -1
  407. data/helpers/vendor/psr/log/LICENSE +0 -19
  408. data/helpers/vendor/psr/log/Psr/Log/AbstractLogger.php +0 -128
  409. data/helpers/vendor/psr/log/Psr/Log/InvalidArgumentException.php +0 -7
  410. data/helpers/vendor/psr/log/Psr/Log/LogLevel.php +0 -18
  411. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +0 -18
  412. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +0 -26
  413. data/helpers/vendor/psr/log/Psr/Log/LoggerInterface.php +0 -123
  414. data/helpers/vendor/psr/log/Psr/Log/LoggerTrait.php +0 -140
  415. data/helpers/vendor/psr/log/Psr/Log/NullLogger.php +0 -28
  416. data/helpers/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +0 -144
  417. data/helpers/vendor/psr/log/Psr/Log/Test/TestLogger.php +0 -146
  418. data/helpers/vendor/psr/log/README.md +0 -52
  419. data/helpers/vendor/psr/log/composer.json +0 -26
  420. data/helpers/vendor/seld/jsonlint/.gitignore +0 -3
  421. data/helpers/vendor/seld/jsonlint/.travis.yml +0 -25
  422. data/helpers/vendor/seld/jsonlint/CHANGELOG.md +0 -66
  423. data/helpers/vendor/seld/jsonlint/LICENSE +0 -19
  424. data/helpers/vendor/seld/jsonlint/README.md +0 -89
  425. data/helpers/vendor/seld/jsonlint/bin/jsonlint +0 -117
  426. data/helpers/vendor/seld/jsonlint/composer.json +0 -24
  427. data/helpers/vendor/seld/jsonlint/phpunit.xml.dist +0 -25
  428. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php +0 -26
  429. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php +0 -502
  430. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php +0 -217
  431. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php +0 -28
  432. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php +0 -16
  433. data/helpers/vendor/seld/jsonlint/tests/JsonParserTest.php +0 -230
  434. data/helpers/vendor/seld/jsonlint/tests/bom.json +0 -6
  435. data/helpers/vendor/seld/jsonlint/tests/bootstrap.php +0 -13
  436. data/helpers/vendor/seld/phar-utils/.gitignore +0 -1
  437. data/helpers/vendor/seld/phar-utils/LICENSE +0 -19
  438. data/helpers/vendor/seld/phar-utils/README.md +0 -39
  439. data/helpers/vendor/seld/phar-utils/composer.json +0 -26
  440. data/helpers/vendor/seld/phar-utils/composer.lock +0 -19
  441. data/helpers/vendor/seld/phar-utils/src/Timestamps.php +0 -192
  442. data/helpers/vendor/symfony/console/.gitignore +0 -3
  443. data/helpers/vendor/symfony/console/Application.php +0 -1194
  444. data/helpers/vendor/symfony/console/CHANGELOG.md +0 -148
  445. data/helpers/vendor/symfony/console/Command/Command.php +0 -654
  446. data/helpers/vendor/symfony/console/Command/HelpCommand.php +0 -81
  447. data/helpers/vendor/symfony/console/Command/ListCommand.php +0 -90
  448. data/helpers/vendor/symfony/console/Command/LockableTrait.php +0 -71
  449. data/helpers/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +0 -46
  450. data/helpers/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +0 -64
  451. data/helpers/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +0 -62
  452. data/helpers/vendor/symfony/console/ConsoleEvents.php +0 -47
  453. data/helpers/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +0 -98
  454. data/helpers/vendor/symfony/console/Descriptor/ApplicationDescription.php +0 -144
  455. data/helpers/vendor/symfony/console/Descriptor/Descriptor.php +0 -107
  456. data/helpers/vendor/symfony/console/Descriptor/DescriptorInterface.php +0 -31
  457. data/helpers/vendor/symfony/console/Descriptor/JsonDescriptor.php +0 -170
  458. data/helpers/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +0 -182
  459. data/helpers/vendor/symfony/console/Descriptor/TextDescriptor.php +0 -342
  460. data/helpers/vendor/symfony/console/Descriptor/XmlDescriptor.php +0 -245
  461. data/helpers/vendor/symfony/console/Event/ConsoleCommandEvent.php +0 -60
  462. data/helpers/vendor/symfony/console/Event/ConsoleErrorEvent.php +0 -58
  463. data/helpers/vendor/symfony/console/Event/ConsoleEvent.php +0 -67
  464. data/helpers/vendor/symfony/console/Event/ConsoleTerminateEvent.php +0 -53
  465. data/helpers/vendor/symfony/console/EventListener/ErrorListener.php +0 -91
  466. data/helpers/vendor/symfony/console/Exception/CommandNotFoundException.php +0 -43
  467. data/helpers/vendor/symfony/console/Exception/ExceptionInterface.php +0 -21
  468. data/helpers/vendor/symfony/console/Exception/InvalidArgumentException.php +0 -19
  469. data/helpers/vendor/symfony/console/Exception/InvalidOptionException.php +0 -21
  470. data/helpers/vendor/symfony/console/Exception/LogicException.php +0 -19
  471. data/helpers/vendor/symfony/console/Exception/NamespaceNotFoundException.php +0 -21
  472. data/helpers/vendor/symfony/console/Exception/RuntimeException.php +0 -19
  473. data/helpers/vendor/symfony/console/Formatter/OutputFormatter.php +0 -284
  474. data/helpers/vendor/symfony/console/Formatter/OutputFormatterInterface.php +0 -71
  475. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyle.php +0 -197
  476. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +0 -62
  477. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +0 -110
  478. data/helpers/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php +0 -25
  479. data/helpers/vendor/symfony/console/Helper/DebugFormatterHelper.php +0 -127
  480. data/helpers/vendor/symfony/console/Helper/DescriptorHelper.php +0 -94
  481. data/helpers/vendor/symfony/console/Helper/Dumper.php +0 -64
  482. data/helpers/vendor/symfony/console/Helper/FormatterHelper.php +0 -106
  483. data/helpers/vendor/symfony/console/Helper/Helper.php +0 -138
  484. data/helpers/vendor/symfony/console/Helper/HelperInterface.php +0 -39
  485. data/helpers/vendor/symfony/console/Helper/HelperSet.php +0 -108
  486. data/helpers/vendor/symfony/console/Helper/InputAwareHelper.php +0 -33
  487. data/helpers/vendor/symfony/console/Helper/ProcessHelper.php +0 -156
  488. data/helpers/vendor/symfony/console/Helper/ProgressBar.php +0 -545
  489. data/helpers/vendor/symfony/console/Helper/ProgressIndicator.php +0 -269
  490. data/helpers/vendor/symfony/console/Helper/QuestionHelper.php +0 -479
  491. data/helpers/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +0 -96
  492. data/helpers/vendor/symfony/console/Helper/Table.php +0 -813
  493. data/helpers/vendor/symfony/console/Helper/TableCell.php +0 -68
  494. data/helpers/vendor/symfony/console/Helper/TableRows.php +0 -32
  495. data/helpers/vendor/symfony/console/Helper/TableSeparator.php +0 -25
  496. data/helpers/vendor/symfony/console/Helper/TableStyle.php +0 -458
  497. data/helpers/vendor/symfony/console/Input/ArgvInput.php +0 -365
  498. data/helpers/vendor/symfony/console/Input/ArrayInput.php +0 -206
  499. data/helpers/vendor/symfony/console/Input/Input.php +0 -203
  500. data/helpers/vendor/symfony/console/Input/InputArgument.php +0 -129
  501. data/helpers/vendor/symfony/console/Input/InputAwareInterface.php +0 -26
  502. data/helpers/vendor/symfony/console/Input/InputDefinition.php +0 -404
  503. data/helpers/vendor/symfony/console/Input/InputInterface.php +0 -163
  504. data/helpers/vendor/symfony/console/Input/InputOption.php +0 -208
  505. data/helpers/vendor/symfony/console/Input/StreamableInputInterface.php +0 -37
  506. data/helpers/vendor/symfony/console/Input/StringInput.php +0 -72
  507. data/helpers/vendor/symfony/console/LICENSE +0 -19
  508. data/helpers/vendor/symfony/console/Logger/ConsoleLogger.php +0 -124
  509. data/helpers/vendor/symfony/console/Output/BufferedOutput.php +0 -45
  510. data/helpers/vendor/symfony/console/Output/ConsoleOutput.php +0 -161
  511. data/helpers/vendor/symfony/console/Output/ConsoleOutputInterface.php +0 -32
  512. data/helpers/vendor/symfony/console/Output/ConsoleSectionOutput.php +0 -141
  513. data/helpers/vendor/symfony/console/Output/NullOutput.php +0 -123
  514. data/helpers/vendor/symfony/console/Output/Output.php +0 -177
  515. data/helpers/vendor/symfony/console/Output/OutputInterface.php +0 -114
  516. data/helpers/vendor/symfony/console/Output/StreamOutput.php +0 -124
  517. data/helpers/vendor/symfony/console/Question/ChoiceQuestion.php +0 -182
  518. data/helpers/vendor/symfony/console/Question/ConfirmationQuestion.php +0 -59
  519. data/helpers/vendor/symfony/console/Question/Question.php +0 -277
  520. data/helpers/vendor/symfony/console/README.md +0 -20
  521. data/helpers/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
  522. data/helpers/vendor/symfony/console/Style/OutputStyle.php +0 -155
  523. data/helpers/vendor/symfony/console/Style/StyleInterface.php +0 -154
  524. data/helpers/vendor/symfony/console/Style/SymfonyStyle.php +0 -438
  525. data/helpers/vendor/symfony/console/Terminal.php +0 -137
  526. data/helpers/vendor/symfony/console/Tester/ApplicationTester.php +0 -77
  527. data/helpers/vendor/symfony/console/Tester/CommandTester.php +0 -78
  528. data/helpers/vendor/symfony/console/Tester/TesterTrait.php +0 -177
  529. data/helpers/vendor/symfony/console/Tests/ApplicationTest.php +0 -1836
  530. data/helpers/vendor/symfony/console/Tests/Command/CommandTest.php +0 -436
  531. data/helpers/vendor/symfony/console/Tests/Command/HelpCommandTest.php +0 -71
  532. data/helpers/vendor/symfony/console/Tests/Command/ListCommandTest.php +0 -113
  533. data/helpers/vendor/symfony/console/Tests/Command/LockableTraitTest.php +0 -67
  534. data/helpers/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php +0 -61
  535. data/helpers/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php +0 -60
  536. data/helpers/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php +0 -258
  537. data/helpers/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php +0 -107
  538. data/helpers/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php +0 -35
  539. data/helpers/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php +0 -45
  540. data/helpers/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php +0 -82
  541. data/helpers/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php +0 -53
  542. data/helpers/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php +0 -27
  543. data/helpers/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php +0 -156
  544. data/helpers/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php +0 -11
  545. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php +0 -18
  546. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php +0 -26
  547. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php +0 -24
  548. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php +0 -27
  549. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php +0 -32
  550. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php +0 -27
  551. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php +0 -25
  552. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php +0 -32
  553. data/helpers/vendor/symfony/console/Tests/Fixtures/DummyOutput.php +0 -36
  554. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo1Command.php +0 -26
  555. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo2Command.php +0 -21
  556. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo3Command.php +0 -29
  557. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo4Command.php +0 -11
  558. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo5Command.php +0 -10
  559. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +0 -11
  560. data/helpers/vendor/symfony/console/Tests/Fixtures/FooCommand.php +0 -33
  561. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php +0 -28
  562. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php +0 -27
  563. data/helpers/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php +0 -36
  564. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php +0 -11
  565. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php +0 -11
  566. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php +0 -26
  567. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php +0 -26
  568. data/helpers/vendor/symfony/console/Tests/Fixtures/FooWithoutAliasCommand.php +0 -21
  569. data/helpers/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php +0 -25
  570. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php +0 -11
  571. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php +0 -13
  572. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php +0 -17
  573. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php +0 -12
  574. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php +0 -13
  575. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php +0 -14
  576. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php +0 -17
  577. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php +0 -14
  578. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php +0 -15
  579. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php +0 -13
  580. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php +0 -16
  581. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php +0 -12
  582. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php +0 -34
  583. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4_with_iterators.php +0 -34
  584. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +0 -37
  585. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php +0 -16
  586. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php +0 -15
  587. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php +0 -26
  588. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php +0 -11
  589. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php +0 -19
  590. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt +0 -7
  591. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt +0 -3
  592. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt +0 -9
  593. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt +0 -7
  594. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt +0 -4
  595. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt +0 -6
  596. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt +0 -7
  597. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt +0 -6
  598. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt +0 -7
  599. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt +0 -8
  600. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt +0 -7
  601. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt +0 -13
  602. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt +0 -7
  603. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt +0 -32
  604. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4_with_iterators.txt +0 -32
  605. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +0 -18
  606. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt +0 -6
  607. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +0 -5
  608. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt +0 -9
  609. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt +0 -5
  610. data/helpers/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering.php +0 -22
  611. data/helpers/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering2.php +0 -21
  612. data/helpers/vendor/symfony/console/Tests/Fixtures/TestCommand.php +0 -28
  613. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.json +0 -156
  614. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.md +0 -172
  615. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.txt +0 -17
  616. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.xml +0 -104
  617. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.json +0 -509
  618. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.md +0 -431
  619. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.txt +0 -21
  620. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.xml +0 -254
  621. data/helpers/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt +0 -16
  622. data/helpers/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt +0 -1
  623. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.md +0 -269
  624. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt +0 -19
  625. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt +0 -5
  626. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt +0 -7
  627. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt +0 -18
  628. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt +0 -18
  629. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt +0 -6
  630. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt +0 -8
  631. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt +0 -8
  632. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt +0 -9
  633. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt +0 -9
  634. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt +0 -11
  635. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run1.txt +0 -17
  636. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run2.txt +0 -29
  637. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run3.txt +0 -29
  638. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run4.txt +0 -1
  639. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.json +0 -15
  640. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.md +0 -12
  641. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.txt +0 -10
  642. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.xml +0 -12
  643. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.json +0 -33
  644. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.md +0 -29
  645. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.txt +0 -16
  646. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.xml +0 -21
  647. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.md +0 -29
  648. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt +0 -16
  649. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.json +0 -7
  650. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.md +0 -5
  651. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt +0 -1
  652. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml +0 -5
  653. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.json +0 -7
  654. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.md +0 -7
  655. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt +0 -1
  656. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml +0 -5
  657. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.json +0 -7
  658. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.md +0 -7
  659. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt +0 -1
  660. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml +0 -7
  661. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.json +0 -7
  662. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.md +0 -8
  663. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt +0 -2
  664. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml +0 -6
  665. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json +0 -7
  666. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md +0 -7
  667. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt +0 -1
  668. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml +0 -7
  669. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json +0 -7
  670. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md +0 -7
  671. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt +0 -1
  672. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml +0 -7
  673. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.json +0 -4
  674. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.md +0 -0
  675. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt +0 -0
  676. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml +0 -5
  677. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.json +0 -12
  678. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.md +0 -7
  679. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt +0 -2
  680. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml +0 -10
  681. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.json +0 -14
  682. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.md +0 -8
  683. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt +0 -2
  684. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml +0 -9
  685. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.json +0 -22
  686. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.md +0 -16
  687. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt +0 -5
  688. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml +0 -14
  689. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.json +0 -9
  690. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.md +0 -6
  691. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.txt +0 -1
  692. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.xml +0 -4
  693. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.json +0 -9
  694. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.md +0 -8
  695. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.txt +0 -1
  696. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.xml +0 -7
  697. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.json +0 -9
  698. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.md +0 -8
  699. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.txt +0 -1
  700. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.xml +0 -5
  701. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.json +0 -9
  702. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.md +0 -8
  703. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.txt +0 -1
  704. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.xml +0 -5
  705. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.json +0 -9
  706. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.md +0 -9
  707. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.txt +0 -2
  708. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.xml +0 -6
  709. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.json +0 -9
  710. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.md +0 -8
  711. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.txt +0 -1
  712. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.xml +0 -5
  713. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json +0 -9
  714. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md +0 -8
  715. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt +0 -1
  716. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml +0 -7
  717. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json +0 -9
  718. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md +0 -8
  719. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt +0 -1
  720. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml +0 -7
  721. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json +0 -12
  722. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md +0 -8
  723. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt +0 -1
  724. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml +0 -8
  725. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php +0 -71
  726. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php +0 -115
  727. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +0 -350
  728. data/helpers/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php +0 -34
  729. data/helpers/vendor/symfony/console/Tests/Helper/DumperNativeFallbackTest.php +0 -58
  730. data/helpers/vendor/symfony/console/Tests/Helper/DumperTest.php +0 -58
  731. data/helpers/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php +0 -129
  732. data/helpers/vendor/symfony/console/Tests/Helper/HelperSetTest.php +0 -127
  733. data/helpers/vendor/symfony/console/Tests/Helper/HelperTest.php +0 -55
  734. data/helpers/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +0 -133
  735. data/helpers/vendor/symfony/console/Tests/Helper/ProgressBarTest.php +0 -947
  736. data/helpers/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php +0 -183
  737. data/helpers/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +0 -789
  738. data/helpers/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +0 -168
  739. data/helpers/vendor/symfony/console/Tests/Helper/TableStyleTest.php +0 -28
  740. data/helpers/vendor/symfony/console/Tests/Helper/TableTest.php +0 -1199
  741. data/helpers/vendor/symfony/console/Tests/Input/ArgvInputTest.php +0 -466
  742. data/helpers/vendor/symfony/console/Tests/Input/ArrayInputTest.php +0 -177
  743. data/helpers/vendor/symfony/console/Tests/Input/InputArgumentTest.php +0 -103
  744. data/helpers/vendor/symfony/console/Tests/Input/InputDefinitionTest.php +0 -407
  745. data/helpers/vendor/symfony/console/Tests/Input/InputOptionTest.php +0 -196
  746. data/helpers/vendor/symfony/console/Tests/Input/InputTest.php +0 -149
  747. data/helpers/vendor/symfony/console/Tests/Input/StringInputTest.php +0 -87
  748. data/helpers/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php +0 -215
  749. data/helpers/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php +0 -42
  750. data/helpers/vendor/symfony/console/Tests/Output/ConsoleSectionOutputTest.php +0 -163
  751. data/helpers/vendor/symfony/console/Tests/Output/NullOutputTest.php +0 -88
  752. data/helpers/vendor/symfony/console/Tests/Output/OutputTest.php +0 -189
  753. data/helpers/vendor/symfony/console/Tests/Output/StreamOutputTest.php +0 -61
  754. data/helpers/vendor/symfony/console/Tests/Question/ChoiceQuestionTest.php +0 -64
  755. data/helpers/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php +0 -62
  756. data/helpers/vendor/symfony/console/Tests/Question/QuestionTest.php +0 -304
  757. data/helpers/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php +0 -118
  758. data/helpers/vendor/symfony/console/Tests/TerminalTest.php +0 -59
  759. data/helpers/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +0 -113
  760. data/helpers/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +0 -235
  761. data/helpers/vendor/symfony/console/composer.json +0 -59
  762. data/helpers/vendor/symfony/console/phpunit.xml.dist +0 -41
  763. data/helpers/vendor/symfony/filesystem/.gitignore +0 -3
  764. data/helpers/vendor/symfony/filesystem/CHANGELOG.md +0 -65
  765. data/helpers/vendor/symfony/filesystem/Exception/ExceptionInterface.php +0 -21
  766. data/helpers/vendor/symfony/filesystem/Exception/FileNotFoundException.php +0 -34
  767. data/helpers/vendor/symfony/filesystem/Exception/IOException.php +0 -39
  768. data/helpers/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +0 -27
  769. data/helpers/vendor/symfony/filesystem/Exception/InvalidArgumentException.php +0 -19
  770. data/helpers/vendor/symfony/filesystem/Filesystem.php +0 -768
  771. data/helpers/vendor/symfony/filesystem/LICENSE +0 -19
  772. data/helpers/vendor/symfony/filesystem/README.md +0 -13
  773. data/helpers/vendor/symfony/filesystem/Tests/ExceptionTest.php +0 -47
  774. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTest.php +0 -1750
  775. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +0 -166
  776. data/helpers/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php +0 -46
  777. data/helpers/vendor/symfony/filesystem/composer.json +0 -34
  778. data/helpers/vendor/symfony/filesystem/phpunit.xml.dist +0 -30
  779. data/helpers/vendor/symfony/finder/.gitignore +0 -3
  780. data/helpers/vendor/symfony/finder/CHANGELOG.md +0 -74
  781. data/helpers/vendor/symfony/finder/Comparator/Comparator.php +0 -98
  782. data/helpers/vendor/symfony/finder/Comparator/DateComparator.php +0 -51
  783. data/helpers/vendor/symfony/finder/Comparator/NumberComparator.php +0 -79
  784. data/helpers/vendor/symfony/finder/Exception/AccessDeniedException.php +0 -19
  785. data/helpers/vendor/symfony/finder/Exception/DirectoryNotFoundException.php +0 -19
  786. data/helpers/vendor/symfony/finder/Finder.php +0 -811
  787. data/helpers/vendor/symfony/finder/Gitignore.php +0 -107
  788. data/helpers/vendor/symfony/finder/Glob.php +0 -116
  789. data/helpers/vendor/symfony/finder/Iterator/CustomFilterIterator.php +0 -61
  790. data/helpers/vendor/symfony/finder/Iterator/DateRangeFilterIterator.php +0 -58
  791. data/helpers/vendor/symfony/finder/Iterator/DepthRangeFilterIterator.php +0 -45
  792. data/helpers/vendor/symfony/finder/Iterator/ExcludeDirectoryFilterIterator.php +0 -84
  793. data/helpers/vendor/symfony/finder/Iterator/FileTypeFilterIterator.php +0 -53
  794. data/helpers/vendor/symfony/finder/Iterator/FilecontentFilterIterator.php +0 -58
  795. data/helpers/vendor/symfony/finder/Iterator/FilenameFilterIterator.php +0 -47
  796. data/helpers/vendor/symfony/finder/Iterator/MultiplePcreFilterIterator.php +0 -112
  797. data/helpers/vendor/symfony/finder/Iterator/PathFilterIterator.php +0 -56
  798. data/helpers/vendor/symfony/finder/Iterator/RecursiveDirectoryIterator.php +0 -140
  799. data/helpers/vendor/symfony/finder/Iterator/SizeRangeFilterIterator.php +0 -57
  800. data/helpers/vendor/symfony/finder/Iterator/SortableIterator.php +0 -99
  801. data/helpers/vendor/symfony/finder/LICENSE +0 -19
  802. data/helpers/vendor/symfony/finder/README.md +0 -14
  803. data/helpers/vendor/symfony/finder/SplFileInfo.php +0 -85
  804. data/helpers/vendor/symfony/finder/Tests/Comparator/ComparatorTest.php +0 -65
  805. data/helpers/vendor/symfony/finder/Tests/Comparator/DateComparatorTest.php +0 -64
  806. data/helpers/vendor/symfony/finder/Tests/Comparator/NumberComparatorTest.php +0 -108
  807. data/helpers/vendor/symfony/finder/Tests/FinderTest.php +0 -1459
  808. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/a +0 -0
  809. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/c.neon +0 -0
  810. data/helpers/vendor/symfony/finder/Tests/Fixtures/.dot/b/d.neon +0 -0
  811. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/C/abc.dat +0 -0
  812. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/B/ab.dat +0 -0
  813. data/helpers/vendor/symfony/finder/Tests/Fixtures/A/a.dat +0 -0
  814. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy +0 -0
  815. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/B/ab.dat.copy +0 -0
  816. data/helpers/vendor/symfony/finder/Tests/Fixtures/copy/A/a.dat.copy +0 -0
  817. data/helpers/vendor/symfony/finder/Tests/Fixtures/dolor.txt +0 -2
  818. data/helpers/vendor/symfony/finder/Tests/Fixtures/ipsum.txt +0 -2
  819. data/helpers/vendor/symfony/finder/Tests/Fixtures/lorem.txt +0 -2
  820. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/.dot +0 -1
  821. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/a +0 -0
  822. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/c.neon +0 -0
  823. data/helpers/vendor/symfony/finder/Tests/Fixtures/one/b/d.neon +0 -0
  824. data/helpers/vendor/symfony/finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat +0 -0
  825. data/helpers/vendor/symfony/finder/Tests/Fixtures/with space/foo.txt b/data/helpers/vendor/symfony/finder/Tests/Fixtures/with → space/foo.txt +0 -0
  826. data/helpers/vendor/symfony/finder/Tests/GitignoreTest.php +0 -118
  827. data/helpers/vendor/symfony/finder/Tests/GlobTest.php +0 -95
  828. data/helpers/vendor/symfony/finder/Tests/Iterator/CustomFilterIteratorTest.php +0 -46
  829. data/helpers/vendor/symfony/finder/Tests/Iterator/DateRangeFilterIteratorTest.php +0 -92
  830. data/helpers/vendor/symfony/finder/Tests/Iterator/DepthRangeFilterIteratorTest.php +0 -105
  831. data/helpers/vendor/symfony/finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php +0 -110
  832. data/helpers/vendor/symfony/finder/Tests/Iterator/FileTypeFilterIteratorTest.php +0 -82
  833. data/helpers/vendor/symfony/finder/Tests/Iterator/FilecontentFilterIteratorTest.php +0 -86
  834. data/helpers/vendor/symfony/finder/Tests/Iterator/FilenameFilterIteratorTest.php +0 -54
  835. data/helpers/vendor/symfony/finder/Tests/Iterator/Iterator.php +0 -55
  836. data/helpers/vendor/symfony/finder/Tests/Iterator/IteratorTestCase.php +0 -100
  837. data/helpers/vendor/symfony/finder/Tests/Iterator/MockFileListIterator.php +0 -21
  838. data/helpers/vendor/symfony/finder/Tests/Iterator/MockSplFileInfo.php +0 -132
  839. data/helpers/vendor/symfony/finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php +0 -71
  840. data/helpers/vendor/symfony/finder/Tests/Iterator/PathFilterIteratorTest.php +0 -82
  841. data/helpers/vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php +0 -130
  842. data/helpers/vendor/symfony/finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php +0 -59
  843. data/helpers/vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php +0 -70
  844. data/helpers/vendor/symfony/finder/Tests/Iterator/SortableIteratorTest.php +0 -262
  845. data/helpers/vendor/symfony/finder/composer.json +0 -33
  846. data/helpers/vendor/symfony/finder/phpunit.xml.dist +0 -30
  847. data/helpers/vendor/symfony/polyfill-ctype/Ctype.php +0 -227
  848. data/helpers/vendor/symfony/polyfill-ctype/LICENSE +0 -19
  849. data/helpers/vendor/symfony/polyfill-ctype/README.md +0 -12
  850. data/helpers/vendor/symfony/polyfill-ctype/bootstrap.php +0 -26
  851. data/helpers/vendor/symfony/polyfill-ctype/composer.json +0 -34
  852. data/helpers/vendor/symfony/polyfill-mbstring/LICENSE +0 -19
  853. data/helpers/vendor/symfony/polyfill-mbstring/Mbstring.php +0 -800
  854. data/helpers/vendor/symfony/polyfill-mbstring/README.md +0 -13
  855. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +0 -1096
  856. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +0 -5
  857. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +0 -1104
  858. data/helpers/vendor/symfony/polyfill-mbstring/bootstrap.php +0 -58
  859. data/helpers/vendor/symfony/polyfill-mbstring/composer.json +0 -34
  860. data/helpers/vendor/symfony/polyfill-php73/LICENSE +0 -19
  861. data/helpers/vendor/symfony/polyfill-php73/Php73.php +0 -34
  862. data/helpers/vendor/symfony/polyfill-php73/README.md +0 -18
  863. data/helpers/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php +0 -14
  864. data/helpers/vendor/symfony/polyfill-php73/bootstrap.php +0 -31
  865. data/helpers/vendor/symfony/polyfill-php73/composer.json +0 -32
  866. data/helpers/vendor/symfony/process/.gitignore +0 -3
  867. data/helpers/vendor/symfony/process/CHANGELOG.md +0 -90
  868. data/helpers/vendor/symfony/process/Exception/ExceptionInterface.php +0 -21
  869. data/helpers/vendor/symfony/process/Exception/InvalidArgumentException.php +0 -21
  870. data/helpers/vendor/symfony/process/Exception/LogicException.php +0 -21
  871. data/helpers/vendor/symfony/process/Exception/ProcessFailedException.php +0 -54
  872. data/helpers/vendor/symfony/process/Exception/ProcessSignaledException.php +0 -41
  873. data/helpers/vendor/symfony/process/Exception/ProcessTimedOutException.php +0 -69
  874. data/helpers/vendor/symfony/process/Exception/RuntimeException.php +0 -21
  875. data/helpers/vendor/symfony/process/ExecutableFinder.php +0 -88
  876. data/helpers/vendor/symfony/process/InputStream.php +0 -90
  877. data/helpers/vendor/symfony/process/LICENSE +0 -19
  878. data/helpers/vendor/symfony/process/PhpExecutableFinder.php +0 -101
  879. data/helpers/vendor/symfony/process/PhpProcess.php +0 -75
  880. data/helpers/vendor/symfony/process/Pipes/AbstractPipes.php +0 -178
  881. data/helpers/vendor/symfony/process/Pipes/PipesInterface.php +0 -67
  882. data/helpers/vendor/symfony/process/Pipes/UnixPipes.php +0 -153
  883. data/helpers/vendor/symfony/process/Pipes/WindowsPipes.php +0 -191
  884. data/helpers/vendor/symfony/process/Process.php +0 -1653
  885. data/helpers/vendor/symfony/process/ProcessUtils.php +0 -69
  886. data/helpers/vendor/symfony/process/README.md +0 -13
  887. data/helpers/vendor/symfony/process/Tests/ErrorProcessInitiator.php +0 -36
  888. data/helpers/vendor/symfony/process/Tests/ExecutableFinderTest.php +0 -178
  889. data/helpers/vendor/symfony/process/Tests/KillableProcessWithOutput.php +0 -25
  890. data/helpers/vendor/symfony/process/Tests/NonStopableProcess.php +0 -47
  891. data/helpers/vendor/symfony/process/Tests/PhpExecutableFinderTest.php +0 -49
  892. data/helpers/vendor/symfony/process/Tests/PhpProcessTest.php +0 -63
  893. data/helpers/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php +0 -72
  894. data/helpers/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php +0 -137
  895. data/helpers/vendor/symfony/process/Tests/ProcessTest.php +0 -1557
  896. data/helpers/vendor/symfony/process/Tests/SignalListener.php +0 -21
  897. data/helpers/vendor/symfony/process/composer.json +0 -33
  898. data/helpers/vendor/symfony/process/phpunit.xml.dist +0 -30
  899. data/helpers/vendor/symfony/service-contracts/LICENSE +0 -19
  900. data/helpers/vendor/symfony/service-contracts/README.md +0 -9
  901. data/helpers/vendor/symfony/service-contracts/ResetInterface.php +0 -30
  902. data/helpers/vendor/symfony/service-contracts/ServiceLocatorTrait.php +0 -120
  903. data/helpers/vendor/symfony/service-contracts/ServiceProviderInterface.php +0 -36
  904. data/helpers/vendor/symfony/service-contracts/ServiceSubscriberInterface.php +0 -53
  905. data/helpers/vendor/symfony/service-contracts/ServiceSubscriberTrait.php +0 -61
  906. data/helpers/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php +0 -94
  907. data/helpers/vendor/symfony/service-contracts/composer.json +0 -34
@@ -1,1653 +0,0 @@
1
- <?php
2
-
3
- /*
4
- * This file is part of the Symfony package.
5
- *
6
- * (c) Fabien Potencier <fabien@symfony.com>
7
- *
8
- * For the full copyright and license information, please view the LICENSE
9
- * file that was distributed with this source code.
10
- */
11
-
12
- namespace Symfony\Component\Process;
13
-
14
- use Symfony\Component\Process\Exception\InvalidArgumentException;
15
- use Symfony\Component\Process\Exception\LogicException;
16
- use Symfony\Component\Process\Exception\ProcessFailedException;
17
- use Symfony\Component\Process\Exception\ProcessSignaledException;
18
- use Symfony\Component\Process\Exception\ProcessTimedOutException;
19
- use Symfony\Component\Process\Exception\RuntimeException;
20
- use Symfony\Component\Process\Pipes\PipesInterface;
21
- use Symfony\Component\Process\Pipes\UnixPipes;
22
- use Symfony\Component\Process\Pipes\WindowsPipes;
23
-
24
- /**
25
- * Process is a thin wrapper around proc_* functions to easily
26
- * start independent PHP processes.
27
- *
28
- * @author Fabien Potencier <fabien@symfony.com>
29
- * @author Romain Neutron <imprec@gmail.com>
30
- */
31
- class Process implements \IteratorAggregate
32
- {
33
- const ERR = 'err';
34
- const OUT = 'out';
35
-
36
- const STATUS_READY = 'ready';
37
- const STATUS_STARTED = 'started';
38
- const STATUS_TERMINATED = 'terminated';
39
-
40
- const STDIN = 0;
41
- const STDOUT = 1;
42
- const STDERR = 2;
43
-
44
- // Timeout Precision in seconds.
45
- const TIMEOUT_PRECISION = 0.2;
46
-
47
- const ITER_NON_BLOCKING = 1; // By default, iterating over outputs is a blocking call, use this flag to make it non-blocking
48
- const ITER_KEEP_OUTPUT = 2; // By default, outputs are cleared while iterating, use this flag to keep them in memory
49
- const ITER_SKIP_OUT = 4; // Use this flag to skip STDOUT while iterating
50
- const ITER_SKIP_ERR = 8; // Use this flag to skip STDERR while iterating
51
-
52
- private $callback;
53
- private $hasCallback = false;
54
- private $commandline;
55
- private $cwd;
56
- private $env;
57
- private $input;
58
- private $starttime;
59
- private $lastOutputTime;
60
- private $timeout;
61
- private $idleTimeout;
62
- private $exitcode;
63
- private $fallbackStatus = [];
64
- private $processInformation;
65
- private $outputDisabled = false;
66
- private $stdout;
67
- private $stderr;
68
- private $process;
69
- private $status = self::STATUS_READY;
70
- private $incrementalOutputOffset = 0;
71
- private $incrementalErrorOutputOffset = 0;
72
- private $tty;
73
- private $pty;
74
-
75
- private $useFileHandles = false;
76
- /** @var PipesInterface */
77
- private $processPipes;
78
-
79
- private $latestSignal;
80
-
81
- private static $sigchild;
82
-
83
- /**
84
- * Exit codes translation table.
85
- *
86
- * User-defined errors must use exit codes in the 64-113 range.
87
- */
88
- public static $exitCodes = [
89
- 0 => 'OK',
90
- 1 => 'General error',
91
- 2 => 'Misuse of shell builtins',
92
-
93
- 126 => 'Invoked command cannot execute',
94
- 127 => 'Command not found',
95
- 128 => 'Invalid exit argument',
96
-
97
- // signals
98
- 129 => 'Hangup',
99
- 130 => 'Interrupt',
100
- 131 => 'Quit and dump core',
101
- 132 => 'Illegal instruction',
102
- 133 => 'Trace/breakpoint trap',
103
- 134 => 'Process aborted',
104
- 135 => 'Bus error: "access to undefined portion of memory object"',
105
- 136 => 'Floating point exception: "erroneous arithmetic operation"',
106
- 137 => 'Kill (terminate immediately)',
107
- 138 => 'User-defined 1',
108
- 139 => 'Segmentation violation',
109
- 140 => 'User-defined 2',
110
- 141 => 'Write to pipe with no one reading',
111
- 142 => 'Signal raised by alarm',
112
- 143 => 'Termination (request to terminate)',
113
- // 144 - not defined
114
- 145 => 'Child process terminated, stopped (or continued*)',
115
- 146 => 'Continue if stopped',
116
- 147 => 'Stop executing temporarily',
117
- 148 => 'Terminal stop signal',
118
- 149 => 'Background process attempting to read from tty ("in")',
119
- 150 => 'Background process attempting to write to tty ("out")',
120
- 151 => 'Urgent data available on socket',
121
- 152 => 'CPU time limit exceeded',
122
- 153 => 'File size limit exceeded',
123
- 154 => 'Signal raised by timer counting virtual time: "virtual timer expired"',
124
- 155 => 'Profiling timer expired',
125
- // 156 - not defined
126
- 157 => 'Pollable event',
127
- // 158 - not defined
128
- 159 => 'Bad syscall',
129
- ];
130
-
131
- /**
132
- * @param array $command The command to run and its arguments listed as separate entries
133
- * @param string|null $cwd The working directory or null to use the working dir of the current PHP process
134
- * @param array|null $env The environment variables or null to use the same environment as the current PHP process
135
- * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input
136
- * @param int|float|null $timeout The timeout in seconds or null to disable
137
- *
138
- * @throws RuntimeException When proc_open is not installed
139
- */
140
- public function __construct($command, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60)
141
- {
142
- if (!\function_exists('proc_open')) {
143
- throw new LogicException('The Process class relies on proc_open, which is not available on your PHP installation.');
144
- }
145
-
146
- if (!\is_array($command)) {
147
- @trigger_error(sprintf('Passing a command as string when creating a "%s" instance is deprecated since Symfony 4.2, pass it as an array of its arguments instead, or use the "Process::fromShellCommandline()" constructor if you need features provided by the shell.', __CLASS__), E_USER_DEPRECATED);
148
- }
149
-
150
- $this->commandline = $command;
151
- $this->cwd = $cwd;
152
-
153
- // on Windows, if the cwd changed via chdir(), proc_open defaults to the dir where PHP was started
154
- // on Gnu/Linux, PHP builds with --enable-maintainer-zts are also affected
155
- // @see : https://bugs.php.net/bug.php?id=51800
156
- // @see : https://bugs.php.net/bug.php?id=50524
157
- if (null === $this->cwd && (\defined('ZEND_THREAD_SAFE') || '\\' === \DIRECTORY_SEPARATOR)) {
158
- $this->cwd = getcwd();
159
- }
160
- if (null !== $env) {
161
- $this->setEnv($env);
162
- }
163
-
164
- $this->setInput($input);
165
- $this->setTimeout($timeout);
166
- $this->useFileHandles = '\\' === \DIRECTORY_SEPARATOR;
167
- $this->pty = false;
168
- }
169
-
170
- /**
171
- * Creates a Process instance as a command-line to be run in a shell wrapper.
172
- *
173
- * Command-lines are parsed by the shell of your OS (/bin/sh on Unix-like, cmd.exe on Windows.)
174
- * This allows using e.g. pipes or conditional execution. In this mode, signals are sent to the
175
- * shell wrapper and not to your commands.
176
- *
177
- * In order to inject dynamic values into command-lines, we strongly recommend using placeholders.
178
- * This will save escaping values, which is not portable nor secure anyway:
179
- *
180
- * $process = Process::fromShellCommandline('my_command "$MY_VAR"');
181
- * $process->run(null, ['MY_VAR' => $theValue]);
182
- *
183
- * @param string $command The command line to pass to the shell of the OS
184
- * @param string|null $cwd The working directory or null to use the working dir of the current PHP process
185
- * @param array|null $env The environment variables or null to use the same environment as the current PHP process
186
- * @param mixed|null $input The input as stream resource, scalar or \Traversable, or null for no input
187
- * @param int|float|null $timeout The timeout in seconds or null to disable
188
- *
189
- * @throws RuntimeException When proc_open is not installed
190
- */
191
- public static function fromShellCommandline(string $command, string $cwd = null, array $env = null, $input = null, ?float $timeout = 60)
192
- {
193
- $process = new static([], $cwd, $env, $input, $timeout);
194
- $process->commandline = $command;
195
-
196
- return $process;
197
- }
198
-
199
- public function __destruct()
200
- {
201
- $this->stop(0);
202
- }
203
-
204
- public function __clone()
205
- {
206
- $this->resetProcessData();
207
- }
208
-
209
- /**
210
- * Runs the process.
211
- *
212
- * The callback receives the type of output (out or err) and
213
- * some bytes from the output in real-time. It allows to have feedback
214
- * from the independent process during execution.
215
- *
216
- * The STDOUT and STDERR are also available after the process is finished
217
- * via the getOutput() and getErrorOutput() methods.
218
- *
219
- * @param callable|null $callback A PHP callback to run whenever there is some
220
- * output available on STDOUT or STDERR
221
- * @param array $env An array of additional env vars to set when running the process
222
- *
223
- * @return int The exit status code
224
- *
225
- * @throws RuntimeException When process can't be launched
226
- * @throws RuntimeException When process stopped after receiving signal
227
- * @throws LogicException In case a callback is provided and output has been disabled
228
- *
229
- * @final
230
- */
231
- public function run(callable $callback = null, array $env = []): int
232
- {
233
- $this->start($callback, $env);
234
-
235
- return $this->wait();
236
- }
237
-
238
- /**
239
- * Runs the process.
240
- *
241
- * This is identical to run() except that an exception is thrown if the process
242
- * exits with a non-zero exit code.
243
- *
244
- * @param callable|null $callback
245
- * @param array $env An array of additional env vars to set when running the process
246
- *
247
- * @return self
248
- *
249
- * @throws ProcessFailedException if the process didn't terminate successfully
250
- *
251
- * @final
252
- */
253
- public function mustRun(callable $callback = null, array $env = [])
254
- {
255
- if (0 !== $this->run($callback, $env)) {
256
- throw new ProcessFailedException($this);
257
- }
258
-
259
- return $this;
260
- }
261
-
262
- /**
263
- * Starts the process and returns after writing the input to STDIN.
264
- *
265
- * This method blocks until all STDIN data is sent to the process then it
266
- * returns while the process runs in the background.
267
- *
268
- * The termination of the process can be awaited with wait().
269
- *
270
- * The callback receives the type of output (out or err) and some bytes from
271
- * the output in real-time while writing the standard input to the process.
272
- * It allows to have feedback from the independent process during execution.
273
- *
274
- * @param callable|null $callback A PHP callback to run whenever there is some
275
- * output available on STDOUT or STDERR
276
- * @param array $env An array of additional env vars to set when running the process
277
- *
278
- * @throws RuntimeException When process can't be launched
279
- * @throws RuntimeException When process is already running
280
- * @throws LogicException In case a callback is provided and output has been disabled
281
- */
282
- public function start(callable $callback = null, array $env = [])
283
- {
284
- if ($this->isRunning()) {
285
- throw new RuntimeException('Process is already running');
286
- }
287
-
288
- $this->resetProcessData();
289
- $this->starttime = $this->lastOutputTime = microtime(true);
290
- $this->callback = $this->buildCallback($callback);
291
- $this->hasCallback = null !== $callback;
292
- $descriptors = $this->getDescriptors();
293
-
294
- if (\is_array($commandline = $this->commandline)) {
295
- $commandline = implode(' ', array_map([$this, 'escapeArgument'], $commandline));
296
-
297
- if ('\\' !== \DIRECTORY_SEPARATOR) {
298
- // exec is mandatory to deal with sending a signal to the process
299
- $commandline = 'exec '.$commandline;
300
- }
301
- }
302
-
303
- if ($this->env) {
304
- $env += $this->env;
305
- }
306
- $env += $this->getDefaultEnv();
307
-
308
- $options = ['suppress_errors' => true];
309
-
310
- if ('\\' === \DIRECTORY_SEPARATOR) {
311
- $options['bypass_shell'] = true;
312
- $commandline = $this->prepareWindowsCommandLine($commandline, $env);
313
- } elseif (!$this->useFileHandles && $this->isSigchildEnabled()) {
314
- // last exit code is output on the fourth pipe and caught to work around --enable-sigchild
315
- $descriptors[3] = ['pipe', 'w'];
316
-
317
- // See https://unix.stackexchange.com/questions/71205/background-process-pipe-input
318
- $commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;';
319
- $commandline .= 'pid=$!; echo $pid >&3; wait $pid; code=$?; echo $code >&3; exit $code';
320
-
321
- // Workaround for the bug, when PTS functionality is enabled.
322
- // @see : https://bugs.php.net/69442
323
- $ptsWorkaround = fopen(__FILE__, 'r');
324
- }
325
-
326
- $envPairs = [];
327
- foreach ($env as $k => $v) {
328
- if (false !== $v) {
329
- $envPairs[] = $k.'='.$v;
330
- }
331
- }
332
-
333
- if (!is_dir($this->cwd)) {
334
- throw new RuntimeException(sprintf('The provided cwd "%s" does not exist.', $this->cwd));
335
- }
336
-
337
- $this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs, $options);
338
-
339
- if (!\is_resource($this->process)) {
340
- throw new RuntimeException('Unable to launch a new process.');
341
- }
342
- $this->status = self::STATUS_STARTED;
343
-
344
- if (isset($descriptors[3])) {
345
- $this->fallbackStatus['pid'] = (int) fgets($this->processPipes->pipes[3]);
346
- }
347
-
348
- if ($this->tty) {
349
- return;
350
- }
351
-
352
- $this->updateStatus(false);
353
- $this->checkTimeout();
354
- }
355
-
356
- /**
357
- * Restarts the process.
358
- *
359
- * Be warned that the process is cloned before being started.
360
- *
361
- * @param callable|null $callback A PHP callback to run whenever there is some
362
- * output available on STDOUT or STDERR
363
- * @param array $env An array of additional env vars to set when running the process
364
- *
365
- * @return $this
366
- *
367
- * @throws RuntimeException When process can't be launched
368
- * @throws RuntimeException When process is already running
369
- *
370
- * @see start()
371
- *
372
- * @final
373
- */
374
- public function restart(callable $callback = null, array $env = [])
375
- {
376
- if ($this->isRunning()) {
377
- throw new RuntimeException('Process is already running');
378
- }
379
-
380
- $process = clone $this;
381
- $process->start($callback, $env);
382
-
383
- return $process;
384
- }
385
-
386
- /**
387
- * Waits for the process to terminate.
388
- *
389
- * The callback receives the type of output (out or err) and some bytes
390
- * from the output in real-time while writing the standard input to the process.
391
- * It allows to have feedback from the independent process during execution.
392
- *
393
- * @param callable|null $callback A valid PHP callback
394
- *
395
- * @return int The exitcode of the process
396
- *
397
- * @throws RuntimeException When process timed out
398
- * @throws RuntimeException When process stopped after receiving signal
399
- * @throws LogicException When process is not yet started
400
- */
401
- public function wait(callable $callback = null)
402
- {
403
- $this->requireProcessIsStarted(__FUNCTION__);
404
-
405
- $this->updateStatus(false);
406
-
407
- if (null !== $callback) {
408
- if (!$this->processPipes->haveReadSupport()) {
409
- $this->stop(0);
410
- throw new \LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::wait"');
411
- }
412
- $this->callback = $this->buildCallback($callback);
413
- }
414
-
415
- do {
416
- $this->checkTimeout();
417
- $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen();
418
- $this->readPipes($running, '\\' !== \DIRECTORY_SEPARATOR || !$running);
419
- } while ($running);
420
-
421
- while ($this->isRunning()) {
422
- $this->checkTimeout();
423
- usleep(1000);
424
- }
425
-
426
- if ($this->processInformation['signaled'] && $this->processInformation['termsig'] !== $this->latestSignal) {
427
- throw new ProcessSignaledException($this);
428
- }
429
-
430
- return $this->exitcode;
431
- }
432
-
433
- /**
434
- * Waits until the callback returns true.
435
- *
436
- * The callback receives the type of output (out or err) and some bytes
437
- * from the output in real-time while writing the standard input to the process.
438
- * It allows to have feedback from the independent process during execution.
439
- *
440
- * @throws RuntimeException When process timed out
441
- * @throws LogicException When process is not yet started
442
- */
443
- public function waitUntil(callable $callback): bool
444
- {
445
- $this->requireProcessIsStarted(__FUNCTION__);
446
- $this->updateStatus(false);
447
-
448
- if (!$this->processPipes->haveReadSupport()) {
449
- $this->stop(0);
450
- throw new \LogicException('Pass the callback to the "Process::start" method or call enableOutput to use a callback with "Process::waitUntil".');
451
- }
452
- $callback = $this->buildCallback($callback);
453
-
454
- $ready = false;
455
- while (true) {
456
- $this->checkTimeout();
457
- $running = '\\' === \DIRECTORY_SEPARATOR ? $this->isRunning() : $this->processPipes->areOpen();
458
- $output = $this->processPipes->readAndWrite($running, '\\' !== \DIRECTORY_SEPARATOR || !$running);
459
-
460
- foreach ($output as $type => $data) {
461
- if (3 !== $type) {
462
- $ready = $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data) || $ready;
463
- } elseif (!isset($this->fallbackStatus['signaled'])) {
464
- $this->fallbackStatus['exitcode'] = (int) $data;
465
- }
466
- }
467
- if ($ready) {
468
- return true;
469
- }
470
- if (!$running) {
471
- return false;
472
- }
473
-
474
- usleep(1000);
475
- }
476
- }
477
-
478
- /**
479
- * Returns the Pid (process identifier), if applicable.
480
- *
481
- * @return int|null The process id if running, null otherwise
482
- */
483
- public function getPid()
484
- {
485
- return $this->isRunning() ? $this->processInformation['pid'] : null;
486
- }
487
-
488
- /**
489
- * Sends a POSIX signal to the process.
490
- *
491
- * @param int $signal A valid POSIX signal (see http://www.php.net/manual/en/pcntl.constants.php)
492
- *
493
- * @return $this
494
- *
495
- * @throws LogicException In case the process is not running
496
- * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed
497
- * @throws RuntimeException In case of failure
498
- */
499
- public function signal($signal)
500
- {
501
- $this->doSignal($signal, true);
502
-
503
- return $this;
504
- }
505
-
506
- /**
507
- * Disables fetching output and error output from the underlying process.
508
- *
509
- * @return $this
510
- *
511
- * @throws RuntimeException In case the process is already running
512
- * @throws LogicException if an idle timeout is set
513
- */
514
- public function disableOutput()
515
- {
516
- if ($this->isRunning()) {
517
- throw new RuntimeException('Disabling output while the process is running is not possible.');
518
- }
519
- if (null !== $this->idleTimeout) {
520
- throw new LogicException('Output can not be disabled while an idle timeout is set.');
521
- }
522
-
523
- $this->outputDisabled = true;
524
-
525
- return $this;
526
- }
527
-
528
- /**
529
- * Enables fetching output and error output from the underlying process.
530
- *
531
- * @return $this
532
- *
533
- * @throws RuntimeException In case the process is already running
534
- */
535
- public function enableOutput()
536
- {
537
- if ($this->isRunning()) {
538
- throw new RuntimeException('Enabling output while the process is running is not possible.');
539
- }
540
-
541
- $this->outputDisabled = false;
542
-
543
- return $this;
544
- }
545
-
546
- /**
547
- * Returns true in case the output is disabled, false otherwise.
548
- *
549
- * @return bool
550
- */
551
- public function isOutputDisabled()
552
- {
553
- return $this->outputDisabled;
554
- }
555
-
556
- /**
557
- * Returns the current output of the process (STDOUT).
558
- *
559
- * @return string The process output
560
- *
561
- * @throws LogicException in case the output has been disabled
562
- * @throws LogicException In case the process is not started
563
- */
564
- public function getOutput()
565
- {
566
- $this->readPipesForOutput(__FUNCTION__);
567
-
568
- if (false === $ret = stream_get_contents($this->stdout, -1, 0)) {
569
- return '';
570
- }
571
-
572
- return $ret;
573
- }
574
-
575
- /**
576
- * Returns the output incrementally.
577
- *
578
- * In comparison with the getOutput method which always return the whole
579
- * output, this one returns the new output since the last call.
580
- *
581
- * @return string The process output since the last call
582
- *
583
- * @throws LogicException in case the output has been disabled
584
- * @throws LogicException In case the process is not started
585
- */
586
- public function getIncrementalOutput()
587
- {
588
- $this->readPipesForOutput(__FUNCTION__);
589
-
590
- $latest = stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset);
591
- $this->incrementalOutputOffset = ftell($this->stdout);
592
-
593
- if (false === $latest) {
594
- return '';
595
- }
596
-
597
- return $latest;
598
- }
599
-
600
- /**
601
- * Returns an iterator to the output of the process, with the output type as keys (Process::OUT/ERR).
602
- *
603
- * @param int $flags A bit field of Process::ITER_* flags
604
- *
605
- * @throws LogicException in case the output has been disabled
606
- * @throws LogicException In case the process is not started
607
- *
608
- * @return \Generator
609
- */
610
- public function getIterator($flags = 0)
611
- {
612
- $this->readPipesForOutput(__FUNCTION__, false);
613
-
614
- $clearOutput = !(self::ITER_KEEP_OUTPUT & $flags);
615
- $blocking = !(self::ITER_NON_BLOCKING & $flags);
616
- $yieldOut = !(self::ITER_SKIP_OUT & $flags);
617
- $yieldErr = !(self::ITER_SKIP_ERR & $flags);
618
-
619
- while (null !== $this->callback || ($yieldOut && !feof($this->stdout)) || ($yieldErr && !feof($this->stderr))) {
620
- if ($yieldOut) {
621
- $out = stream_get_contents($this->stdout, -1, $this->incrementalOutputOffset);
622
-
623
- if (isset($out[0])) {
624
- if ($clearOutput) {
625
- $this->clearOutput();
626
- } else {
627
- $this->incrementalOutputOffset = ftell($this->stdout);
628
- }
629
-
630
- yield self::OUT => $out;
631
- }
632
- }
633
-
634
- if ($yieldErr) {
635
- $err = stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset);
636
-
637
- if (isset($err[0])) {
638
- if ($clearOutput) {
639
- $this->clearErrorOutput();
640
- } else {
641
- $this->incrementalErrorOutputOffset = ftell($this->stderr);
642
- }
643
-
644
- yield self::ERR => $err;
645
- }
646
- }
647
-
648
- if (!$blocking && !isset($out[0]) && !isset($err[0])) {
649
- yield self::OUT => '';
650
- }
651
-
652
- $this->checkTimeout();
653
- $this->readPipesForOutput(__FUNCTION__, $blocking);
654
- }
655
- }
656
-
657
- /**
658
- * Clears the process output.
659
- *
660
- * @return $this
661
- */
662
- public function clearOutput()
663
- {
664
- ftruncate($this->stdout, 0);
665
- fseek($this->stdout, 0);
666
- $this->incrementalOutputOffset = 0;
667
-
668
- return $this;
669
- }
670
-
671
- /**
672
- * Returns the current error output of the process (STDERR).
673
- *
674
- * @return string The process error output
675
- *
676
- * @throws LogicException in case the output has been disabled
677
- * @throws LogicException In case the process is not started
678
- */
679
- public function getErrorOutput()
680
- {
681
- $this->readPipesForOutput(__FUNCTION__);
682
-
683
- if (false === $ret = stream_get_contents($this->stderr, -1, 0)) {
684
- return '';
685
- }
686
-
687
- return $ret;
688
- }
689
-
690
- /**
691
- * Returns the errorOutput incrementally.
692
- *
693
- * In comparison with the getErrorOutput method which always return the
694
- * whole error output, this one returns the new error output since the last
695
- * call.
696
- *
697
- * @return string The process error output since the last call
698
- *
699
- * @throws LogicException in case the output has been disabled
700
- * @throws LogicException In case the process is not started
701
- */
702
- public function getIncrementalErrorOutput()
703
- {
704
- $this->readPipesForOutput(__FUNCTION__);
705
-
706
- $latest = stream_get_contents($this->stderr, -1, $this->incrementalErrorOutputOffset);
707
- $this->incrementalErrorOutputOffset = ftell($this->stderr);
708
-
709
- if (false === $latest) {
710
- return '';
711
- }
712
-
713
- return $latest;
714
- }
715
-
716
- /**
717
- * Clears the process output.
718
- *
719
- * @return $this
720
- */
721
- public function clearErrorOutput()
722
- {
723
- ftruncate($this->stderr, 0);
724
- fseek($this->stderr, 0);
725
- $this->incrementalErrorOutputOffset = 0;
726
-
727
- return $this;
728
- }
729
-
730
- /**
731
- * Returns the exit code returned by the process.
732
- *
733
- * @return int|null The exit status code, null if the Process is not terminated
734
- */
735
- public function getExitCode()
736
- {
737
- $this->updateStatus(false);
738
-
739
- return $this->exitcode;
740
- }
741
-
742
- /**
743
- * Returns a string representation for the exit code returned by the process.
744
- *
745
- * This method relies on the Unix exit code status standardization
746
- * and might not be relevant for other operating systems.
747
- *
748
- * @return string|null A string representation for the exit status code, null if the Process is not terminated
749
- *
750
- * @see http://tldp.org/LDP/abs/html/exitcodes.html
751
- * @see http://en.wikipedia.org/wiki/Unix_signal
752
- */
753
- public function getExitCodeText()
754
- {
755
- if (null === $exitcode = $this->getExitCode()) {
756
- return;
757
- }
758
-
759
- return isset(self::$exitCodes[$exitcode]) ? self::$exitCodes[$exitcode] : 'Unknown error';
760
- }
761
-
762
- /**
763
- * Checks if the process ended successfully.
764
- *
765
- * @return bool true if the process ended successfully, false otherwise
766
- */
767
- public function isSuccessful()
768
- {
769
- return 0 === $this->getExitCode();
770
- }
771
-
772
- /**
773
- * Returns true if the child process has been terminated by an uncaught signal.
774
- *
775
- * It always returns false on Windows.
776
- *
777
- * @return bool
778
- *
779
- * @throws LogicException In case the process is not terminated
780
- */
781
- public function hasBeenSignaled()
782
- {
783
- $this->requireProcessIsTerminated(__FUNCTION__);
784
-
785
- return $this->processInformation['signaled'];
786
- }
787
-
788
- /**
789
- * Returns the number of the signal that caused the child process to terminate its execution.
790
- *
791
- * It is only meaningful if hasBeenSignaled() returns true.
792
- *
793
- * @return int
794
- *
795
- * @throws RuntimeException In case --enable-sigchild is activated
796
- * @throws LogicException In case the process is not terminated
797
- */
798
- public function getTermSignal()
799
- {
800
- $this->requireProcessIsTerminated(__FUNCTION__);
801
-
802
- if ($this->isSigchildEnabled() && -1 === $this->processInformation['termsig']) {
803
- throw new RuntimeException('This PHP has been compiled with --enable-sigchild. Term signal can not be retrieved.');
804
- }
805
-
806
- return $this->processInformation['termsig'];
807
- }
808
-
809
- /**
810
- * Returns true if the child process has been stopped by a signal.
811
- *
812
- * It always returns false on Windows.
813
- *
814
- * @return bool
815
- *
816
- * @throws LogicException In case the process is not terminated
817
- */
818
- public function hasBeenStopped()
819
- {
820
- $this->requireProcessIsTerminated(__FUNCTION__);
821
-
822
- return $this->processInformation['stopped'];
823
- }
824
-
825
- /**
826
- * Returns the number of the signal that caused the child process to stop its execution.
827
- *
828
- * It is only meaningful if hasBeenStopped() returns true.
829
- *
830
- * @return int
831
- *
832
- * @throws LogicException In case the process is not terminated
833
- */
834
- public function getStopSignal()
835
- {
836
- $this->requireProcessIsTerminated(__FUNCTION__);
837
-
838
- return $this->processInformation['stopsig'];
839
- }
840
-
841
- /**
842
- * Checks if the process is currently running.
843
- *
844
- * @return bool true if the process is currently running, false otherwise
845
- */
846
- public function isRunning()
847
- {
848
- if (self::STATUS_STARTED !== $this->status) {
849
- return false;
850
- }
851
-
852
- $this->updateStatus(false);
853
-
854
- return $this->processInformation['running'];
855
- }
856
-
857
- /**
858
- * Checks if the process has been started with no regard to the current state.
859
- *
860
- * @return bool true if status is ready, false otherwise
861
- */
862
- public function isStarted()
863
- {
864
- return self::STATUS_READY != $this->status;
865
- }
866
-
867
- /**
868
- * Checks if the process is terminated.
869
- *
870
- * @return bool true if process is terminated, false otherwise
871
- */
872
- public function isTerminated()
873
- {
874
- $this->updateStatus(false);
875
-
876
- return self::STATUS_TERMINATED == $this->status;
877
- }
878
-
879
- /**
880
- * Gets the process status.
881
- *
882
- * The status is one of: ready, started, terminated.
883
- *
884
- * @return string The current process status
885
- */
886
- public function getStatus()
887
- {
888
- $this->updateStatus(false);
889
-
890
- return $this->status;
891
- }
892
-
893
- /**
894
- * Stops the process.
895
- *
896
- * @param int|float $timeout The timeout in seconds
897
- * @param int $signal A POSIX signal to send in case the process has not stop at timeout, default is SIGKILL (9)
898
- *
899
- * @return int The exit-code of the process
900
- */
901
- public function stop($timeout = 10, $signal = null)
902
- {
903
- $timeoutMicro = microtime(true) + $timeout;
904
- if ($this->isRunning()) {
905
- // given SIGTERM may not be defined and that "proc_terminate" uses the constant value and not the constant itself, we use the same here
906
- $this->doSignal(15, false);
907
- do {
908
- usleep(1000);
909
- } while ($this->isRunning() && microtime(true) < $timeoutMicro);
910
-
911
- if ($this->isRunning()) {
912
- // Avoid exception here: process is supposed to be running, but it might have stopped just
913
- // after this line. In any case, let's silently discard the error, we cannot do anything.
914
- $this->doSignal($signal ?: 9, false);
915
- }
916
- }
917
-
918
- if ($this->isRunning()) {
919
- if (isset($this->fallbackStatus['pid'])) {
920
- unset($this->fallbackStatus['pid']);
921
-
922
- return $this->stop(0, $signal);
923
- }
924
- $this->close();
925
- }
926
-
927
- return $this->exitcode;
928
- }
929
-
930
- /**
931
- * Adds a line to the STDOUT stream.
932
- *
933
- * @internal
934
- */
935
- public function addOutput(string $line)
936
- {
937
- $this->lastOutputTime = microtime(true);
938
-
939
- fseek($this->stdout, 0, SEEK_END);
940
- fwrite($this->stdout, $line);
941
- fseek($this->stdout, $this->incrementalOutputOffset);
942
- }
943
-
944
- /**
945
- * Adds a line to the STDERR stream.
946
- *
947
- * @internal
948
- */
949
- public function addErrorOutput(string $line)
950
- {
951
- $this->lastOutputTime = microtime(true);
952
-
953
- fseek($this->stderr, 0, SEEK_END);
954
- fwrite($this->stderr, $line);
955
- fseek($this->stderr, $this->incrementalErrorOutputOffset);
956
- }
957
-
958
- /**
959
- * Gets the command line to be executed.
960
- *
961
- * @return string The command to execute
962
- */
963
- public function getCommandLine()
964
- {
965
- return \is_array($this->commandline) ? implode(' ', array_map([$this, 'escapeArgument'], $this->commandline)) : $this->commandline;
966
- }
967
-
968
- /**
969
- * Sets the command line to be executed.
970
- *
971
- * @param string|array $commandline The command to execute
972
- *
973
- * @return self The current Process instance
974
- *
975
- * @deprecated since Symfony 4.2.
976
- */
977
- public function setCommandLine($commandline)
978
- {
979
- @trigger_error(sprintf('The "%s()" method is deprecated since Symfony 4.2.', __METHOD__), E_USER_DEPRECATED);
980
-
981
- $this->commandline = $commandline;
982
-
983
- return $this;
984
- }
985
-
986
- /**
987
- * Gets the process timeout (max. runtime).
988
- *
989
- * @return float|null The timeout in seconds or null if it's disabled
990
- */
991
- public function getTimeout()
992
- {
993
- return $this->timeout;
994
- }
995
-
996
- /**
997
- * Gets the process idle timeout (max. time since last output).
998
- *
999
- * @return float|null The timeout in seconds or null if it's disabled
1000
- */
1001
- public function getIdleTimeout()
1002
- {
1003
- return $this->idleTimeout;
1004
- }
1005
-
1006
- /**
1007
- * Sets the process timeout (max. runtime).
1008
- *
1009
- * To disable the timeout, set this value to null.
1010
- *
1011
- * @param int|float|null $timeout The timeout in seconds
1012
- *
1013
- * @return self The current Process instance
1014
- *
1015
- * @throws InvalidArgumentException if the timeout is negative
1016
- */
1017
- public function setTimeout($timeout)
1018
- {
1019
- $this->timeout = $this->validateTimeout($timeout);
1020
-
1021
- return $this;
1022
- }
1023
-
1024
- /**
1025
- * Sets the process idle timeout (max. time since last output).
1026
- *
1027
- * To disable the timeout, set this value to null.
1028
- *
1029
- * @param int|float|null $timeout The timeout in seconds
1030
- *
1031
- * @return self The current Process instance
1032
- *
1033
- * @throws LogicException if the output is disabled
1034
- * @throws InvalidArgumentException if the timeout is negative
1035
- */
1036
- public function setIdleTimeout($timeout)
1037
- {
1038
- if (null !== $timeout && $this->outputDisabled) {
1039
- throw new LogicException('Idle timeout can not be set while the output is disabled.');
1040
- }
1041
-
1042
- $this->idleTimeout = $this->validateTimeout($timeout);
1043
-
1044
- return $this;
1045
- }
1046
-
1047
- /**
1048
- * Enables or disables the TTY mode.
1049
- *
1050
- * @param bool $tty True to enabled and false to disable
1051
- *
1052
- * @return self The current Process instance
1053
- *
1054
- * @throws RuntimeException In case the TTY mode is not supported
1055
- */
1056
- public function setTty($tty)
1057
- {
1058
- if ('\\' === \DIRECTORY_SEPARATOR && $tty) {
1059
- throw new RuntimeException('TTY mode is not supported on Windows platform.');
1060
- }
1061
-
1062
- if ($tty && !self::isTtySupported()) {
1063
- throw new RuntimeException('TTY mode requires /dev/tty to be read/writable.');
1064
- }
1065
-
1066
- $this->tty = (bool) $tty;
1067
-
1068
- return $this;
1069
- }
1070
-
1071
- /**
1072
- * Checks if the TTY mode is enabled.
1073
- *
1074
- * @return bool true if the TTY mode is enabled, false otherwise
1075
- */
1076
- public function isTty()
1077
- {
1078
- return $this->tty;
1079
- }
1080
-
1081
- /**
1082
- * Sets PTY mode.
1083
- *
1084
- * @param bool $bool
1085
- *
1086
- * @return self
1087
- */
1088
- public function setPty($bool)
1089
- {
1090
- $this->pty = (bool) $bool;
1091
-
1092
- return $this;
1093
- }
1094
-
1095
- /**
1096
- * Returns PTY state.
1097
- *
1098
- * @return bool
1099
- */
1100
- public function isPty()
1101
- {
1102
- return $this->pty;
1103
- }
1104
-
1105
- /**
1106
- * Gets the working directory.
1107
- *
1108
- * @return string|null The current working directory or null on failure
1109
- */
1110
- public function getWorkingDirectory()
1111
- {
1112
- if (null === $this->cwd) {
1113
- // getcwd() will return false if any one of the parent directories does not have
1114
- // the readable or search mode set, even if the current directory does
1115
- return getcwd() ?: null;
1116
- }
1117
-
1118
- return $this->cwd;
1119
- }
1120
-
1121
- /**
1122
- * Sets the current working directory.
1123
- *
1124
- * @param string $cwd The new working directory
1125
- *
1126
- * @return self The current Process instance
1127
- */
1128
- public function setWorkingDirectory($cwd)
1129
- {
1130
- $this->cwd = $cwd;
1131
-
1132
- return $this;
1133
- }
1134
-
1135
- /**
1136
- * Gets the environment variables.
1137
- *
1138
- * @return array The current environment variables
1139
- */
1140
- public function getEnv()
1141
- {
1142
- return $this->env;
1143
- }
1144
-
1145
- /**
1146
- * Sets the environment variables.
1147
- *
1148
- * Each environment variable value should be a string.
1149
- * If it is an array, the variable is ignored.
1150
- * If it is false or null, it will be removed when
1151
- * env vars are otherwise inherited.
1152
- *
1153
- * That happens in PHP when 'argv' is registered into
1154
- * the $_ENV array for instance.
1155
- *
1156
- * @param array $env The new environment variables
1157
- *
1158
- * @return self The current Process instance
1159
- */
1160
- public function setEnv(array $env)
1161
- {
1162
- // Process can not handle env values that are arrays
1163
- $env = array_filter($env, function ($value) {
1164
- return !\is_array($value);
1165
- });
1166
-
1167
- $this->env = $env;
1168
-
1169
- return $this;
1170
- }
1171
-
1172
- /**
1173
- * Gets the Process input.
1174
- *
1175
- * @return resource|string|\Iterator|null The Process input
1176
- */
1177
- public function getInput()
1178
- {
1179
- return $this->input;
1180
- }
1181
-
1182
- /**
1183
- * Sets the input.
1184
- *
1185
- * This content will be passed to the underlying process standard input.
1186
- *
1187
- * @param string|int|float|bool|resource|\Traversable|null $input The content
1188
- *
1189
- * @return self The current Process instance
1190
- *
1191
- * @throws LogicException In case the process is running
1192
- */
1193
- public function setInput($input)
1194
- {
1195
- if ($this->isRunning()) {
1196
- throw new LogicException('Input can not be set while the process is running.');
1197
- }
1198
-
1199
- $this->input = ProcessUtils::validateInput(__METHOD__, $input);
1200
-
1201
- return $this;
1202
- }
1203
-
1204
- /**
1205
- * Sets whether environment variables will be inherited or not.
1206
- *
1207
- * @param bool $inheritEnv
1208
- *
1209
- * @return self The current Process instance
1210
- */
1211
- public function inheritEnvironmentVariables($inheritEnv = true)
1212
- {
1213
- if (!$inheritEnv) {
1214
- throw new InvalidArgumentException('Not inheriting environment variables is not supported.');
1215
- }
1216
-
1217
- return $this;
1218
- }
1219
-
1220
- /**
1221
- * Performs a check between the timeout definition and the time the process started.
1222
- *
1223
- * In case you run a background process (with the start method), you should
1224
- * trigger this method regularly to ensure the process timeout
1225
- *
1226
- * @throws ProcessTimedOutException In case the timeout was reached
1227
- */
1228
- public function checkTimeout()
1229
- {
1230
- if (self::STATUS_STARTED !== $this->status) {
1231
- return;
1232
- }
1233
-
1234
- if (null !== $this->timeout && $this->timeout < microtime(true) - $this->starttime) {
1235
- $this->stop(0);
1236
-
1237
- throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_GENERAL);
1238
- }
1239
-
1240
- if (null !== $this->idleTimeout && $this->idleTimeout < microtime(true) - $this->lastOutputTime) {
1241
- $this->stop(0);
1242
-
1243
- throw new ProcessTimedOutException($this, ProcessTimedOutException::TYPE_IDLE);
1244
- }
1245
- }
1246
-
1247
- /**
1248
- * Returns whether TTY is supported on the current operating system.
1249
- */
1250
- public static function isTtySupported(): bool
1251
- {
1252
- static $isTtySupported;
1253
-
1254
- if (null === $isTtySupported) {
1255
- $isTtySupported = (bool) @proc_open('echo 1 >/dev/null', [['file', '/dev/tty', 'r'], ['file', '/dev/tty', 'w'], ['file', '/dev/tty', 'w']], $pipes);
1256
- }
1257
-
1258
- return $isTtySupported;
1259
- }
1260
-
1261
- /**
1262
- * Returns whether PTY is supported on the current operating system.
1263
- *
1264
- * @return bool
1265
- */
1266
- public static function isPtySupported()
1267
- {
1268
- static $result;
1269
-
1270
- if (null !== $result) {
1271
- return $result;
1272
- }
1273
-
1274
- if ('\\' === \DIRECTORY_SEPARATOR) {
1275
- return $result = false;
1276
- }
1277
-
1278
- return $result = (bool) @proc_open('echo 1 >/dev/null', [['pty'], ['pty'], ['pty']], $pipes);
1279
- }
1280
-
1281
- /**
1282
- * Creates the descriptors needed by the proc_open.
1283
- */
1284
- private function getDescriptors(): array
1285
- {
1286
- if ($this->input instanceof \Iterator) {
1287
- $this->input->rewind();
1288
- }
1289
- if ('\\' === \DIRECTORY_SEPARATOR) {
1290
- $this->processPipes = new WindowsPipes($this->input, !$this->outputDisabled || $this->hasCallback);
1291
- } else {
1292
- $this->processPipes = new UnixPipes($this->isTty(), $this->isPty(), $this->input, !$this->outputDisabled || $this->hasCallback);
1293
- }
1294
-
1295
- return $this->processPipes->getDescriptors();
1296
- }
1297
-
1298
- /**
1299
- * Builds up the callback used by wait().
1300
- *
1301
- * The callbacks adds all occurred output to the specific buffer and calls
1302
- * the user callback (if present) with the received output.
1303
- *
1304
- * @param callable|null $callback The user defined PHP callback
1305
- *
1306
- * @return \Closure A PHP closure
1307
- */
1308
- protected function buildCallback(callable $callback = null)
1309
- {
1310
- if ($this->outputDisabled) {
1311
- return function ($type, $data) use ($callback) {
1312
- if (null !== $callback) {
1313
- return $callback($type, $data);
1314
- }
1315
- };
1316
- }
1317
-
1318
- $out = self::OUT;
1319
-
1320
- return function ($type, $data) use ($callback, $out) {
1321
- if ($out == $type) {
1322
- $this->addOutput($data);
1323
- } else {
1324
- $this->addErrorOutput($data);
1325
- }
1326
-
1327
- if (null !== $callback) {
1328
- return $callback($type, $data);
1329
- }
1330
- };
1331
- }
1332
-
1333
- /**
1334
- * Updates the status of the process, reads pipes.
1335
- *
1336
- * @param bool $blocking Whether to use a blocking read call
1337
- */
1338
- protected function updateStatus($blocking)
1339
- {
1340
- if (self::STATUS_STARTED !== $this->status) {
1341
- return;
1342
- }
1343
-
1344
- $this->processInformation = proc_get_status($this->process);
1345
- $running = $this->processInformation['running'];
1346
-
1347
- $this->readPipes($running && $blocking, '\\' !== \DIRECTORY_SEPARATOR || !$running);
1348
-
1349
- if ($this->fallbackStatus && $this->isSigchildEnabled()) {
1350
- $this->processInformation = $this->fallbackStatus + $this->processInformation;
1351
- }
1352
-
1353
- if (!$running) {
1354
- $this->close();
1355
- }
1356
- }
1357
-
1358
- /**
1359
- * Returns whether PHP has been compiled with the '--enable-sigchild' option or not.
1360
- *
1361
- * @return bool
1362
- */
1363
- protected function isSigchildEnabled()
1364
- {
1365
- if (null !== self::$sigchild) {
1366
- return self::$sigchild;
1367
- }
1368
-
1369
- if (!\function_exists('phpinfo')) {
1370
- return self::$sigchild = false;
1371
- }
1372
-
1373
- ob_start();
1374
- phpinfo(INFO_GENERAL);
1375
-
1376
- return self::$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
1377
- }
1378
-
1379
- /**
1380
- * Reads pipes for the freshest output.
1381
- *
1382
- * @param string $caller The name of the method that needs fresh outputs
1383
- * @param bool $blocking Whether to use blocking calls or not
1384
- *
1385
- * @throws LogicException in case output has been disabled or process is not started
1386
- */
1387
- private function readPipesForOutput(string $caller, bool $blocking = false)
1388
- {
1389
- if ($this->outputDisabled) {
1390
- throw new LogicException('Output has been disabled.');
1391
- }
1392
-
1393
- $this->requireProcessIsStarted($caller);
1394
-
1395
- $this->updateStatus($blocking);
1396
- }
1397
-
1398
- /**
1399
- * Validates and returns the filtered timeout.
1400
- *
1401
- * @throws InvalidArgumentException if the given timeout is a negative number
1402
- */
1403
- private function validateTimeout(?float $timeout): ?float
1404
- {
1405
- $timeout = (float) $timeout;
1406
-
1407
- if (0.0 === $timeout) {
1408
- $timeout = null;
1409
- } elseif ($timeout < 0) {
1410
- throw new InvalidArgumentException('The timeout value must be a valid positive integer or float number.');
1411
- }
1412
-
1413
- return $timeout;
1414
- }
1415
-
1416
- /**
1417
- * Reads pipes, executes callback.
1418
- *
1419
- * @param bool $blocking Whether to use blocking calls or not
1420
- * @param bool $close Whether to close file handles or not
1421
- */
1422
- private function readPipes(bool $blocking, bool $close)
1423
- {
1424
- $result = $this->processPipes->readAndWrite($blocking, $close);
1425
-
1426
- $callback = $this->callback;
1427
- foreach ($result as $type => $data) {
1428
- if (3 !== $type) {
1429
- $callback(self::STDOUT === $type ? self::OUT : self::ERR, $data);
1430
- } elseif (!isset($this->fallbackStatus['signaled'])) {
1431
- $this->fallbackStatus['exitcode'] = (int) $data;
1432
- }
1433
- }
1434
- }
1435
-
1436
- /**
1437
- * Closes process resource, closes file handles, sets the exitcode.
1438
- *
1439
- * @return int The exitcode
1440
- */
1441
- private function close(): int
1442
- {
1443
- $this->processPipes->close();
1444
- if (\is_resource($this->process)) {
1445
- proc_close($this->process);
1446
- }
1447
- $this->exitcode = $this->processInformation['exitcode'];
1448
- $this->status = self::STATUS_TERMINATED;
1449
-
1450
- if (-1 === $this->exitcode) {
1451
- if ($this->processInformation['signaled'] && 0 < $this->processInformation['termsig']) {
1452
- // if process has been signaled, no exitcode but a valid termsig, apply Unix convention
1453
- $this->exitcode = 128 + $this->processInformation['termsig'];
1454
- } elseif ($this->isSigchildEnabled()) {
1455
- $this->processInformation['signaled'] = true;
1456
- $this->processInformation['termsig'] = -1;
1457
- }
1458
- }
1459
-
1460
- // Free memory from self-reference callback created by buildCallback
1461
- // Doing so in other contexts like __destruct or by garbage collector is ineffective
1462
- // Now pipes are closed, so the callback is no longer necessary
1463
- $this->callback = null;
1464
-
1465
- return $this->exitcode;
1466
- }
1467
-
1468
- /**
1469
- * Resets data related to the latest run of the process.
1470
- */
1471
- private function resetProcessData()
1472
- {
1473
- $this->starttime = null;
1474
- $this->callback = null;
1475
- $this->exitcode = null;
1476
- $this->fallbackStatus = [];
1477
- $this->processInformation = null;
1478
- $this->stdout = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+b');
1479
- $this->stderr = fopen('php://temp/maxmemory:'.(1024 * 1024), 'w+b');
1480
- $this->process = null;
1481
- $this->latestSignal = null;
1482
- $this->status = self::STATUS_READY;
1483
- $this->incrementalOutputOffset = 0;
1484
- $this->incrementalErrorOutputOffset = 0;
1485
- }
1486
-
1487
- /**
1488
- * Sends a POSIX signal to the process.
1489
- *
1490
- * @param int $signal A valid POSIX signal (see http://www.php.net/manual/en/pcntl.constants.php)
1491
- * @param bool $throwException Whether to throw exception in case signal failed
1492
- *
1493
- * @return bool True if the signal was sent successfully, false otherwise
1494
- *
1495
- * @throws LogicException In case the process is not running
1496
- * @throws RuntimeException In case --enable-sigchild is activated and the process can't be killed
1497
- * @throws RuntimeException In case of failure
1498
- */
1499
- private function doSignal(int $signal, bool $throwException): bool
1500
- {
1501
- if (null === $pid = $this->getPid()) {
1502
- if ($throwException) {
1503
- throw new LogicException('Can not send signal on a non running process.');
1504
- }
1505
-
1506
- return false;
1507
- }
1508
-
1509
- if ('\\' === \DIRECTORY_SEPARATOR) {
1510
- exec(sprintf('taskkill /F /T /PID %d 2>&1', $pid), $output, $exitCode);
1511
- if ($exitCode && $this->isRunning()) {
1512
- if ($throwException) {
1513
- throw new RuntimeException(sprintf('Unable to kill the process (%s).', implode(' ', $output)));
1514
- }
1515
-
1516
- return false;
1517
- }
1518
- } else {
1519
- if (!$this->isSigchildEnabled()) {
1520
- $ok = @proc_terminate($this->process, $signal);
1521
- } elseif (\function_exists('posix_kill')) {
1522
- $ok = @posix_kill($pid, $signal);
1523
- } elseif ($ok = proc_open(sprintf('kill -%d %d', $signal, $pid), [2 => ['pipe', 'w']], $pipes)) {
1524
- $ok = false === fgets($pipes[2]);
1525
- }
1526
- if (!$ok) {
1527
- if ($throwException) {
1528
- throw new RuntimeException(sprintf('Error while sending signal "%s".', $signal));
1529
- }
1530
-
1531
- return false;
1532
- }
1533
- }
1534
-
1535
- $this->latestSignal = $signal;
1536
- $this->fallbackStatus['signaled'] = true;
1537
- $this->fallbackStatus['exitcode'] = -1;
1538
- $this->fallbackStatus['termsig'] = $this->latestSignal;
1539
-
1540
- return true;
1541
- }
1542
-
1543
- private function prepareWindowsCommandLine(string $cmd, array &$env)
1544
- {
1545
- $uid = uniqid('', true);
1546
- $varCount = 0;
1547
- $varCache = [];
1548
- $cmd = preg_replace_callback(
1549
- '/"(?:(
1550
- [^"%!^]*+
1551
- (?:
1552
- (?: !LF! | "(?:\^[%!^])?+" )
1553
- [^"%!^]*+
1554
- )++
1555
- ) | [^"]*+ )"/x',
1556
- function ($m) use (&$env, &$varCache, &$varCount, $uid) {
1557
- if (!isset($m[1])) {
1558
- return $m[0];
1559
- }
1560
- if (isset($varCache[$m[0]])) {
1561
- return $varCache[$m[0]];
1562
- }
1563
- if (false !== strpos($value = $m[1], "\0")) {
1564
- $value = str_replace("\0", '?', $value);
1565
- }
1566
- if (false === strpbrk($value, "\"%!\n")) {
1567
- return '"'.$value.'"';
1568
- }
1569
-
1570
- $value = str_replace(['!LF!', '"^!"', '"^%"', '"^^"', '""'], ["\n", '!', '%', '^', '"'], $value);
1571
- $value = '"'.preg_replace('/(\\\\*)"/', '$1$1\\"', $value).'"';
1572
- $var = $uid.++$varCount;
1573
-
1574
- $env[$var] = $value;
1575
-
1576
- return $varCache[$m[0]] = '!'.$var.'!';
1577
- },
1578
- $cmd
1579
- );
1580
-
1581
- $cmd = 'cmd /V:ON /E:ON /D /C ('.str_replace("\n", ' ', $cmd).')';
1582
- foreach ($this->processPipes->getFiles() as $offset => $filename) {
1583
- $cmd .= ' '.$offset.'>"'.$filename.'"';
1584
- }
1585
-
1586
- return $cmd;
1587
- }
1588
-
1589
- /**
1590
- * Ensures the process is running or terminated, throws a LogicException if the process has a not started.
1591
- *
1592
- * @throws LogicException if the process has not run
1593
- */
1594
- private function requireProcessIsStarted(string $functionName)
1595
- {
1596
- if (!$this->isStarted()) {
1597
- throw new LogicException(sprintf('Process must be started before calling %s.', $functionName));
1598
- }
1599
- }
1600
-
1601
- /**
1602
- * Ensures the process is terminated, throws a LogicException if the process has a status different than "terminated".
1603
- *
1604
- * @throws LogicException if the process is not yet terminated
1605
- */
1606
- private function requireProcessIsTerminated(string $functionName)
1607
- {
1608
- if (!$this->isTerminated()) {
1609
- throw new LogicException(sprintf('Process must be terminated before calling %s.', $functionName));
1610
- }
1611
- }
1612
-
1613
- /**
1614
- * Escapes a string to be used as a shell argument.
1615
- */
1616
- private function escapeArgument(?string $argument): string
1617
- {
1618
- if ('' === $argument || null === $argument) {
1619
- return '""';
1620
- }
1621
- if ('\\' !== \DIRECTORY_SEPARATOR) {
1622
- return "'".str_replace("'", "'\\''", $argument)."'";
1623
- }
1624
- if (false !== strpos($argument, "\0")) {
1625
- $argument = str_replace("\0", '?', $argument);
1626
- }
1627
- if (!preg_match('/[\/()%!^"<>&|\s]/', $argument)) {
1628
- return $argument;
1629
- }
1630
- $argument = preg_replace('/(\\\\+)$/', '$1$1', $argument);
1631
-
1632
- return '"'.str_replace(['"', '^', '%', '!', "\n"], ['""', '"^^"', '"^%"', '"^!"', '!LF!'], $argument).'"';
1633
- }
1634
-
1635
- private function getDefaultEnv()
1636
- {
1637
- $env = [];
1638
-
1639
- foreach ($_SERVER as $k => $v) {
1640
- if (\is_string($v) && false !== $v = getenv($k)) {
1641
- $env[$k] = $v;
1642
- }
1643
- }
1644
-
1645
- foreach ($_ENV as $k => $v) {
1646
- if (\is_string($v)) {
1647
- $env[$k] = $v;
1648
- }
1649
- }
1650
-
1651
- return $env;
1652
- }
1653
- }