gradle: Exécution de la tâche “type:Exec” avec de nombreux arguments avec des espaces

J'ai le gradle tâche qui devrait créer Websphere profil sur Windows OS

task createProfile(type:Exec) {

    def commandToExecute = new StringBuffer()
    def profile = 'AppSrv02'
    def wasHome = 'C:/IBM new/WebSphere/AppServer'

    def str = new LinkedList <String> ();
    str.add('cmd')
    str.add('/c')
    str.add(wasHome + '/bin/manageprofiles.bat')
    str.add('-create')
    str.add('-profileName')
    str.add(profile)
    //str.add('-templatePath')
    //str.add(wasHome + '/profileTemplates/default')

    println (str)
    commandLine str.toArray()

}

Et le problème semble si je ne commentez lignes commentées, après la tâche échoue et me dire que: "C:/IBM" n'est pas valide fichier de commandes. Si j'ai mis profileTemplates pas dans le dossier qui contient des espaces, tout fonctionne bien à nouveau. Mais les modèles ne se trouve int wasHome( Et parfois wasHome a des espaces(

J'ai, maintenant, des idées pourquoi l'ajout de modèles de clés avec la valeur avec des espaces influence de telle façon que Gradle essaie de démarrer "C:/IBM" au lieu spécifié " C:/IBM nouveau/WebSphere/AppServer/bin/manageprofiles.chauve-souris". Il semble que, éventuellement, d'un problème à l'intérieur de java.lang.ProcessBuilder.

J'essaie de citer les chemins, en ajoutant "/"" mais rien ne fonctionne(((( ce qui n'est pas une surprise, parce que ProcessBuilder implique citant par elle-même si elle est nécessaire.

Donc, je me suis même demandé si quelqu'un avait le même problème et pourrait recommander la façon de contourner ce problème? Merci à l'avance.

OriginalL'auteur serg | 2013-12-16