gradle: descarga y descomprime el archivo de la url

¿Cuál sería la forma correcta de descargar y descomprimir el archivo desde url (http)?

Si es posible, me gustaría evitar volver a descargar cada vez que ejecuto la tarea (enant.get puede lograrse medianteskipexisting: 'true')

Mi solución actual sería:

task foo {
  ant.get(src: 'http://.../file.zip', dest: 'somedir', skipexisting: 'true')
  ant.unzip(src: 'somedir' + '/file.zip', dest: 'unpackdir')
}

Aún así, esperaría una solución libre de hormigas. ¿Alguna posibilidad de lograr eso?