2009-10-09 6 views
79

Maven, amatör, kötü yazılmış ve açık sözlü - ilkel C/C++ kod kümesini (bazı C, bazı C++) kastediyorum. Sorun şu ki - şu anda dolaşımda bir sürü var ve kolayca değiştirilemez. Bunu inşa etmek çok kabiliyetli bir bilgi gerektirir (sadece küpün küpe gitmesini ve sadece çeşitli parçaları nasıl derleyeceğimizi/bulmayı öğrenmeniz gerekir) ve serbest bırakmak tamamen kabus. (Hayır - yeniden yazmayacağım, plz sorma) Sorum şu: - çok sayıda kısa maket değiştirmek için maven-native-plugin kullanmalı mıyım yoksa bunları çalıştırmak için exec-maven-plugin mu kullanmalıyım? Şu anki .NET ile birlikte pretty good experience vardı ve native eklentisine yatırım yapmam veya exec ile birlikte kalmam gerekip gerekmediğini bilmiyorum? "Mavenizing" C/C++ ile deneyimliyseniz, biraz tavsiye almak isterim.C/C++ projeleri için Maven kullanımı

+0

Sadece denemek üzereyim. Gördüğüm gibi, hala devam ediyor ve bu arada buraya taşındı: http://github.com/sonatype/maven-nar-plugin – espakm

cevap

83

maven-nar-plugin'u kesinlikle öneririm. Alternatifler için birçok yönden üstün buluyorum. Kaynak dosyaların listelenmesini gerektirmez, birden çok işletim sistemi ve mimariyi işler, ünite ve entegrasyon testlerini kullanır ve genellikle "maven yolu" nu takip eder. NAR ya da "native arşivi" gibi yeni bir tür ambalajın tanıtımıyla ilgilenirsiniz (örneğin .dll, .so, .a, .exe, vs.). Ayrıca metadata, üstbilgiler vb. mantıklı olan yol.

Üçüncü taraf yazılımlarını NAR'lere paketlemek için biraz ön çalışma gerektirir, ancak oldukça basittir.

<dependency> 
    <groupId>cppunit</groupId> 
    <artifactId>cppunit</artifactId> 
    <scope>test</scope> 
</dependency> 

Bir dezavantajı aktif tutulmasını görünmüyor, ama tam özellikli ve bir: onlar NARS işlemleri başladıktan sonra, basitçe, örneğin onlarla bağlamak için normal bir Maven bağımlılık mekanizmasını kullanın Maven eklentisi yazarının oldukça etkileyici bir örneği.

+0

Bahşiş için teşekkürler - Kesinlikle kontrol edeceğim! – Bostone

+0

Bunu cevap olarak kabul edeceğim - bu gerçekten de maven-native-plugin – Bostone

+0

İyi şanslar için daha üstün görünüyor. Unutulmaması gereken bir şey var - bir sene önce gönderdiğim bir hatanın bugün nasıl çözüldüğünü (bu tesadüf eseri) bir bildirim aldım - bakımın tepkisi görülüyor. – SingleShot