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");
 | |
| 
 | |
|     }
 | |
| }
 | 
