Powerbuilder OrcaScript: как получить последнюю версию для подмножества PBL - PullRequest
3 голосов
/ 17 июня 2011

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.

1 Ответ

1 голос
/ 29 июня 2011

Спасибо, Хью Брэкет, за попытку помочь мне.Я не смог обойти ошибки чтения при использовании собственного OrcaScript.Так что, к сожалению, у меня нет фактического ответа на этот вопрос, как написано, за исключением того, что, по моему опыту, «Нет, PB 9 не поддерживает обновление из управления исходным кодом подмножества PBL, когда PBD являются частью списка библиотек»."

У меня есть работа, хотя и не дешевая.Я ничего не слышал о хороших вещах о PowerGen, стороннем инструменте для сборки и развертывания PowerBuilder.Я опробовал пробное приложение, и я должен сказать, что оно выдающееся.Кажется, он может делать все, что вам нужно.

Я протестировал скрипт автоматизации сборки.PowerGen уведомил меня, что не может открыть файлы PBD, но продолжил обновлять пользовательские объекты PBL, которые я хотел загрузить.Проблема решена, хотя это стоило денег.

...