C / C ++ projeleri için Maven'i kullanma


85

Maven'i amatör, kötü yazılmış ve açıkçası ilkel C / C ++ kodu (yani biraz C, biraz C ++) kümesinin etrafına yerleştiriyorum. Sorun şu ki - şu anda dolaşımda çok var ve kolayca değiştirilemez. Bunu inşa etmek çok fazla kabile bilgisi gerektirir (sadece çeşitli parçaları nasıl derleyeceğinizi / oluşturacağınızı öğrenmek için küpten kübe gitmeniz gerekir) ve serbest bırakmak tam bir kabus. (Hayır - yeniden yazmayacağım, lütfen sormayın) Sorum şu - maven-native-pluginçok sayıda kısa makefilesini mi yoksa exec-maven-pluginsadece bunları çalıştırmak için mi kullanmalıyım ? Ben oldukça iyi bir deneyim şimdiye kadar .NET yapıyor ikincisi ile ve ben içine yatırım yapmalıyım bilmiyorum nativeile eklentisi veya kal exec? "Mavenizing" C / C ++ deneyiminiz olsaydı, biraz tavsiye almak isterim.


Ben de denemek üzereyim. Gördüğüm gibi, hala korunuyor ve bu arada burada taşındı: github.com/sonatype/maven-nar-plugin
espakm

Yanıtlar:


90

Maven-nar eklentisini şiddetle tavsiye ederim . Birçok yönden alternatiflere göre üstün buluyorum. Kaynak dosyaların listelenmesini gerektirmez, birden çok işletim sistemi ve mimariyi yönetir, birim ve entegrasyon testlerini gerçekleştirir ve genellikle "maven yolunu" izler. Önem verdiğiniz yapıyı (.dll, .so, .a, .exe, vb.) Ve ayrıca meta verileri, üstbilgileri vb. İçeren yeni bir tür paketleme - NAR veya "yerel arşiv" sunar. mantıklı bir yol.

Üçüncü taraf yazılımları NAR'lara paketlemek için biraz ön çalışma gerektiriyor, ancak oldukça basit. NAR olduklarında, onlarla bağlantı kurmak için normal Maven bağımlılık mekanizmasını kullanırsınız, örneğin:

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

Bir dezavantajı, aktif olarak korunuyor gibi görünmemesi, ancak tam özellikli olması ve Maven eklenti yazımının oldukça etkileyici bir örneğidir.


İpucu için teşekkürler - kesinlikle kontrol edeceğim!
Bostone

Bunu cevap olarak kabul edeceğim - bu gerçekten de maven-native-eklentisinden daha üstün görünüyor
Bostone

İyi şanslar. Unutulmaması gereken bir şey - Bu sabah (ne kadar tesadüfi) bir yıl önce gönderdiğim bir hatanın bugün çözüldüğüne dair bir bildirim aldım - bakımın tepki verdiği görülüyor.
SingleShot

2
Görünüşe göre maven-nar-plugin şu anda sonatype tarafından tutulan etkinlik: konular.sonatype.org/browse/NAR
tommy chheng

1
nar-maven-eklentisi örneklerini kullanırken, çalışması için aşağıdakileri yapın: mvn paketi - bu, test paketlerini oluşturur ve ardından NarSystem'e bağlı olan testi çalıştırmak mümkündür
2016
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.