Eu tenho um alvo configurado em ant que executa uma checagem de PHP em todos os arquivos modificados desde a última checagem.
<target
name="lint"
unless="lint.done">
<apply executable="php" taskname="lint" failonerror="true">
<arg value="-l">
<fileset dir="...">
<include name="**/*.php">
<modified/>
</fileset>
</apply>
</target>
Infelizmente, se isso falhar devido a um único arquivo que falhou na verificação de fiapos, todos os outros arquivos não serão verificados, mas ainda serão armazenados no cache modificado. O arquivo que causou a falha também será armazenado em cache por modified
Isso significa que na próxima vez que isso ocorrer, a verificação será aprovada, mesmo que nenhuma alteração tenha sido feita para abordar o motivo da falha na verificação de fiapos.
No final, se ocorrer um erro de lint, a compilação deverá falhar. A parte difícil é tentar fazer com que ela falhe e não pare antes que tenha terminado o fiapo.
As soluções seriam implementar o seguinte:
As duas soluções são possíveis?
Para este primeiro ponto, sei que você pode passar um argumento para modified
, o que impede que o cache seja atualizado. Você poderia, então, chamar um segundo modified
após a verificação de fiapos para armazenar apenas os arquivos em cache se a verificação fosse bem-sucedida?
Para o segundo ponto, a maneira principal que posso pensar é não falhar no erro de fiapos, mas passar os resultados dos fiapos para um script que verificaria e produziria todos os arquivos com falha ao mesmo tempo, se necessário.
Tags apache-http-server ant