2017-09-13 2 views
1

La commande cd de ma tâche Gradle ne fonctionne pas. L'utiliser pour aller dans un autre dossier.La commande cd dans gradle ne fonctionne pas

task assembleTask(overwrite: true, type:Exec) { 
    commandLine "gradle", "assembleDev" 

    doLast { 
     commandLine "cd tests" 
     commandLine "ls" 
    } 
} 

Répondre

3

La tâche Exec ne s'exécute qu'une seule fois. Vous définissez la propriété commandLine 3 fois.

  • une fois dans la phase de configuration, avant que la tâche est exécutée
  • deux fois après la tâche exécutée (cela n'a pas d'effet)

Si vous voulez une tâche à exécuter une autre, vous pourriez faire

task assembleTask { 
    dependsOn assembleDev 
    doLast { 
     file('tests').listFiles().each { File f -> 
      println f.name 
     } 
    } 
} 

Ou peut-être vous voulez une tâche GradleBuild, pas sûr

Si vous souhaitez exécuter plusieurs execs dans une même tâche, vous pouvez utiliser la tâche project.exec() au lieu de Exec. Exemple:

task assembleTask { 
    doLast { 
     exec { 
      commandLine 'foo'    
     } 
     exec { 
      commandLine 'bar' 
     } 
     exec { 
      commandLine 'baz' 
     } 
    } 
}