2009-04-18 16 views
5

ı aşağıdaki içeren bir ivy.xml olduğunu varsayalım:Yetim varlıklarını kaldırmak için Apache Ivy'yi nasıl yapılandırırsınız?

<dependency org="checkstyle" name="checkstyle" rev="4.3" /> 

Sonra checkstyle 4.4 yükseltmek istiyorum, bu yüzden içerecek şekilde benim ivy.xml değiştirin:

<dependency org="checkstyle" name="checkstyle" rev="4.4" /> 

ile retrieve sonra İlk yapılandırma, ben checkstyle-4.3.jar dosya var. İkinci yapılandırmadan sonra, checkstyle-4.4.jar dosyam var ve checkstyle-4.3.jar dosya hala var.

Ivy'nin eski dosyanın bir yetim olduğunu ve onu lib dizinden kaldırabilmesinin bir yolu var mı? Buradaki fikir, geliştiricilerin disk alanı kullanımımın bir aracı yükseltdiğimde her seferinde önemli ölçüde artmasını istemiyorum. İdeal olarak yerel depodan da kaldırılmasını isterim. Yerel arşivin amacının, projeler arasında paylaşıldığının farkına vardım, bu yüzden herhangi bir şeyin kaldırılmasının mantıklı bir şey olmadığını anlayacağım, çünkü bu eser başka projelerde hala kullanımda olup olmadığını bilmeyecektir. Ama bir çeşit yordam prosedürü olmalı ...

cevap

9

Ivy 2.0.0 kullanıyorum, bu yüzden kullandığınız sürüm için geçerli olup olmadığını bilmiyorum.

Ivy retrieve görevi, bir sync özniteliğine sahiptir. Bunu, true olarak ayarlayın ve alınan dizinde kullanılmayan/bilinmeyen dosyalar (durumunuzdaki lib) kaldırılacaktır. Unutmayın ki bu, Ivy'nin özellikle çözemediği dizinde, el ile kopyalanan eserler için anlamına gelir.

Ayrıca, Not sync seçeneğini kullanırsanız ancak Ivy bağımlılıkları (örneğin, boş veya eksik ivy.xml) giderirse, geri alınan dizinin silineceğini unutmayın.

+0

Tam olarak aradığım şey bu, teşekkürler! Bu arada, 2.1.0-RC1 kullanıyorum. –

+0

Bu arada, öğelerin önbellekten kaldırılmadığını belirledim. Bu nedenle, lib dizininizde aynı kavanozun birden çok sürümüne sahip olmamanız (önemli olan), ancak fazla disk alanı kaydetmezsiniz. Ara sıra bir ivy: cleancache bu işi yapar. –

İlgili konular