2017-12-21 3 views
1

Ich versuche, eine Fledermaus-und SH-Datei (abhängig von dem Betriebssystem läuft auf) mit dem Graple-Exec-Task. Aber ich bin nicht in der Lage herauszufinden, wie man ein Argument an bat/sh von der Exec-Aufgabe sendet.Wie übergeben Argument von Gradle Exec Task zu Kommandozeile

task testing(type:Exec) { 
    workingDir '.' 

    if (System.properties['os.name'].toLowerCase().contains('windows')) { 
     if (project.hasProperty("arg1")) { 
      println arg1 
      args arg1 
      commandLine 'cmd', '/c', 'run.bat' 
     }else{ 
      commandLine 'cmd', '/c', 'run.bat' 
     } 
    }else { 
     if (project.hasProperty("arg1")) { 
      args arg1 
      commandLine './run.sh' 
     }else{ 
      commandLine './run.sh' 
     } 
    } 
} 

Wenn ich laufen diese Aufgabe als: gradle testing -Parg1=test, in println arg1, er druckt Test

Aber wie kann ich auf diesem Test als Argument an die Schläger/sh-Datei übergeben.

+0

Was Sie mit Shell-Dateien zu erreichen versuchen? – Alexiy

Antwort

1

passieren die arg über die commandLine

Windows-

commandLine 'cmd', '/c', 'run.bat' ,arg1 

Linux/mac

commandLine './run.sh' , arg1 
+0

das funktioniert. Vielen Dank :) –

Verwandte Themen