Далее используется выходной файл, который находится в C: \ Temp, но вы можете легко это изменить.
он работает путем сопоставления модулей с использованием строки grep, которую вы также можете изменить в соответствии с вашими предпочтениями.
У меня разные типы модулей, и поэтому я могу просто получить результаты по префиксу STR в этом случае. Я решил создать несколько сценариев для разных префиксных модулей, а не динамически передавать ключевое слово STR.
Вам необходимо ввести свою папку и подпапки для "modPathname"
затем настройте регулярное выражение «GrepString» в соответствии с вашим соглашением об именах
в качестве альтернативы вы можете обойти все это путем жесткого кодирования значений.
string filename = "C:\\TEMP\\STR_Baseline_Info.txt"
Stream outFile = write filename
string Modtype = "STR"
void PrintAndOutput ( string s)
{
// print (s) // Enable if you want output
outFile << s
}
void DisplayResults( string Modtype )
{
Item modItem
Module mName
Regexp GrepString = regexp2 "^" Modtype "-[0-8][0-9][0-9]"
Folder modPathname = folder "/EnterYourFolderHere/AnySubFolders/" Modtype ""
string fullModuleName , CommentStr , moduleName
Baseline b
PrintAndOutput "------------------------------------------------------------------------------\n"
CommentStr = "This File is automatically produced via the " Modtype " Baseline Info.dxl script. \n" Modtype " Versions as of : " dateAndTime(today) "\n"
PrintAndOutput CommentStr
PrintAndOutput "-------------------------------------------------------------------------------\n\n"
for modItem in modPathname do
{
if (type (modItem ) == "Formal")
{
moduleName = (name modItem)
if (GrepString moduleName)
{
fullModuleName = (fullName(modItem))
mName = read(fullName modItem , false)
b= getMostRecentBaseline (mName)
if (b != null )
{
PrintAndOutput moduleName " -\tBaseline : "(major b)"."(minor b)(suffix b) " \t " (dateOf b) "\n"
}
else
{
PrintAndOutput moduleName " \t### No Baseline Information ### \t" " \n"
}
}
}
}
}
DisplayResults ( Modtype)