Criando um Pake Task p/ symfony

Pake Task são atalhos (ou alias) para executar comandos na linha de comando.

Atualmente, a documentação do symfony não explica como criar pake tasks. Vou tentar explicar um pouco o que eu entendi.Primeiramente, o arquivo deverá ficar em myproject/data/tasks. Crie a pasta, caso não exista.

Vou criar um paketask para zipar a pasta do projeto e colocar no diretório anterior.

myproject/data/tasks/sfPakeZip.php:


pake_desc(‘Cria um zip do projeto’);
// aqui vem a descrição do pakepake_task(‘zip’, ‘project_exists’);
// o primeiro parametro (zip) vai ser o nome do comando a ser digitado

function run_zip($task, $args)
// a declaracao é feita run_NOME_DO_COMAND
{
      pake_echo_action(‘tar’, ‘Criando o ZIP’);
      // vamos escrever essa frase na tela enquanto o comando nao termina

     exec(‘PROJ=`pwd | awk \’BEGIN {FS="/"} {print $NF}\’`;cd ..; tar -czf $PROJ.tgz $PROJ; cd $PROJ’);
     // o exec recebe os comandos SHELL a serem executados.
     // podemos chamar outros pake tasks aqui dentro, por exemplo:
     // run_freeze($task, $args);
}

Salve o arquivo. Limpe o cache: symfony cc

Rode o pake: symfony zip