O padrão no Phing, isso é, quando você digita apenas o comando Phing sem nenhum argumento é executar a tarefa que esta definida como padrão. No entanto nem sempre você sabe quais as tarefas que estão disponíveis ou simplesmente não se lembra do nome exato da tarefa que precisa. O Phing possui um comando para isso, que é utiliza-lo com o argumento -l (phing -l
), entretanto não acho esta a melhor maneira.
Eu considero melhor fazer como vários outros programas e exibir uma ajuda nesse caso. Seria possível criar uma tarefa com vários comandos echo
, mas assim cada vez que você precisar adicionar ou remover uma tarefa, vai precisar modificar a ajuda. O que eu uso é simplesmente mostrar a ajuda padrão do phing quando o usuário utiliza o comando phing sem argumentos, desta maneira não precisamos nos preocupar em atualizar a ajuda.
Crie um arquivo chamado build.xml e insira o seguinte conteúdo:
<?xml version="1.0" encoding="UTF-8"?> <project name="exemplo" default="ajuda"> <target name="ajuda" description="Exibe ajuda sobre este arquivo do Phing."> <exec command="phing -f ${phing.file} -l" outputProperty="phing_targets" /> <echo>Por favor selecione uma tarefa:</echo> <echo>${phing_targets}</echo> </target> </project>
Nada de muito complexo, nós criamos o projeto e definimos que a tarefa padrão será a tarefa "ajuda" (linha 1). Depois nós criamos a tarefa na linha 2, o argumento description
é o conteúdo que aparecerá de ajuda para esta tarefa. Caso você tenha uma tarefa que não deva aparecer na ajuda, você deve ocultar ela, para isso use o argumento hidden="true"
. Na linha 3 nós executamos o phing -l
e colocamos o resultado em uma variável que exibimos depois na linha 5.