2016-09-26 7 views
1

Как мне выполнить скрипт сборки Cake произвольного исполняемого файла и проверить код выхода этой программы? Если он не возвращает заданный код выхода, я хочу сбой сборки.Как выполнить произвольную исполняемую и неудачную сборку Cake на основе кода выхода?

ответ

3

Это достигается использованием псевдонима int StartProcess(FilePath fileName).

Пример:

int pingLocalResult = StartProcess("ping", "-n 1 127.0.0.1"); 

if (pingLocalResult != 0) 
{ 
    throw new Exception("Ping 127.0.0.1 failed."); 
} 

int pingZeroResult = StartProcess("ping", "-n 1 0"); 
if (pingZeroResult != 0) 
{ 
    throw new Exception("Ping 0 failed."); 
} 

Выведет что-то вроде:

C:\> cake .\startprocess.cake 

Pinging 127.0.0.1 with 32 bytes of data: 
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 

Ping statistics for 127.0.0.1: 
    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), 
Approximate round trip times in milli-seconds: 
    Minimum = 0ms, Maximum = 0ms, Average = 0ms 

Pinging 0.0.0.0 with 32 bytes of data: 
PING: transmit failed. General failure. 

Ping statistics for 0.0.0.0: 
    Packets: Sent = 1, Received = 0, Lost = 1 (100% loss), 
Error: Ping 0 failed. 
C:\> 

Где throw new Exception("Ping 0 failed."); сломается/прервать сборку.

+0

Так просто ... спасибо! –