60 lines
1.8 KiB
PHP
60 lines
1.8 KiB
PHP
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2006~2015 http://thinkphp.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
|
// +----------------------------------------------------------------------
|
|
// | Author: yunwuxin <448901948@qq.com>
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace think\console\command;
|
|
|
|
use think\console\Command;
|
|
use think\console\Input;
|
|
use think\console\input\Option;
|
|
use think\console\Output;
|
|
use think\facade\App;
|
|
use think\facade\Build as AppBuild;
|
|
|
|
class Build extends Command
|
|
{
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
protected function configure()
|
|
{
|
|
$this->setName('build')
|
|
->setDefinition([
|
|
new Option('config', null, Option::VALUE_OPTIONAL, "build.php path"),
|
|
new Option('module', null, Option::VALUE_OPTIONAL, "module name"),
|
|
])
|
|
->setDescription('Build Application Dirs');
|
|
}
|
|
|
|
protected function execute(Input $input, Output $output)
|
|
{
|
|
if ($input->hasOption('module')) {
|
|
AppBuild::module($input->getOption('module'));
|
|
$output->writeln("Successed");
|
|
return;
|
|
}
|
|
|
|
if ($input->hasOption('config')) {
|
|
$build = include $input->getOption('config');
|
|
} else {
|
|
$build = include App::getAppPath() . 'build.php';
|
|
}
|
|
|
|
if (empty($build)) {
|
|
$output->writeln("Build Config Is Empty");
|
|
return;
|
|
}
|
|
|
|
AppBuild::run($build);
|
|
$output->writeln("Successed");
|
|
|
|
}
|
|
}
|