Apache-Ant/Ivy'ye yönettiğim bir Maven projesini değiştirmeyi düşünüyorum. Yapım süreci üzerinde daha fazla kontrole ihtiyacım var ve Maven ile çok sinirlendim. Lütfen Maven'in ne kadar iyi olduğu hakkında yorum yapmayın. Sorum şu Ivy ile ilgili.Ant/Ivy proje binası için
Daha sonra diğer projeler için minimum değişikliklerle kullanılabilen bir "standart" Ant yapı şablonu oluşturmak istiyorum.
Merkezi Maven depolarında (ör. Ticari kitaplıklar, Sun kitaplıkları, özel kütüphaneler, vb.) Bulunmayan üçüncü taraf kitaplıklarını yerleştirebileceğimiz merkezi bir "kurumsal" depo oluşturacağım. Bu kurumsal havuz yerel ağımızda mevcut olacak, ancak ofis dışından mevcut olmayabilir.
Her geliştiricinin ~/.ivy/repository
numaralı özel deposu bulunacaktır. Ant derlemesinin, bu özel depoyu otomatik olarak kitaplık deposundaki değiştirilmiş kitaplık sürümleriyle güncelleştirmesini isterim.
~/.ivy/ant
numaralı belgede, her bir projeye build.xml
dosyalarını dahil etmek için "standart" modülleri Ant 1.8'deki include
görevini kullanarak yerleştirmeyi planlıyorum. Bu modüller, farklı Scala ve Clojure sürümleri için farklı sürümlere sahip Scala
ve Clojure
derleme hedefleri gibi şeyler sağlayacaktır (örn .: scala-compile-2.9.1.xml
, clojure-compile-1.3.xml
, vb.) Yapı modülleri, kuruluş havuzunda kullanılabilir ve özel depolarda otomatik olarak güncellenmelidir. değişirler.
: ${project}/src/main/java
, ${project}/target/classes
vb Geçmişte
, ben Ivy ama Ant dosyaları oluşturmak kullanarak çalıştı çok büyük olması lazım (> şablon kurmak için 500 satır dosya) ve yönetmek/düzenlemek zor. ~/.ivy/ant
dizinindeki kendi derleme modüllerine standart hedefler koyarken, bu kod bloğundan kaçınabileceğimi umuyorum.
Bu yapılabilir mi? Üssün önündeyim mi? Ivy'de bulabildiğim tek doküman Apache web sitesinde (http://ant.apache.org/ivy). Kitaplar dahil başka herhangi bir doküman var mı?
Sanırım kütüphaneler için özel depolara ihtiyacınız olacak. Ivy, bağımlılıkların giderilmesinde güncel kalmasını sağlayacak kendi başına [önbellek] (https://ant.apache.org/ivy/history/latest-milestone/concept.html#cache) ~/.ivy2 içinde yönetir. – oers