我有一个场景,使用ANT Script
我必须使用属性文件从SVN获取代码。
文件具有属性projectlib
其中模块中使用的库以逗号分隔值的形式列出,其相应的修订号列在下面的属性projectlib.revision
中。
我必须获取带有相应修订号的项目库。
属性文件如下所示:
projectliblist=XXXXLib1,XXXXLib2
projectlibrevision=3195,3289
例如,在这里我必须从3195
获取XXXXLib1
,并从3289
获取XXXXLib2
。
我需要逻辑将 projectlib 与相应的修订号匹配,而不是此场景的完整脚本。
我尝试使用 For 列表,但我不知道如何索引参数列表。
你显示的一对列表属性的问题是(至少使用 ant-contrib:for)你没有办法交叉引用它们。
这个答案显示了如何使用ant-contrib:for/macrodef轻松地交叉引用属性,并且可能作为示例很有用。
对于您的情况,我建议您更改属性结构,使其在 Ant 中更易于使用,例如:
projectliblist=XXXXLib1,XXXXLib2
projectlib.XXXXLib1.revision=3195
projectlib.XXXXLib2.revision=3289
您可以按照我上面链接的答案中的模式消费,或者可能:
projectliblist=XXXXLib1/3195,XXXXLib2/3289
您可以在循环中使用,该循环将每个列表元素分成两部分并传递给具有两个属性的 macrodef。