2017-06-13 90 views
0

我有一個計算的一個分支的所有標籤的方法:gradle這個:常規命令行 - grep的

def method = { -> 
try { 
    def code = new ByteArrayOutputStream() 
    exec { 
     commandLine 'git', 'tag', '--list' 
     standardOutput = code 
    } 
    return code.toString().split("\n").size() 
} 
catch (ignored) { 
    return -1; 
} 
} 

我想改變它的方式,計算出含有特定字符串的標籤。遺憾的是這樣的:

命令行 '混帳', '標籤', '--list', '|', 'grep的', '關鍵字'

不能按預期工作。任何想法爲什麼?

回答

1

回答問題why刪除try-catch-ignore或只要管|是殼功能的一部分返回-1


之前打印錯誤堆棧跟蹤,建立commandline這樣的:

commandLine "bash", "-c", "git tag --list | grep 'keyword'" 

作爲替代方案,您可以在常規級別上進行過濾:

return code.toString().split("\n").findAll{i-> i~='keyword'}.size() 

這裏keyword可能是一個正則表達式