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' />