java copy gradle overwrite

java - Tarea de copia de Gradle: ¿Cómo sobrescribir archivos existentes?



copy overwrite (3)

Eche un vistazo a DuplicatesStrategy http://www.gradle.org/docs/1.7-rc-1/release-notes#duplicate-file-handling-for-copy-and-archive-operations y http://www.gradle.org/docs/current/javadoc/org/gradle/api/file/DuplicatesStrategy.html . Ambos deben funcionar para copiar sin sobrescribir (mientras que la copia con sobrescritura es la predeterminada).

duplicatesStrategy ''exclude''

También revise Gradle Zip DuplicatesStrategy que no funciona correctamente para detectar un posible error que existe con los "de" anidados.

La Copy API no menciona una bandera / propiedad que se puede establecer. Entonces, ¿cuál es la acción por defecto y cómo se puede modificar?

Según this ,

A partir de Gradle 0.9.1, la tarea Copiar siempre sobrescribe los archivos. Las otras estrategias aún no están soportadas.


Tengo el mismo problema cuando uso la Copia de tareas, gradle siempre realiza una comprobación actualizada que hace que se omita la copia.

Después de leer más en el manual de usuario de Gradle, descubro que podemos usar el método project.copy () en lugar de la tarea Copiar . Este método omite la verificación actualizada, por lo que los archivos siempre se copiarán en el destino.

task myCopy << { copy { from (yourSourceDir) into (yourDestDir) } }


Como dice el texto del problema, la tarea Copy sobrescribe los archivos, y otras estrategias no son compatibles actualmente. Si eso no es apropiado en su caso, siempre puede recurrir a la tarea Ant.