OrcaScriptは便利です
以前、PowerBuilder OrcaScriptを使用して、ビルドPCのソース管理への接続を自動化し、アプリケーションオブジェクトの最新のコピーを取得して、アプリケーションをビルドしました。しかし、それはアプリケーション全体が自由に使えるプロジェクトであり、すべてのコードを所有しており、OrcaScriptはアプリ全体の構築に問題はありませんでした。
しかし今、私はPBLのサブセットについて最新のものを入手する必要があるだけです
現在、既存のサードパーティアプリケーションをカスタマイズするプロジェクトに取り組んでいます。したがって、すべてのプロプライエタリサードパーティPBDを参照できる必要がありますが、ベンダーアプリのフレームワークに統合されたカスタムコードを含むソースからのPBLのみを更新する必要があります。更新が完了したときにのみ、更新されたカスタムPBLをアプリケーションディレクトリに移動します。
私はかなりの実験を行ってきましたが、必要なPBLのサブセットのみを正常に更新できませんでした。
まず、これはOrcaScriptで実行できますか?
第二に、可能であれば、私は何が欠けていますか?私は成功しました:
- プロパティを設定し、ソース管理に接続します
- ターゲットに対して「getlatest」を実行しました。これにより、OrcaScriptが必要な空のPBLを作成するようです。
- 独自のサードパーティPBDをライブラリリストから除外しました
問題はscc refresh target
コマンドにあります。ログには、書き込みアクセスの問題が原因でプロセスが失敗したことが示されていますが、問題のオブジェクトまたはライブラリが指定されていません。リスト内のオブジェクトから読み取り専用ステータスを削除しようとしましたが、これは問題ではないようです。
さまざまな更新タイプとビルドオプションを試しましたが、更新を通過できないようです。
---補遺---
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を実行すると、最終的に更新時に次のエラーが発生します。「sccrefreshtarget」のOrcaエラー。結果コード-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.