2011年11月28日月曜日

SWTBotのantからの起動

SWTBotを自動化するためにantから起動できる方法を簡単に調べてみました。
eclipse.junit4.headlessのlibrary.xmlのantfileを起動するだけということ。
あとは、引数やプロパティを設定するだけという簡単な仕組みらしいです。
ふぅ〜ん。簡単じゃん。
でもMac動かないよw
Win環境がないから、プロパティが悪いのか、macのバグなのかわからない。
macはSWTのバグが結構多いらしいので、ちょっと踏んでる可能性があるからなぁ。
一応-XstartOnFirstThreadは渡しているから大丈夫なはず。
会社で調べてみるか。。。


  1. <project basedir="." default="run" name="testsuite">  
  2.  <property name="eclipse-home" value="/Users/xxxx/work/eclipse">  
  3.  <property name="plugin-name" value="ph.jpn.calm.swtbot.example">  
  4.  <property name="test-classname" value="MyFirstTest02">  
  5.  <property name="swtbot" value="org.eclipse.swtbot.eclipse.junit4.headless_2.0.5.20111003_1754-3676ac8-dev-e36">  
  6.  <property name="library-file" value="${eclipse-home}/plugins/${swtbot}/library.xml">  
  7.    
  8.     <description>  
  9.             description  
  10.     </description>  
  11.  <target name="suite">  
  12.   <property name="jvmOption" value=""></property>  
  13.   <property name="temp-workspace" value="workspace"></property>  
  14.   <ant antfile="${library-file}" dir="${eclipse-home}" target="swtbot-test">  
  15.    <property name="data-dir" value="${temp-workspace}"></property>  
  16.    <property name="plugin-name" value="${plugin-name}"></property>  
  17.    <property name="os" value="macosx">  
  18.    <property name="ws" value="cocoa"></property>  
  19.    <property name="arch" value="x86"></property>  
  20.    <property name="classname" value="${test-classname}"></property>  
  21.    <property name="vmargs" value="-Dosgi.requiredJavaVersion=1.5 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms40m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts">  
  22.   
  23.   
  24.   </property></property></ant>  
  25.     
  26.  </target>  
  27.  <target name="cleanup"></target>  
  28.    
  29.     
  30.       
  31.     <target depends="suite,cleanup" description="description" name="run">  
  32.           
  33.     </target>  
  34.   
  35.       
  36.     <target name="depends">  
  37.     </target>  
  38.   
  39. </property></property></property></property></property></project>  

2011年11月22日火曜日

RCPのdropins機能をつける


  1. 以下プラグインをdependencyに追加
    1. org.eclipse.equinox.p2.reconciler.dropins
    2. org.eclipse.equinox.ds
  2. 製品構成ファイルのconfigurationタブでスタートレベルを設定する。
    1. 以下プラグインはautoStartをtrueに
  3. 製品構成ファイルと同じディレクトリにp2.infファイルを作成する。ファイル内容は下記内容
  4. この設定によってRCPのエクスポートを行うとdropinsディレクトリが作成されている。そのため、dropinsにプラグインを配置すると自動的に読み込んでくれる。
<configurations >
<plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
<plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="5" />
<plugin id="ph.jpn.calm.rcp.sample" autoStart="false" startLevel="6" />
</configurations >

instructions.configure=\
mkdir(path:${installFolder}/dropins);

2011年11月20日日曜日

Apache Geronimo 3.0βリリース

Apache Geronimoは使ったことはないけど、ちょっと気にはかけているアプリケーションサーバです。JBoss,Weblogic,Glassfishが強いイメージですが、日本でどのくらい利用されているかは残念ながら知りません。

とりあえずJava,Groovyのみでできているアプリケーションサーバで、今回注目なのはOSGi対応になったらしくApache Felix Karafが組み込まれたということです。
今までのプラグイン機能を実現していたGBeanという機能が完全にOSGiのフレームワークに則ったシステム構成になるということです。


本家サイト:
http://geronimo.apache.org/
日本語サイト:
http://www.geronimo-users.jp/