OpenRTM-aist-110 Java版リリース作業¶
本ページは、OpenRTM-aist-110 Java版リリース作業の作業メモです。
準備¶
Jenkins url¶
ノード¶
- openrtm-java-linux (Ubuntu)
- openrtm-java-win32 (Windows7)
ノードの起動¶
ログインして Jenkinsの 99_Machine OP のタブかstartup-esxi のジョブを起動
プロジェクト(順番)¶
プロジェクトは以下の順番で流れる。
00_openrtm-java-build-trunk
10_openrtm-java-test-trunk
20_openrtm-java-dist-trunk
30_openrtm-java-package-trunk-win
以下に各プロジェクトを記述する。
00_openrtm-java-build-trunk¶
ビルドおよびjarファイル,ドキュメントファイルのビルドを行う
- ノード
openrtm-java-linux - シェルの実行
export JAVA_HOME=/usr/ ./buildRTC.sh
- 出力ファイル
- サンプルコンポーネント
- javaDoc
- jarファイル
jp.go.aist.rtm.RTC/jar/OpenRTM-aist-1.1.0.jar jp.go.aist.rtm.RTC/jar/LogicalTimeTriggeredEC.jar jp.go.aist.rtm.RTC/jar/rtcprof.jar jp.go.aist.rtm.RTC/jar/NameserviceFile.jar jp.go.aist.rtm.RTC/jar/source/OpenRTM-aist-Java-1.1.0-RELEASE.tar.gz jp.go.aist.rtm.RTC/jar/source/OpenRTM-aist-Java-1.1.0-jar jp.go.aist.rtm.RTC/jar/source/OpenRTM-aist-Java-1.1.0-jar.zip jp.go.aist.rtm.RTC/jar/source/OpenRTM-aist-Java-1.1.0.zip jp.go.aist.rtm.RTC/installer/resources/Source/jar/rtcd.jar jp.go.aist.rtm.RTC/installer/resources/Source/jar/OpenRTM-aist-1.1.0.jar jp.go.aist.rtm.RTC/installer/resources/Source/jar/LogicalTimeTriggeredEC.jar jp.go.aist.rtm.RTC/installer/resources/Source/jar/rtcprof.jar jp.go.aist.rtm.RTC/installer/resources/Source/jar/NameserviceFile.jar
- 作業進捗
- リポジトリのtrunkからソースコードをダウンロードして ./buildRTC.sh が failure なしで動作することを確認。
ant1.8以上が必要。(antのバージョンが合わないとnative2asciiが見つからない 旨のエラーが発生する。) - Jenkinsで実行してfailure なしで動作することを確認。
- リポジトリのtrunkからソースコードをダウンロードして ./buildRTC.sh が failure なしで動作することを確認。
10_openrtm-java-test-trunk¶
- ノード
openrtm-java-linux - シェルの実行
export JAVA_HOME=/usr/ ./buildTests.sh
- 出力ファイル
20_openrtm-java-dist-trunk¶
tar,zipなど配布用ファイルの作成を行う。
- ノード
openrtm-java-linux - シェルの実行
export JAVA_HOME=/usr/ sh buildPackage.sh
- 出力ファイル
- 作業進捗
30_openrtm-java-package-trunk-win¶
- ノード
openrtm-java-win32 - バッチコマンドの実行
set JAVA_HOME=C:\jdk1.6.0_32 C:\Cygwin\bin\unzip.exe 00_openrtm-java-build-trunk.zip cacls 00_openrtm-java-build-trunk /T /E /C /G Everyone:F cd 00_openrtm-java-build-trunk call buildInstaller.bat
- 出力ファイル
- 実行ファイル
rtcd_java.exe
- 実行ファイル
- 作業進捗
- インストール
- jsmooth-0.9.9-7-setup.exe インストール
- python yaml インストール
http://pyyaml.org/download/pyyaml/
- 環境変数の設定
環境変数の設定は jenkins プロジェクトの設定で行う方向で進める。- JSMOOTH_HOMEの設定(修正)
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51\
- JSMOOTH_HOMEの追加
set JSMOOTH_HOME=C:\Program Files (x86)\JSmooth 0.9.9-7\
- pathの追加
set PATH=%PATH%;C:\Program Files\Java\jdk1.7.0_51\bin;C:\Python27;C:\Program Files (x86)\WiX Toolset v3.8\bin
- WIX_HOMEの追加
set WIX_HOME=%WIX%
- unzip.exeのpathの変更
C:\Cygwin64\bin\unzip.exe 00_openrtm-java-build-trunk.zip
- JSMOOTH_HOMEの設定(修正)
- インストール
- 準備
- RTSystemEditorRCP.exe
msi を作成するために、 RTSystemEditorRCP.exe が必要。
とりえあず、現在、java版(OpenRTM-aist-Java-1.1.0-RC1.msi)に同梱されているものを C:\distribution\OpenRTP\RTSystemEditor に準備してテストする。+--C:\ +--distribution +--OpenRTP +--RTSystemEditor +--configuration +--plugins +--eclipseproduct +--RTSystemEditorRCP.exe
- RTSystemEditorRCP.exe
- RTSystemEditorRCP.exe
msi を作成するために、 RTSystemEditorRCP.exe が必要。
jenkins のプロジェクトを作成する必要あり。
まず、調査。- eclipse でのビルド方法
1.eclipse で rtmtools をエクスポートする。
2.jp.go.aist.rtm.systemeditor.RCP\RTSystemEditor.product をクリックして開く。
3.[概要]-[エクスポート]-[Eclipse製品エクスポートウェーザード]をクリック。(「 eclipse 製品」が開く。)
4.「宛先(D)」の「ディレクトリ(Y):」を指定して、「完了」をクリック。
これで RTSystemEditorRCP.exe が出力される。
- eclipse でのビルド方法
windows で java build エラー¶
OpenRTP_inc.wxs が不正のようで、RCP 版 RTSE の plugins のチェックでエラーがでる¶
- 問題
jp.go.aist.rtm.RTC\installer\win32\build.cmd で OpenRTP_inc.wxs が存在しない場合、生成するがうまくいっていない。
OpenRTP_inc.wxs は jp.go.aist.rtm.RTC\installer\win32\OpenRTP\openrtpwxs.py によって生成される。
openrtpwxs.py は
まず、C:\\distribution\\OpenRTP\\RTSystemEditor また RTSE_ROOT からファイルのリストの yaml ファイルを生成する。
それらの yaml ファイルから OpenRTP_inc.wxs を生成する
buildRTC.bat が実行されているこが条件buildInstaller.bat ->jp.go.aist.rtm.RTC\build.xml(ant) ->createExe ->javainstaller ->jp.go.aist.rtm.RTC\installer\win32\cleanup.cmd ->jp.go.aist.rtm.RTC\installer\win32\build.cmd
- 対策
エラー ICE18¶
- 問題
[exec] C:\Users\katami\work\aist\RJP701A\trunk\jp.go.aist.rtm.RTC\installer\win32\OpenRTM-aist-Java.wxs(96) : error LGHT0204 : ICE18: KeyPath for Component: 'ENV1' is Directory: 'Version'. The Directory/Component pair must be listed in the CreateFolders table.
- 対策
OpenRTM-aist-Java.wxs.in の ComponentRef Id を修正/削除
エラー¶
- 問題
[exec] torch.exe : error TRCH0103 : The system cannot find the file 'C:\Jenkins\workspace\30_openrtm-java-package-trunk-win\00_openrtm-java-build-trunk\jp.go.aist.rtm.RTC\installer\win32\OpenRTM-aist-Java-1.1.0_zh-tw.msi' with type 'Database'.
- 対策
WixUI_zh-tw.wxl に Codepage を追加
エラー ICE18¶
- 問題
ICE18: KeyPath for Component: 'ENV1' is Directory: 'Version'. The Directory/Component pair must be listed in the CreateFolders table. - 対策
エラー ICE43¶
- 問題
ICE43: Component XXXXXXXX has non-advertised shortcuts. It should use a registry key under HKCU as its KeyPath, not a file. - 対策
HKCUはユーザ固有の情報を書き込むレジストリのため、インストーラでは書き込まないほうがトラブルがないと考えます。
エラー ICE57¶
- 問題
ICE57: Component 'XXXXXXX' has both per-user and per-machine data with a per-machine KeyPath. - 対策
エラーICE43が発生しているため、それに伴って発生してるようです。
このエラーは無視します。
エラー ICE61¶
- 問題
ICE61: Upgrade.VersionMax cannot be equal to Upgrade.VersionMin unless both Min and Max are inclusive, otherwise no version will match. (OLDERVERSIONBEINGUPGRADED) - 対策
OpenRTM-aist-Java.wxs.in の UpgradeVersion タグの IncludeMaximum を修正。
ワーニングにかわった。
エラー ICE64¶
- 問題
ICE64: The directory XXXXXX is in the user profile but is not listed in the RemoveFile table. - 対策
以下のタグを追加
<RemoveFolder Id='RemoveXXXXXX' Directory='XXXXXX' On='uninstall' />