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?

questionAnswers(5)

yourAnswerToTheQuestion