1
0
Fork 0

Strict typing fixes

pull/4719/head
Jordi Boggiano 2015-12-16 17:47:38 +00:00
parent f25446e507
commit 29312be4df
8 changed files with 26 additions and 10 deletions

View File

@ -41,8 +41,8 @@ class ArchiveCommand extends Command
new InputArgument('package', InputArgument::OPTIONAL, 'The package to archive instead of the current project'),
new InputArgument('version', InputArgument::OPTIONAL, 'A version constraint to find the package to archive'),
new InputOption('format', 'f', InputOption::VALUE_REQUIRED, 'Format of the resulting archive: tar or zip'),
new InputOption('dir', false, InputOption::VALUE_REQUIRED, 'Write the archive to this directory'),
new InputOption('file', false, InputOption::VALUE_REQUIRED, 'Write the archive with the given file name.'
new InputOption('dir', null, InputOption::VALUE_REQUIRED, 'Write the archive to this directory'),
new InputOption('file', null, InputOption::VALUE_REQUIRED, 'Write the archive with the given file name.'
.' Note that the format will be appended.'),
))
->setHelp(<<<EOT

View File

@ -112,6 +112,7 @@ EOT
return $this->installProject(
$io,
$config,
$input,
$input->getArgument('package'),
$input->getArgument('directory'),
$input->getArgument('version'),
@ -125,12 +126,11 @@ EOT
$input->getOption('keep-vcs'),
$input->getOption('no-progress'),
$input->getOption('no-install'),
$input->getOption('ignore-platform-reqs'),
$input
$input->getOption('ignore-platform-reqs')
);
}
public function installProject(IOInterface $io, Config $config, $packageName, $directory = null, $packageVersion = null, $stability = 'stable', $preferSource = false, $preferDist = false, $installDevPackages = false, $repositoryUrl = null, $disablePlugins = false, $noScripts = false, $keepVcs = false, $noProgress = false, $noInstall = false, $ignorePlatformReqs = false, InputInterface $input)
public function installProject(IOInterface $io, Config $config, InputInterface $input, $packageName, $directory = null, $packageVersion = null, $stability = 'stable', $preferSource = false, $preferDist = false, $installDevPackages = false, $repositoryUrl = null, $disablePlugins = false, $noScripts = false, $keepVcs = false, $noProgress = false, $noInstall = false, $ignorePlatformReqs = false)
{
$oldCwd = getcwd();

View File

@ -88,6 +88,7 @@ EOT
break;
case 'json':
$dependencies = array();
foreach ($packages as $package) {
$dependencies[$package->getPrettyName()] = array(
'version' => $package->getFullPrettyVersion(),

View File

@ -23,9 +23,13 @@ use Composer\Util\Filesystem;
*/
abstract class VcsDownloader implements DownloaderInterface, ChangeReportInterface
{
/** @var IOInterface */
protected $io;
/** @var Config */
protected $config;
/** @var ProcessExecutor */
protected $process;
/** @var Filesystem */
protected $filesystem;
public function __construct(IOInterface $io, Config $config, ProcessExecutor $process = null, Filesystem $fs = null)

View File

@ -123,7 +123,7 @@ interface IOInterface
* @param string|array $question The question to ask
* @param callback $validator A PHP callback
* @param null|int $attempts Max number of times to ask before giving up (default of null means infinite)
* @param string $default The default answer if none is given by the user
* @param mixed $default The default answer if none is given by the user
*
* @throws \Exception When any of the validators return an error
* @return mixed

View File

@ -154,9 +154,9 @@ class GitHubDriver extends VcsDriver
while ($notFoundRetries) {
try {
$resource = $this->getApiUrl() . '/repos/'.$this->owner.'/'.$this->repository.'/contents/composer.json?ref='.urlencode($identifier);
$composer = JsonFile::parseJson($this->getContents($resource));
if (empty($composer['content']) || $composer['encoding'] !== 'base64' || !($composer = base64_decode($composer['content']))) {
throw new \RuntimeException('Could not retrieve composer.json from '.$resource);
$resource = JsonFile::parseJson($this->getContents($resource));
if (empty($resource['content']) || $resource['encoding'] !== 'base64' || !($composer = base64_decode($resource['content']))) {
throw new \RuntimeException('Could not retrieve composer.json for '.$identifier);
}
break;
} catch (TransportException $e) {
@ -167,7 +167,7 @@ class GitHubDriver extends VcsDriver
// TODO should be removed when possible
// retry fetching if github returns a 404 since they happen randomly
$notFoundRetries--;
$composer = false;
$composer = null;
}
}

View File

@ -26,12 +26,19 @@ use Composer\Util\Filesystem;
*/
abstract class VcsDriver implements VcsDriverInterface
{
/** @var string */
protected $url;
/** @var string */
protected $originUrl;
/** @var array */
protected $repoConfig;
/** @var IOInterface */
protected $io;
/** @var Config */
protected $config;
/** @var ProcessExecutor */
protected $process;
/** @var RemoteFilesystem */
protected $remoteFilesystem;
/**

View File

@ -20,9 +20,13 @@ use Composer\IO\IOInterface;
*/
class Git
{
/** @var IOInterface */
protected $io;
/** @var Config */
protected $config;
/** @var ProcessExecutor */
protected $process;
/** @var Filesystem */
protected $filesystem;
public function __construct(IOInterface $io, Config $config, ProcessExecutor $process, Filesystem $fs)