O que eu tenho:
...
{if $dockerPipelinesEnabled}
{call aui.buttons.button}
{param text: getText('deployment.environment.docker.button') /}
{param tagName: 'a' /}
{param id: 'configureEnvironmentDocker' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentDocker.action?environmentId=' + $id ] /}
{/call}
{/if}
{call aui.buttons.button}
{param text: getText('deployment.project.environment.agents') /}
{param tagName: 'a' /}
{param id: 'configureEnvironmentAgents' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentAgents.action?environmentId=' + $id ] /}
{/call}
{call widget.override.aui.badgeButton}
{param text: getText('environment.notifications') /}
{param tagName: 'a' /}
{param id: 'configureDeploymentsNotifications' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentNotifications.action?environmentId=' + $id ] /}
{param badgeText: $notificationsNumberString /}
{/call}
...
O que eu quero:
...
{if $dockerPipelinesEnabled}
{call aui.buttons.button}
{param text: getText('deployment.environment.docker.button') /}
{param tagName: 'a' /}
{param id: 'configureEnvironmentDocker' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentDocker.action?environmentId=' + $id ] /}
{/call}
{/if}
/** {call aui.buttons.button}
{param text: getText('deployment.project.environment.agents') /}
{param tagName: 'a' /}
{param id: 'configureEnvironmentAgents' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentAgents.action?environmentId=' + $id ] /}
{/call} */
{call widget.override.aui.badgeButton}
{param text: getText('environment.notifications') /}
{param tagName: 'a' /}
{param id: 'configureDeploymentsNotifications' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentNotifications.action?environmentId=' + $id ] /}
{param badgeText: $notificationsNumberString /}
{/call}
...
Eu posso comentar as linhas exclusivas em várias declarações, no entanto, existem linhas comuns nesse bloco de código que estão presentes em outros blocos.
Os formatos aceitáveis são:
/** {call aui.buttons.button}
{param text: getText('deployment.project.environment.agents') /}
{param tagName: 'a' /}
{param id: 'configureEnvironmentAgents' + $id /}
{param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentAgents.action?environmentId=' + $id ] /}
{/call} */
ou:
/** {call aui.buttons.button} */
/** {param text: getText('deployment.project.environment.agents') /} */
/** {param tagName: 'a' /} */
/** {param id: 'configureEnvironmentAgents' + $id /} */
/** {param extraAttributes: [ 'href': contextPath() + '/deploy/config/configureEnvironmentAgents.action?environmentId=' + $id ] /}
/** {/call} */
Editar
Eu estava tentando resolver o problema com sed
e awk
, mas parece ser bem trivial com grep
:
grep --invert-match "$(grep -B 1 -A 4 .*deployment.project.environment.agents <path-to-file>
Parece que grep
não trata a correspondência como um bloco, mas sim que cada linha é removida, o que quebra o resultado.
Atualizar
O arquivo completo é aqui (o snippet de interesse está localizado na parte inferior)
Nesse arquivo, desejo comentar a seção acima (mostrada em formatos aceitos ).
Tenha em atenção que {call aui.buttons.button}
aparece em vários locais, pelo que, por si só, não é suficiente um marcador. Seria aceitável excluir o bloco de código também.