OrcaScript удобен
Ранее я использовал PowerBuilder OrcaScript для автоматизации подключения ПК сборки к управлению исходным кодом, получения последней копии объектов приложения и последующей сборки приложения.Но это было в проекте, где все приложение было в нашем распоряжении, и мы владели всем кодом, и у OrcaScript не было проблем со сборкой всего приложения.
Но теперь мне нужно получать последние версии только для подмножества PBL
Сейчас я работаю над проектом, в котором мы настраиваем существующее стороннее приложение.Поэтому мне нужно иметь возможность ссылаться на все проприетарные PBD сторонних производителей, но обновлять только PBL из источника, содержащего наш пользовательский код, который интегрируется в платформу приложения поставщика.Мы только переместим обновленные пользовательские PBL в каталог приложения после завершения обновления.
Я немного экспериментировал, но не смог успешно обновить только ту часть PBL, которая мне нужна.
Во-первых, возможно ли это сделать в OrcaScript?
Во-вторых, если это возможно, чего мне не хватает?Я успешно:
- установил свойства и подключился к управлению исходным кодом
- выполнил «get last» для цели, что, похоже, заставило OrcaScript создать необходимые пустые PBLs
- исключил проприетарные сторонние PBD из списка lib
Проблема в команде scc refresh target
.Журналы показывают сбой процесса из-за проблемы с доступом для записи, но проблемный объект или библиотека не указаны.Я пытался удалить статус «только для чтения» из объектов в списке, но это, похоже, не является проблемой.
Я экспериментировал с различными типами обновления и вариантами сборки, но, похоже, не смог получитьпосле обновления.
--- ADDENDUM ---
Orcascript:
start session
scc get connect properties "Y:\Project\Release\PBWorkspace.pbw"
scc connect
scc set target "Y:\Project\Release\Starboard.pbt" "outofdate exclude_checkout"
scc get latest version "Y:\Project\Release\Starboard.pbt"
scc exclude liblist “Many proprietary PBDs excluded here”
scc refresh target "migrate"
scc close
;File copies to happen here
end session
Запуск orcascr9.exe в конечном итоге приводит к этомуошибка при обновлении: ошибка Orca в 'scc refresh target'.Код результата -22.
Журнал находится ниже.
6/16/2011 17:15 Source Management Initialization...
Scc Provider: PushOk SVNSCC
Connection to source control established
PBORCA_SccSetTarget: y:\project\release\Starboard.pbt
Target settings: REFRESH OUT OF DATE | EXCLUDE CHECKOUT
PushOk SVNSCC Status: Fetching file list for: Y:/Project/Release/
App Name: Starboard App Lib: y:\Files\StarboardPB\application.pbl
Library List: Many PBLs and PBDs identified
Successfully created library: c:\projects\Starboard scripts\powerbuilderobjects\custom.pbl
Successfully created library: c:\projects\Starboard scripts\powerbuilderobjects\custom_maps.pbl
PBORCA_SccGetLatestVer
PBORCA_SccExcludeLibraryList:
Much excluding going on here
PBORCA_SccRefreshTarget. Migrate and Full Rebuild
PushOk SVNSCC Status: Fetching file list for: C:/Projects/Starboard Scripts/PowerBuilderObjects
PushOk SVNSCC Status: Fetching status for : C:/Projects/Starboard Scripts/PowerBuilderObjects
Если я удаляю PBL из каталога, я получаю следующие ошибки при обновлении
DIFF2002 SccDiff error. Unable to read PBL source for c:\projects\Starboard scripts\powerbuilderobjects\custom.pbl(d_nautical.srd)
Calling cm_rebuild_application(CM_REBUILD_MIGRATE).
(0002): Error C0193: One or more of the files in your library list could not be opened for write.
Errors encountered during import/compile. Check SMS log.
PBORCA_SccClose
6/16/2011 17:16 Source control terminated
Если я оставлю PBL на месте, я получу это
Calling cm_rebuild_application(CM_REBUILD_MIGRATE).
(0001): Error C0193: One or more of the files in your library list could not be opened for write.