2012-02-01 4 views
0

POMと同様に全コードベースをコミットして、複数のMavenプロジェクトのために一度に1つずつプロジェクトをチェックアウトするようにしますか?そのうちの1つにはいくつかのモジュールが含まれていますか?MAVENプロジェクトをSCMでどのように設定する必要がありますか?

POMをコミットするだけで、各POM内でSCM情報を設定する必要がありますか?

maven SCMプラグインを設定すると、コミット/チェックアウトはどのように機能しますか? Subversionを介してPOMを保存し、チェックアウトしてから、POMをマテリアライズして、対応するファイルの残りをそのプロジェクトにダウンロードしますか?もしあなたが新しいファイルを追加する必要があったのですが、あなたはmavenを通してSCMを使っていましたか?

私は非常にsvn(標準的な方法)を使用してファイルを保存することと、pmベースでSCM情報を保存することの違いについて混乱しています。 Mavenを使用してSCM情報をロードする方法については、まったくドキュメントがないようです。

SCM情報をPOMの内部に直接格納するのが最善でしょうか、以前に述べたように、それぞれのPOMを含むSVNにプロジェクト全体を追加するだけですか?

また、SCM情報を直接mavenに埋め込み、そのプロジェクトを実現する方がよいでしょうか? Maven SCMプラグインは、subclipseでうまく動作しますか?たとえば、プロジェクトをMaven POMから "実体化"した後、SVNからプロジェクトファイルをインポートし、バージョン管理下でEclipseに表示しますか?私がMaven POMにSCM情報を埋め込んでいた場合は、私のPOMファイルのみに別のSVNリポジトリを作成しますか?あるいは、私はすべてのPOMファイルを自分のエンジニアリングレポのトランクに直接入れますか?

誰かがこれを明確にするのに役立ちます。私は非常に混乱しています。ありがとう!

答えて

2

すべてのソースコードを常にSCMにコミットします。それ以外の場合は、ソースコードの履歴はありません。

また、SCMでpomをコミットします。それ以外の場合は、ビルド方法の履歴はありません。そのような履歴は、ソフトウェアの古いブランチを構築する上で重要です。ビルドとソースコードが密接に結合されているため、ソースコードと同じリポジトリにpom.xmlをコミットすることをお勧めします。

他のmavenツールを容易にするために、SCMをpom.xmlに記述することができます。それはオプションですが、私はあなたにそれをすることを強く勧めます。これにより、CIシステムは、ソースコードのコピーが最新であることを検証し、必要に応じて新しいコピーをチェックアウトするために必要な設定を行います。

実際にコードをチェックインするツールやプラグインは認識していません。あなたのソースコードをチェックインしないと、他のすべてのツールが単純なpom.xmlをチェックアウトします(これはSCM内にあるためです)、SCMリファレンスは誰にもソースをどこに伝えることはできませんコードは(それがSCMにないためです)。

+0

ブートストラップといいます。しかし、私は確信していません –

+0

私はSVNでプロジェクトを格納するとき、私はEclipseの.projectの設定とそれ以外のものは自動生成されません。私もEclipseプロジェクトをコミットする必要がありますか? svn(インポート> svnからのインポート)で私のmavenプロジェクトをチェックアウトし、 "ワークスペースでプロジェクトとしてチェックアウト"を選択すると、それをmaven/javaプロジェクトとして認識しません。それはpomとファイルを表示するだけですが、Mavenをサポートしていません。しかし、Mavenプロジェクトとしてプロジェクトをチェックアウトすると、それは動作しますが、ファイルがSVN制御下にあるとは見えません。それは奇妙だ。私は何が欠けていますか? –

+0

@SamLevin、一般的に私は日食をチェックしません。プロジェクトへの変更(実行時設定に引数を設定することを含む)は、svn更新時に消去されたり、svnコミット時に望ましくなく伝播したりする傾向があるためです。ただし、初期セットアップを容易にするためにファイルを分散させると便利です(また、どの項目を設定するか詳細を説明するマニュアルは必要ありません)。だから私は通常の場所の外に設定ファイルを置くフォルダを作って、そこに適切な場所にファイルをコピーする "setup"スクリプトを入れます。 –

関連する問題