2012-10-22 18 views
6

Il mio progetto contiene un paio di file tar.gz che ho bisogno di estrarre nella directory root del progetto.Disimballaggio di tar.gz in dir root con Gradle

ho fatto questo come un test:

task untar (type: Copy) { 
    from tarTree(resources.gzip('model.tar.gz')) 
    into getProjectDir() 
} 

quando l'eseguo, è lanciare questa eccezione: org.gradle.api.UncheckedIOException: java.io.IOException: Il processo non può accedere al file perché un altro processo ha bloccato una parte del file.

sto usando Gradle 1.1 in Windows 7.

Grazie per l'aiuto.

+0

Si prega di fornire la versione di Gradle che si sta utilizzando. –

+0

Mi dispiace, ho dimenticato. Aggiornerò la domanda – user1294431

+0

Quando si esegue questa attività, si è certi che nessun altro processo abbia un handle sul file? –

risposta

10

sono stato in grado di estrarre utilizzando questo:

task test << { 
    copy { 
     from tarTree(resources.gzip('model.tar.gz')) 
     into getProjectDir() 
    } 
} 

mia unica ipotesi è che sia la dir o il file tgz o entrambi sono bloccati durante la fase di configurazione e che venga rilasciata durante la fase di esecuzione.

Se qualcuno ha una soluzione che utilizza l'attività di copia e non il metodo di copia, lo apprezzerei.