[Seasar-dev:180] Re: [s2dao] s2daoのMaven2化

Hirotaka HONMA manhole
2005年 11月 10日 (木) 11:33:50 JST


本間です。

On 11/10/05, Koichi Kobayashi <koichik @ improvement.jp> wrote:

> > > s2daoは、s2daoとs2dao-examplesの2つに分割しようと思います。
> > > (s2-frameworkとexamplesが分かれたのと同様に)
> > > backportとtigerとありますが、とりあえずs2daoだけ作業してみます。
> >
> > S2conteinerはs2-frameworkとexamplesソースディレクトリ
> > が分割されただけでプロジェクトは分かれていないようですが。
> > どちらにせよexamplesは同じプロジェクトにしといたほうが
> > らくだと思うのですがどうでしょうか。
>
> おそらく,「Maven のプロジェクト」としては 2 つに
> 分割するということでしょう.
> S2 は Eclipse プロジェクトとしては 1 つですが,Maven
> プロジェクトとしては s2-framework と s2-extension,
> そして examples の 3 つから構成されています.

試験的に、s2dao, s2dao-examplesは「Eclipseのプロジェクトとし
ても」分けてみました。

理由は、exampleのコードが本体のコードに影響を与えてしまうの
を避けるためです。
Eclipseでは1プロジェクト内で1つの空間になるようで、examples
に置いたコードやリソースをmainやtestから参照できてしまいます。
このため、Eclipse上では正しく動いていても、Mavenから実行する
と失敗することがあり得ます。
s2containerのようにMavenとして別にしておけばMaven実行時に検
出できますが、早めに(Eclipseを使っている時点で)検出できた方
が楽かなと感じたことが動機です。

もちろん上原さんの「examplesが同じプロジェクトの方が楽」と
いう気持ちもわかります。
「Eclipseのプロジェクトとして1つ」でもMaven実行時には検出で
きますから、クリティカルな問題ではありませんし。

どういった構成が良いかこの場で検討できたらと思います。

今のところの選択肢は3つあるかと。

(A) Eclipse・Mavenともに1プロジェクト (現状のs2dao-backport175形式)
(B) Eclipseとしては1プロジェクトかつMavenとしては別プロジェクト
    (現状のs2container形式)
(C) Eclipse・Mavenともに別プロジェクト。(= Eclipse1につきMavenも1)
    (現状のs2dao・s2dao-examples形式)

よろしくお願いします。


> P.S.
> S2 も含めて,個人的には examples は Maven リポジトリにデプロイ
> する必要がないように思うのですが,どうでしょう?

ええ、jarで配布されていても利用される方はいないでしょうし。

(a) 現状のs2dao-backport175のようにsrc/examplesへ置く
(b) 現状のs2dao-examplesのように完全に別プロダクトとする
(c) S2を例にすると、mvn clean deployを、s2-framework,
    s2-extensionそれぞれで実行する
    (2.3.0では親から実行したので子であるframework,
    extension, examplesがまとめてデプロイされています)

と3通りの手段があるかと思います。
ひょっとしたら「特定のartifactはdeploy対象外にするよ」といった
設定が可能かも知れませんが、これは要調査です。

現実路線では(c)でしょうか。
(試していないので本当にできるかはわかりませんが、おそらくOK
と思います)


seasar-dev メーリングリストの案内