36 lignes
1008 B
PHP
36 lignes
1008 B
PHP
<?php namespace Todaymade\Daux\Console;
|
|
|
|
use Symfony\Component\Console\Application as SymfonyApplication;
|
|
|
|
class Application extends SymfonyApplication
|
|
{
|
|
public function __construct($name = 'UNKNOWN', $version = 'UNKNOWN')
|
|
{
|
|
parent::__construct($name, $version);
|
|
|
|
$this->add(new Generate());
|
|
$this->add(new Serve());
|
|
$this->add(new ClearCache());
|
|
|
|
$app_name = 'daux/daux.io';
|
|
|
|
$up = '..' . DIRECTORY_SEPARATOR;
|
|
$composer = __DIR__ . DIRECTORY_SEPARATOR . $up . $up . $up . $up . $up . 'composer.lock';
|
|
$version = 'unknown';
|
|
|
|
if (file_exists($composer)) {
|
|
$app = json_decode(file_get_contents($composer));
|
|
$packages = $app->packages;
|
|
|
|
foreach ($packages as $package) {
|
|
if ($package->name == $app_name) {
|
|
$version = $package->version;
|
|
}
|
|
}
|
|
}
|
|
|
|
$this->setVersion($version);
|
|
$this->setName($app_name);
|
|
}
|
|
}
|