2011-09-01 11 views
5

Ho un progetto ant che sto convertendo in gradle. Nel progetto formica, c'è qualcosa di simile:Come posso ottenere il comportamento delle form durante l'espansione delle proprietà con gradle?

<copy todir="dest_dir"> 
    <fileset> 
    ... 
    </fileset> 
    <filterchain> 
    <expandproperties/> 
    </filterchain> 
</copy> 

La catena dei filtri si espande proprietà come ${property}, ma ignora i segni del dollaro, senza bretelle. Sto cercando di replicare questo comportamento in gradle.

Se I expand come di seguito, gradle espande i file come un modello groovy, che tenta di espandere i segni del dollaro con parentesi graffe.

copy { 
    from 'source_dir' 
    into 'dest_dir' 
    expand(project.properties) 
} 

Se io filter con la classe del filtro formica ExpandProperties, ho un NullPointerException. C'è un modo semplice per farlo, mi sono perso?

risposta

6

Ok, l'ho capito. Il filtro ExpandProperties richiede la relativa proprietà del progetto impostata con il progetto Ant. Questo è quanto ho ottenuto configurato per funzionare:

copy { 
    from 'source_dir' 
    to 'dest_dir' 
    filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.antProject) 
} 

Questo espande immobili come ${property} esattamente lo stesso Formica, senza essere scattato sul segno del dollaro, senza bretelle.

Problemi correlati