W stopniowych zadaniach typu Exec, dlaczego commandLine i plik wykonywalny zachowują się inaczej?

Czy ktoś wie, dlaczego w zadaniach typu wiersz poleceń i plik wykonywalny zachowują się inaczej pod względem dziedziczenia vars środowiska?

Na przykład nie mogę uruchomić tego zadania, ponieważ Gradle nie może znaleźć rubinu z mojego środowiska:

task checkRubyVersionCommandLine(type: Exec) {
       commandLine 'ruby -v'
}

Ale to działa dobrze:

task checkRubyVersionExecute(type: Exec) {
    executable = 'ruby' 
    args = ['-v']
}

Do czego służy polecenie commandLine lub jak mogę go pobrać z powłoki, z której jest wykonywany? Dlaczego pliki wykonywalne po prostu działają?

questionAnswers(1)

yourAnswerToTheQuestion