OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
php
/
Composer
/
Command
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
07/20/2024 06:32:22 AM
rwxr-xr-x
📄
AboutCommand.php
1.1 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ArchiveCommand.php
6.42 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
BaseCommand.php
4.51 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
BaseDependencyCommand.php
9.7 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
CheckPlatformReqsCommand.php
4.9 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ClearCacheCommand.php
1.99 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ConfigCommand.php
26.21 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
CreateProjectCommand.php
17.35 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
DependsCommand.php
1.29 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
DiagnoseCommand.php
25.52 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
DumpAutoloadCommand.php
3.21 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ExecCommand.php
2.74 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
GlobalCommand.php
2.86 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
HomeCommand.php
5.29 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
InitCommand.php
28.09 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
InstallCommand.php
6.17 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
LicensesCommand.php
5.32 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
OutdatedCommand.php
3.44 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ProhibitsCommand.php
1.31 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
RemoveCommand.php
6.81 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
RequireCommand.php
10.15 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
RunScriptCommand.php
4.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ScriptAliasCommand.php
1.88 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
SearchCommand.php
2.86 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
SelfUpdateCommand.php
16.48 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ShowCommand.php
37.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
StatusCommand.php
7.89 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
SuggestsCommand.php
5.1 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
UpdateCommand.php
10.82 KB
01/31/2018 03:28:18 PM
rw-r--r--
📄
ValidateCommand.php
6.73 KB
01/31/2018 03:28:18 PM
rw-r--r--
Editing: StatusCommand.php
Close
<?php /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Composer\Downloader\ChangeReportInterface; use Composer\Downloader\DvcsDownloaderInterface; use Composer\Downloader\VcsCapableDownloaderInterface; use Composer\Package\Dumper\ArrayDumper; use Composer\Package\Version\VersionGuesser; use Composer\Package\Version\VersionParser; use Composer\Plugin\CommandEvent; use Composer\Plugin\PluginEvents; use Composer\Script\ScriptEvents; use Composer\Util\ProcessExecutor; /** * @author Tiago Ribeiro <tiago.ribeiro@seegno.com> * @author Rui Marinho <rui.marinho@seegno.com> */ class StatusCommand extends BaseCommand { const EXIT_CODE_ERRORS = 1; const EXIT_CODE_UNPUSHED_CHANGES = 2; const EXIT_CODE_VERSION_CHANGES = 4; protected function configure() { $this ->setName('status') ->setDescription('Shows a list of locally modified packages.') ->setDefinition(array( new InputOption('verbose', 'v|vv|vvv', InputOption::VALUE_NONE, 'Show modified files for each directory that contains changes.'), )) ->setHelp(<<<EOT The status command displays a list of dependencies that have been modified locally. EOT ) ; } protected function execute(InputInterface $input, OutputInterface $output) { // init repos $composer = $this->getComposer(); $commandEvent = new CommandEvent(PluginEvents::COMMAND, 'status', $input, $output); $composer->getEventDispatcher()->dispatch($commandEvent->getName(), $commandEvent); $installedRepo = $composer->getRepositoryManager()->getLocalRepository(); $dm = $composer->getDownloadManager(); $im = $composer->getInstallationManager(); // Dispatch pre-status-command $composer->getEventDispatcher()->dispatchScript(ScriptEvents::PRE_STATUS_CMD, true); $errors = array(); $io = $this->getIO(); $unpushedChanges = array(); $vcsVersionChanges = array(); $parser = new VersionParser; $guesser = new VersionGuesser($composer->getConfig(), new ProcessExecutor($io), $parser); $dumper = new ArrayDumper; // list packages foreach ($installedRepo->getCanonicalPackages() as $package) { $downloader = $dm->getDownloaderForInstalledPackage($package); $targetDir = $im->getInstallPath($package); if ($downloader instanceof ChangeReportInterface) { if (is_link($targetDir)) { $errors[$targetDir] = $targetDir . ' is a symbolic link.'; } if ($changes = $downloader->getLocalChanges($package, $targetDir)) { $errors[$targetDir] = $changes; } } if ($downloader instanceof VcsCapableDownloaderInterface) { if ($currentRef = $downloader->getVcsReference($package, $targetDir)) { switch ($package->getInstallationSource()) { case 'source': $previousRef = $package->getSourceReference(); break; case 'dist': $previousRef = $package->getDistReference(); break; default: $previousRef = null; } $currentVersion = $guesser->guessVersion($dumper->dump($package), $targetDir); if ($previousRef && $currentVersion && $currentVersion['commit'] !== $previousRef) { $vcsVersionChanges[$targetDir] = array( 'previous' => array( 'version' => $package->getPrettyVersion(), 'ref' => $previousRef, ), 'current' => array( 'version' => $currentVersion['pretty_version'], 'ref' => $currentVersion['commit'], ), ); } } } if ($downloader instanceof DvcsDownloaderInterface) { if ($unpushed = $downloader->getUnpushedChanges($package, $targetDir)) { $unpushedChanges[$targetDir] = $unpushed; } } } // output errors/warnings if (!$errors && !$unpushedChanges && !$vcsVersionChanges) { $io->writeError('<info>No local changes</info>'); return 0; } if ($errors) { $io->writeError('<error>You have changes in the following dependencies:</error>'); foreach ($errors as $path => $changes) { if ($input->getOption('verbose')) { $indentedChanges = implode("\n", array_map(function ($line) { return ' ' . ltrim($line); }, explode("\n", $changes))); $io->write('<info>'.$path.'</info>:'); $io->write($indentedChanges); } else { $io->write($path); } } } if ($unpushedChanges) { $io->writeError('<warning>You have unpushed changes on the current branch in the following dependencies:</warning>'); foreach ($unpushedChanges as $path => $changes) { if ($input->getOption('verbose')) { $indentedChanges = implode("\n", array_map(function ($line) { return ' ' . ltrim($line); }, explode("\n", $changes))); $io->write('<info>'.$path.'</info>:'); $io->write($indentedChanges); } else { $io->write($path); } } } if ($vcsVersionChanges) { $io->writeError('<warning>You have version variations in the following dependencies:</warning>'); foreach ($vcsVersionChanges as $path => $changes) { if ($input->getOption('verbose')) { // If we don't can't find a version, use the ref instead. $currentVersion = $changes['current']['version'] ?: $changes['current']['ref']; $previousVersion = $changes['previous']['version'] ?: $changes['previous']['ref']; if ($io->isVeryVerbose()) { // Output the ref regardless of whether or not it's being used as the version $currentVersion .= sprintf(' (%s)', $changes['current']['ref']); $previousVersion .= sprintf(' (%s)', $changes['previous']['ref']); } $io->write('<info>'.$path.'</info>:'); $io->write(sprintf(' From <comment>%s</comment> to <comment>%s</comment>', $previousVersion, $currentVersion)); } else { $io->write($path); } } } if (($errors || $unpushedChanges || $vcsVersionChanges) && !$input->getOption('verbose')) { $io->writeError('Use --verbose (-v) to see a list of files'); } // Dispatch post-status-command $composer->getEventDispatcher()->dispatchScript(ScriptEvents::POST_STATUS_CMD, true); return ($errors ? self::EXIT_CODE_ERRORS : 0) + ($unpushedChanges ? self::EXIT_CODE_UNPUSHED_CHANGES : 0) + ($vcsVersionChanges ? self::EXIT_CODE_VERSION_CHANGES : 0); } }