显示模块是否具有至少1个基线

时间:2017-10-03 21:07:27

标签: module ibm-doors baseline

我有一个包含大量正式模块的文件夹,我想知道哪些模块至少有1个基线。我开始尝试这样的事情:

Item icurr
Folder scr = current Folder
Baseline b = baseline(1, 0, null)

for icurr in scr do
{
   if( baselineExists(icurr, b) )
   {
      print name(icurr)
   }
}

此代码的问题是baselineExists()仅接受Module对象作为第一个参数,当我将icurr声明为Module而不是Item for for循环时,这不会识别任何模块。

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是使用for baseline in module循环。 循环遍历所有项目,使用for item in folder(不包括子文件夹中的项目,您将需要循环遍历所有找到的文件夹的递归函数)或使用for item in project(将自动遍历递归)所有包含的文件夹和项目)。 对于每个项目,使用if 'Formal' == type i then {}检查它是否是(正式)模块。如果是这样,从项目中获取模块变量。通常,我使用Module m = read (fullName i, false, true); if !null m then...执行此操作。 然后,当您打开模块时,请使用

之类的代码
Baseline b = null
for b in m do {break} // stop loop at first found baseline
if (!null b) { 
   print "found a baseline in module " fullName(m) ": " major(b) "." minor(b)  " ("suffix(b)")\n"
}

评估后不要忘记关闭每个模块,否则脚本会占用大量内存