3

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.
4

1 に答える 1

1

私を助けようとしてくれたHughBrackettに感謝します。ネイティブのOrcaScriptを使用すると、読み取りエラーを回避できませんでした。残念ながら、私の経験では、「いいえ、PBDがライブラリリストの一部である場合、PB9はソース管理からのPBLのサブセットの更新をサポートしていません。 「」

安くはありませんが、回避策はあります。PowerBuilderのビルドと展開のためのサードパーティツールであるPowerGenについては、良いことしか聞いたことがありません。試用アプリを試してみましたが、素晴らしいと言わざるを得ません。必要なことは何でもできるようです。

ビルド自動化スクリプトをテストしました。PowerGenは、PBDファイルを開くことができないと通知しましたが、ロードしたいカスタムPBLオブジェクトを更新し続けました。問題は解決しましたが、それを行うにはいくらかの現金がかかりました。

于 2011-06-29T01:14:41.893 に答える