Como expandir referências de propriedade em recursos jar?
Eu estou usando Gradle para construir um jarro contendo um arquivo xml emMETA-INF
. Este arquivo tem uma linha como
<property name="databasePlatform" value="${sqlDialect}" />
para permitir diferentes bancos de dados SQL para diferentes ambientes. Eu quero dizer ao gradle para expandir${sqlDialect}
das propriedades do projeto.
Eu tentei isso:
jar {
expand project.properties
}
mas falha com umGroovyRuntimeException
que me parece que a tarefa Jar tenta expandir propriedades em.class
arquivos também. Então eu tentei
jar {
from(sourceSets.main.resources) {
expand project.properties
}
}
que não lança a exceção acima, mas resulta em todos os recursos sendo copiados duas vezes - uma com a expansão da propriedade e outra sem. Eu consegui contornar isso com
jar {
eachFile {
if(it.relativePath.segments[0] in ['META-INF']) {
expand project.properties
}
}
}
que faz o que eu quero, pois no meu caso de uso eu só preciso expandir propriedades de arquivos noMETA-INF
diretório. Mas isso parece um hack bem feio, existe uma maneira melhor de fazer isso?