2016-09-09 11 views
0

Мне нужно создать базовую линию «Первый релиз» для каждого модуля в папке, но я не знаю, возможно ли это. По крайней мере, можно создать базовую линию для одного модуля каждый раз?Возможно ли создать базовый уровень для каждого модуля в Папке с использованием сценария dxl (DOORS)?

Вы заранее заблаговременно

ответ

1

Да, это довольно прямолинейно. Я предполагаю, что вы в основном знаете, как писать сценарии DXL, так что вот только основные части. Подробности и примеры всегда можно найти в руководстве DXL или на форуме developerWorks для DXL (http://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000001527)

Ваша программа будет состоять в основном из цикла, который перемещает все модули в папке. Ваша точка будет

Folder fStart = folder "/project/myfolder/mysubfolder" 

Вы не писали ли ваши модули только или вы должны рекурсивно пройти папку в одной папке. Предполагая, что нет рекурсии. Итак, теперь ваш код будет проходить через папку. Это делается через

Itam iCurrent 
for iCurrent in fStart do { 
    if (type iCurrent == "Formal") { 
     myCreateBaselineForModule(module iCurrent) 
    } 
} 

Наконец, вам нужно будет создать базовую линию. Предполагая, что вы хотите создать основную версию без суффикса вы уверены, что ни один модуль не открыт или имеет несохраненные изменения, и у вас достаточно прав доступа, код будет просто

void myCreateBaselineForModule (Module mod) { 
    create (mod, nextMajor(), "") 
} 
+0

Спасибо! Мне нужно было только изменить тип iCurrent на модуль. У меня есть еще одно сомнение. Как изменить разрешения на эксклюзивное редактирование? Я прочитал, что его можно установить с помощью setExclusive(), но я не уверен, какие аргументы для этой функции. –

+1

см. Http://stackoverflow.com/questions/39474201/how-to-give-exclusive-edit-permissions – Mike