Skip to content

Instantly share code, notes, and snippets.

@thekid
Created March 31, 2014 07:33
Show Gist options
  • Select an option

  • Save thekid/9887106 to your computer and use it in GitHub Desktop.

Select an option

Save thekid/9887106 to your computer and use it in GitHub Desktop.
Invoke Composer from XP
<?php namespace xp\composer;
use util\cmd\Console;
use lang\ClassLoader;
/**
* XP Composer
*/
class Runner extends \lang\Object {
/**
* Entry point
*
* @param string[] args
* @return int
*/
public static function main(array $args) {
// Bootstrap composer
$resource= \lang\ClassLoader::getDefault()->findResource('composer.phar');
if (!is('lang.IClassLoader', $resource)) {
Console::$err->writeLine('*** Cannot find composer.phar in any of ', \lang\ClassLoader::getLoaders());
return 1;
}
require(sprintf(
'phar://%s/composer.phar/vendor/autoload.php',
strtr($resource->path, DIRECTORY_SEPARATOR, '/')
));
// Run it
$app= new \Composer\Console\Application();
$app->run();
return 0;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment