2012-09-07 28 views

Respuesta

5

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.

+0

¡Gracias, solo quería escucharlo directamente de la boca de los caballos! : D ¿Alguna idea de cuándo se implementarán esas nuevas estrategias (si es que las hay)? – user1329572

1

Tengo el mismo problema cuando uso la Tarea Copia, gradle siempre realiza una verificación actualizada que hace que la copia sea omitida.

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 tanto, los archivos siempre se copiarán en el destino.

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

Esto parece tratar de solucionar un problema que ha creado usted mismo (debido al '<<'). Mire la respuesta aceptada de esta pregunta: http://stackoverflow.com/questions/16358194/force-task-execution-in-gradle – cornuz

3

Salida 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 deberían funcionar para la copia sin sobrescritura (mientras que la sobreescritura está predeterminada).

duplicatesStrategy 'exclude' 

También puedes ver Gradle Zip DuplicatesStrategy not working correctly para un posible error que existe con anidada "de" s.

Cuestiones relacionadas