Cookyii/build is a simple PHP build tool for any projects.
Installing
$ composer require cookyii/build:dev-master
Updating
$ ./build self/update
or Composer
$ composer require cookyii/build:dev-master
Configuration
In project path must be file build.php
(It can be called whatever you like. The name build.php
is taken by default.)
/var/www/my-project/build.php:
<?php
return [
'map' => [
'.description' => 'Show map of all tasks in current build config',
'.task' => 'cookyii\build\tasks\MapTask',
],
'default' => [
'.description' => 'Build project with demo environment',
'.depends' => ['composer'],
],
'self' => [
'.description' => 'Internal tasks',
'.task' => [
'class' => 'cookyii\build\tasks\SelfTask',
'composer' => '../../composer.phar',
],
],
'composer' => [
'.description' => 'Install all depending composer for development environment (with `required-dev`)',
'.task' => [
'class' => 'cookyii\build\tasks\ComposerTask',
'defaultTask' => 'install',
],
],
];
Usage (run build)
$ ./vendor/bin/build # start build from `default` task
$ ./vendor/bin/build composer # start build from `composer` task
$ ./vendor/bin/build -c build.dev.php # start build with specified configuration file `build.dev.php`
Task reference
BlankTask
- empty task, which is used when a class is not specified.CallableTask
- task to execute php function (callable).ChmodTask
- task to change file mode (chmod).ChownTask
- task to change owner (chown).CommandTask
- task to execute programm on the command line (cli command).ComposerTask
- task to executecomposer
functions.DeleteTask
- task deletes files.EchoTask
- task displays custom message.FileExistsTask
- task checks for the existence of the file.InputTask
- prompt task.LockTask
- task of managing locking file.MapTask
- task displays a map of all available tasks.ReplacementTask
- task of replacing placeholders in file.SelfTask
- task with internal taskscookyii/build
.