Ejemplo n.º 1
0
 /**
  * Builds an output document
  * @param tfProgram $prg
  */
 public function build(tfProgram $prg)
 {
     if (!isset($this->args['#path'])) {
         return $this->main($prg);
     }
     $prg->loadLibrary('parsers');
     $prg->loadLibrary('output');
     $prg->loadLibrary('project');
     $prg->loadLibrary('i18n');
     $prg->loadLibrary('tags');
     $project = new tfProject($this->args['#path']);
     tfProject::set($project);
     // Choose the language
     if (isset($this->args['-l'])) {
         $project->setLanguage($this->args['-l']);
     } else {
         $project->setLanguage($project->config['baseLanguage']);
     }
     tfTags::setProject($project);
     try {
         if (isset($this->args['-o'])) {
             $prg->console->stdout->writeln('Processing the files.');
             $project->loadItems();
             $prg->console->stdout->writeln('Starting ' . $this->args['-o'] . '.');
             $project->setOutput($this->args['-o']);
             $project->generate();
             $prg->console->stdout->writeln('Generation completed.');
         } else {
             $prg->console->stdout->writeln('Processing the files.');
             $project->loadItems();
             foreach ($project->config['outputs'] as $out) {
                 $prg->console->stdout->writeln('Starting ' . $out . '.');
                 $project->setOutput($out);
                 $project->generate();
             }
             $prg->console->stdout->writeln('Generation completed.');
         }
     } catch (Exception $e) {
         $prg->console->stderr->writeln($e->getMessage());
     }
 }