プロジェクト

全般

プロフィール

OpenRTM-aist-110 Java版リリース作業

本ページは、OpenRTM-aist-110 Java版リリース作業の作業メモです。

準備

Jenkins url

http://www.openrtm.org:8080/

ノード

  • 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 なしで動作することを確認。

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
  • 作業進捗
    • インストール
    • 環境変数の設定
      環境変数の設定は 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
        
  • 準備
    • 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
    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 が出力される。

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