2 namespace Robo\Task\Composer;
10 * $this->taskComposerInit()->run();
14 class Init extends Base
19 protected $action = 'init';
24 public function projectName($projectName)
26 $this->option('name', $projectName);
33 public function description($description)
35 $this->option('description', $description);
42 public function author($author)
44 $this->option('author', $author);
51 public function projectType($type)
53 $this->option('type', $type);
60 public function homepage($homepage)
62 $this->option('homepage', $homepage);
67 * 'require' is a keyword, so it cannot be a method name.
70 public function dependency($project, $version = null)
72 if (isset($version)) {
73 $project .= ":$version";
75 $this->option('require', $project);
82 public function stability($stability)
84 $this->option('stability', $stability);
91 public function license($license)
93 $this->option('license', $license);
100 public function repository($repository)
102 $this->option('repository', $repository);
109 public function run()
111 $command = $this->getCommand();
112 $this->printTaskInfo('Creating composer.json: {command}', ['command' => $command]);
113 return $this->executeCommand($command);