素人で、よく書かれていない素朴なC/C++コード(いくつかのC、いくつかのC++を意味する)のクラスタにMavenを構築しています。問題は - 現在流布しているものがたくさんあり、簡単に交換することはできません。それを構築するにはたくさんの部族の知識が必要です(さまざまな部分をコンパイル/ビルドする方法を知るためにはキューブからキューブに移動する必要があります)、リリースは完全な悪夢です。 私の質問は - maven-native-plugin
を使って多数の短いメイクファイルを置き換えるか、または単にexec-maven-plugin
を使ってこれらを実行するのですか?いいえ、私はそれを書き直すつもりはありません。 pretty good experienceこれまで.NETを行っていて、native
プラグインに投資するか、exec
で泊まるべきかどうかわからないのですか? 「Mavenizing」C/C++の経験がある方は、アドバイスを受けたいと思っています。C/C++プロジェクト用Mavenの使用
答えて
maven-nar-pluginを強くお勧めします。私はそれを多くの点で代替案よりも優れていると感じています。ソースファイルの一覧表示、複数のOSやアーキテクチャの処理、ユニットテストと統合テストの処理は不要で、一般的に「メイヴェン」に従います。気になるアーティファクト(.dll、.so、.a、.exeなど)だけでなく、メタデータ、ヘッダーなども含めた、新しい種類のパッケージ(NARまたは "ネイティブアーカイブ")を紹介します。それは理にかなっている。
サードパーティ製のソフトウェアをNARにパッケージ化するには、少し手間がかかりますが、かなり簡単です。
<dependency>
<groupId>cppunit</groupId>
<artifactId>cppunit</artifactId>
<scope>test</scope>
</dependency>
一つの欠点は、積極的に維持されることが表示されないことであるが、フル機能で、次のとおりです。彼らはのNARがしたら、あなたは単に例えば、それらとリンクする通常のMavenの依存関係のメカニズムを使用しますMavenプラグインオーサリングのかなり印象的な例です。
チップのおかげで - 私は間違いなくそれをチェックアウトする! – Bostone
私は答えとしてこれを受け入れるつもりです - これは本当にmaven-native-pluginよりも優れているようです。 – Bostone
幸いです。 1つ注意すべき点 - 私は今朝(1年前に提出したバグが解決された)午前(どのように偶然)の通知を受けました。メンテナンスは反応したようです。 – SingleShot
私はもう試してみようとしています。私が見ているように、それはまだ維持され、ここで移動している:http://github.com/sonatype/maven-nar-plugin – espakm