2010-12-07 12 views
11

Ayrıca Maven (standart yapı & ambalaj, artifact repo, vb) gibi Java (ve C/C++), özellikle Python ve .NET (C#) destekleyen bir araç bulmaya çalışıyorum. Özellikle iyi bağımlılık yönetimi istenir.Birçok dil için çalışan herhangi bir Maven benzeri bir araç var mı?

Yerinde karma bir dil mağazası işletiyoruz ve şu andaki evde yetiştirilen python tabanlı "über-buildsystem" muhtemelen uzaklaşmalı. Bu ayrıntılı yapılar yapmaya çalışmayın, sadece modüller/projeler arasındaki bağımlılıkları işler, derlenmiş eserler (C++ davasındaki kütüphane başına birkaç yüz mega) indirir ve mevcut .sln/.vcproj msbuild/easy_install/etc çağırır Gerçek yapıyı/etc dosyalarını yapmak.

Bu işe yarıyor, ancak çoğunlukla yapıp yapamayacağımı ve yapamayacağımı bildiğim için ve yeni şeyler gerektiğinde onu genişletiyorum. Bu, diğer geliştiricilerin ona yardım etmesine gerçekten yardımcı olmuyor ve daha fazla odaklanmamam gerekiyor. (Değil o kadar iş var ve olsa zorlayıcı bir alternatif olarak görünmüyor.) Böylece

:

  • Python'un Setuptools sadece Python (ve bazı c gibi görünüyor ++ ->. pyd derleme).
  • Maven çoğunlukla Java, ve bazı C/C++, çoğunlukla JNI için yapar.
  • C/C++ için hiçbir şey yok mu? (Yapı için qmake/cmake)
  • .NET için bazı öğeler var, ancak Visual Studio ve MSFT araç zincirinin dışında iyi çalışıyorlar mı?

Başka bir Maven'i (ancak daha esnek bir destekle), Ant'in tepesinde (çoğunlukla Beanshell kullanarak) inşa etmek, daha önce yaptığım bir şeydir. Mevcut Python-maddeleri bunun bir dalı.

Güncelleme:

Ant + Ivy yukarıda belirtildiği gibi, üst üste biraz bina gerektirecektir, ama biz görevleri ve bir obje inşa fazlasını elde beri, muhtemelen bugün ne var daha iyi bir vakıf var kutunun dışında repo. (Bkz. Maven Like dependency management for C++)

Tüm yardımlar sıcak takdire değer!

+0

Bu gerçekten güzel bir soru. Ben de bir eser depodan yararlanabilecek araçlar arıyorum. Bazı güncellemeleriniz var mı? –

+0

@SteinwayWu: Hayır. Sanırım en iyi yol Ant/Ivy'dir, çünkü orada kendi görevlerinizi yapabilir ve Ivy'yi jenerik bir artifakt mgmt sistemi olarak kullanabilirsiniz. Şu anda python sistemimi statik bir re-repo repo ile yönetiyoruz, çünkü o anda sadece C++ derleyicileri saklıyoruz. – Macke

+0

En son CMake'in yerel bir depo gibi bir şeyi destekleyebileceğini buldum. CMake/CPack ve Import/Export işlevleri ile desteklenir. En son bilgiler için bunları cmake.org adresinden kontrol etmek isteyebilirsiniz. ATS projemin binası için bunu deneyeceğim. –

cevap

1

waf'u deneyin.

+0

Temiz. Bu şu anda kullanıyorum python tabanlı şeyler çok benzer görünüyor. Bunu kesinlikle bir girişim yapacağım. – Macke

+0

Waf mantıklı bir şekilde faydalıdır, ancak oldukça düşük seviyededir ve bulabildiğimden artifakt-repo desteği yoktur. Hm. – Macke

İlgili konular