読者です 読者をやめる 読者になる 読者になる

taketoncheir.log

Like the Decatoncheir by Poseidon Industrial, This blog is Yet Another Storage for My Long Term Memories.

TychoでEclipseプラグインへのテストを実行する

EclipsePlugin Maven Tycho

備忘録。

基本的には、tychoのgitリポジトリにある、tycho-demo/itp01以下を参考にすればよろし。

テストに使うPlugin本体プロジェクト内のクラスはどうやってビルドパスを通すのか?

本体プロジェクトのMANIFEST-MF内で、

Export-Package: sampleproj.handlers;x-friends:="SampleProj.test"

とすればいい。
これでjarを不要にコピーしてこなくても済む。
?もしかして?m2eclipseが解決してくれているのかも知れない。m2eclipseがない所でどうなるか要検証。
パッケージ名を指定しているが、*とか使えるかも知れない。

テストプロジェクトから、本体プロジェクトはどうやってBundleするの?

テストプロジェクト側にて、Require-Bundleに加える。

Require-Bundle: org.eclipse.ui,
 SampleProj;bundle-version="1.0.0",
 org.junit

java.lang.Exception: No runnable methodsが出て困る

これは、org.junitがBundleされていないから。
テストプロジェクト側にてRequire-Bundleに追加する必要あり。bundle-versionも指定できる。

Tychoは、pomよりもMANIFESTを優先させる。(MANIFEST-firstとpom-firstの二つのモードがある
ここでは、MANIFEST.MFのRequired-Bundleで依存性解決しているので、pom.xmlのdependenciesには本体プロジェクトを追加する必要はない。