Обновить README.md
This commit is contained in:
parent
93d2ad7575
commit
4bf7a85671
93
README.md
93
README.md
|
@ -0,0 +1,93 @@
|
|||
## Taskman
|
||||
|
||||
Taskman is a simple library which allows to conveniently execute 'tasks' written in PHP from the shell. Tasks can have dependencies on other tasks.
|
||||
|
||||
Taskman is inspired by Make, Capistrano, Ant, Maven and similar build tools.
|
||||
|
||||
The central unit of execution is 'task'. The main difference from the plain old function is the fact 'task' is executed **only once** no matter what.
|
||||
|
||||
### Examples
|
||||
|
||||
#### Hello world
|
||||
Here's a simple example of a task:
|
||||
|
||||
```
|
||||
<?php
|
||||
namespace taskman;
|
||||
use Exception;
|
||||
|
||||
task('hello', function()
|
||||
{
|
||||
echo "Hello world!\n";
|
||||
});
|
||||
```
|
||||
|
||||
Try executing it from the shell:
|
||||
|
||||
```./gamectl hello
|
||||
***** task 'hello' start *****
|
||||
Hello world!
|
||||
***** task 'hello' done(0/0.27 sec.) *****
|
||||
***** All done (0.27 sec.) *****
|
||||
```
|
||||
|
||||
#### Real world example
|
||||
|
||||
```
|
||||
<?php
|
||||
namespace taskman;
|
||||
use Exception;
|
||||
|
||||
task('ultimate_build_run',
|
||||
[
|
||||
'default' => true,
|
||||
'alias' => 'urun',
|
||||
'deps' => ['autogen', 'pack_configs', 'ensure_unity_player_settings', 'unity_defines']
|
||||
], function() {});
|
||||
```
|
||||
### Tasks documentation
|
||||
|
||||
### Task declaration
|
||||
|
||||
Task must be declared using library **task** function as follows:
|
||||
|
||||
```task('name', function() {});```
|
||||
|
||||
The task above now can be invoked from the shell as follows:
|
||||
|
||||
```./gamectl name```
|
||||
|
||||
### Task aliases
|
||||
|
||||
Task may have an alias for less typing in the shell:
|
||||
|
||||
```
|
||||
task('name', ['alias' => 'n'],
|
||||
function() {});
|
||||
```
|
||||
|
||||
You can invoke the task by the alias as follows:
|
||||
|
||||
```./gamectl n```
|
||||
|
||||
### Task dependencies
|
||||
|
||||
Task may have an dependencies on other tasks:
|
||||
|
||||
```
|
||||
task('c', ['deps' => ['a', 'b'],
|
||||
function() {});
|
||||
```
|
||||
|
||||
All dependencies are executed before running the specified task. Running the task above should output something as follows:
|
||||
```
|
||||
./gamectl c
|
||||
***** task 'c' start *****
|
||||
***** -task 'a' start *****
|
||||
***** -task 'a' done(0/0.18 sec.) *****
|
||||
***** -task 'b' start *****
|
||||
***** -task 'b' done(0/0.18 sec.) *****
|
||||
***** task 'c' done(0/0.18 sec.) *****
|
||||
***** All done (0.18 sec.) *****
|
||||
```
|
||||
|
Loading…
Reference in New Issue