Groovy,如何忽略版本?

时间:2014-03-04 23:57:32

标签: groovy bamboo

我是groovy和脚本新手,需要一些帮助。我该如何忽略版本?例如:我需要版本1,3,4,5并忽略2.我现在有这个:

def ignores = []
ignoreList.split(',')
if (version.contains

我正在使用此脚本从CI Bamboo版本运行。我只需要跳过特定版本的脚本,并以

格式指定该版本
  

'2','5','7'

竹制建设计划中的

3 个答案:

答案 0 :(得分:1)

这是你想要的Groovy中的算术运算。 ;)

assert [1, 2, 3, 4, 5] - 2 == [1, 3, 4, 5]

您可以使用列表上的minus()从版本列表中删除忽略的版本。 minus()的另一个变体也是从集合中删除集合:

assert [1, 2, 3, 4, 5] - [2, 5] == [1, 3, 4]

您还可以明确地使用.minus()作为方法,而不使用重写的-运算符,并最终使用相同的操作:

assert [1, 2, 3, 4, 5].minus([2, 5]) == [1, 3, 4]

来吧,说吧..... !!是的,你确实喜欢Groovy,不是吗?.. :)。

答案 1 :(得分:0)

这是您可以检查版本列表中是否有要忽略的版本。

def versionsToIgnore = [2]
if (!versionsToIgnore.contains(version)) {
    // do some stuff
}

答案 2 :(得分:0)

将变量声明为

def ignores = [] 

你要宣布一份清单。快速检查方法是获取其类

log.info ignores.class //log.info is used in soapUI which i am using to write this code

//returns
class java.util.ArrayList

您要做的是在列表中搜索数据,这可以通过多种方法完成,@ grantmc已经演示了其中一种方法,您也可以执行findAll或收集。

def words = ['ant', 'buffalo', 'cat', 'dinosaur']
assert words.findAll{ w -> w.size() > 4 } == ['buffalo', 'dinosaur']

def words = ['ant', 'buffalo', 'cat', 'dinosaur']
assert words.collect{ it[0] } == ['a', 'b', 'c', 'd']

可以在Enhanced Collection Methods下的http://groovy.codehaus.org/Collections找到这些示例。该部分还说明了

  

除了上面显示的findAll和collect之外,还有findIndexOf,grep,any,every,min,max,flatten,intersect,disjoint,sort,join等方法。只需查看GDK doco即可了解更多详情。您可能希望查找添加的Collection,List和Object方法。

     

有关这些方法的更多详细信息,请参阅JN1015-Collections下的“快速入门指南”。

可以通过@TimYates

在SO上找到FindAll的{p> Another good example