Apache Ant, süreçlerini otomatikleştirmeye yarayan bir araçtır. Make'e benzeyen uygulama, Java ile geliştirilmiş olup Java platformunu gerektirmekte ve Java projelerinde sıkça kullanılmaktadır.
Geliştirici(ler) | |
---|---|
Güncel sürüm | 1.9.3 / Aralık 2013 |
Programlama dili | Java |
İşletim sistemi | |
Tür | |
Lisans | Apache Lisansı 2.0 |
Resmî sitesi | http://ant.apache.org |
Kod deposu |
|
Ant ve make arasındaki en belirgin fark, Ant'in inşa süreci ve bağımlılık tanımları için XML kullanmasıdır. Make ise kendine özgü dosya biçimi olan Makefile'ı kullanır. XML dosyasının öntanımlı adı build.xml
'dir.
Bir projesi olan Ant, açık kaynak kodlu bir yazılımdır. Ant, Apache Yazılım Lisansı'nı kullanmaktadır.
Tarihçe
Ant, 'ın bir Sun ürününü açık kaynak kodlu bir yazılıma dönüştürmeye çalışması sonucu ortaya çıkmıştır. Sun'ın deyimiyle JSP/Servlet motoru olan bu yazılım daha sonra Apache Tomcat olarak anılmaya başlamıştır. Make'in ticari sürümü kullanılarak Solaris işletim sistemi üzerinde hazırlanan yazılımın açık kaynak kodlu uyarlamasının hangi platform kullanılarak inşa edildiğini bulmak olanaksızdı. Bu nedenle Ant, bir XML "inşa dosyası"ndaki yönergeleri kullanarak Tomcat'i inşa etmek üzere kullanımı kolay bir arayüzle hazırlanmıştır. Bu sessiz başlangıcın ardından Ant zaman içinde gelişerek Tomcat dışındaki ürünlerin inşasına da izin vermeye başlamıştır. Ant'in 1.1 sürümü 19 Temmuz 2000 tarihinde bağımsız bir ürün olarak piyasaya sürülmüştür. Ant, bugün geliştirilen çoğu Java projesinde inşa aracı olarak kullanılmaktadır. Çoğu açık kaynak geliştiricisinin build.xml dosyasını dağıtım paketinde bulunduruyor olması bu duruma iyi bir örnektir.
Ant'in denemelerini inşa sürecine tümleştirmede sağladığı kolaylıktan ötürü geliştiriciler kendilerini ve daha kısa sürede uyarlayabilmektedirler.
Java tabanlı diğer inşa araçları ve JavaMake'tir.
Ürünün adı İngilizce "Another Neat Tool" (Bir Başka Harika Araç) söz öbeğinin kısaltmasıdır.
Örnek build.xml
dosyası
Yalın bir "Merhaba Dünya" uygulaması için yaratılan örnek build.xml dosyası aşağıda gösterilmektedir. Dosya, her biri farklı bir tanıma sahip dört hedef barındırmaktadır. Bunlar; clean, clobber, compile ve jar olarak adlandırılmaktadırlar. Jar hedefi compile hedefini bir bağımlılık olarak nitelendirmektedir. Bu, Ant'in jar hedefine geçmeden önce compile hedefini tamamlaması gerektiğini belirtmektedir.
<?xml version="1.0"?> <project name="Merhaba" default="compile"> <target name="clean" description="geçici dosyaları sil"> <delete dir="sınıflar"/> </target> <target name="clobber" depends="clean" description="tüm yapay dosyaları sil"> <delete file="merhaba.jar"/> </target> <target name="compile" description="Java kaynak kodunu sınıf dosyalarına derle"> <mkdir dir="sınıflar"/> <javac srcdir="." destdir="sınıflar"/> </target> <target name="jar" depends="compile" description="uygulama için bir jar dosyası oluştur"> <jar destfile="merhaba.jar"> <fileset dir="sınıflar" includes="**/*.class"/> <manifest> <attribute name="Ana-Sınıf" value="MerhabaProgramı"/> </manifest> </jar> </target> </project>
Her hedef, Ant'in o hedefi tamamlaması için gereken eylemler içermektedir. Örneğin, compile hedefinin tamamlanabilmesi için Ant önce "sınıf" adında bir dizin yaratır (bu dizin daha önce yaratılmış değilse) ve daha sonra Java derleyicisini işletir. Bu hedef için kullanılan görevler mkdir ve javactır. Bu görevler, komut satırından çalıştırılan adaşlarına benzer işlevlere sahiptirler.
Bu örnekte kullanılan bir diğer görev ise jardır.
<jar destfile="merhaba.jar">
Bu görev, Java komut satırı aracı 'la adaştır ancak yalnızca Ant programının varsayılan jar/zip dosya biçimi desteğine yapılan bir çağrıdır.
Birçok Ant görevi kendi işlerini dış programlara devretmektedirler. Bunlar, Ant'in <exec> ve <java> görevlerini kullanarak inşa dosyasından gerekli bilgileri çekmekte, dış programın alacağı parametreleri hesaplamakta ve bu programlardan dönen değerleri yorumlamaktadırlar.
Eklentiler
WOProject-Ant, Ant için yazılmış görev eklentilerinden yalnızca biridir. Bu eklentileri kullanmak için jar dosyalarını Ant'in lib dizinine kopyalamak gerekir. Böylece, bu görevler doğrudan build.xml dosyası içinde çağrılabilmektedirler. WOProject eklentileri geliştiricilerinin Ant'i kendi uygulamalarını inşa etmek amacıyla kullanmalarına izin vermektedir.
Antcontrib, koşullu tümceler ve farklı veri türleri üzerinde işletilebilen görevlerden oluşan bir seçkidir.
, .Net, ve dosya sistemleriyle ilgili görev eklentileri de bulunmaktadır.
Taşınabilirlik
Ant'in başlıca amaçlarından biri make'in taşınabilirlik sorunlarını çözüme kavuşturmaktı. Makefile dosyalarında bir hedef yaratmak için gerekli eylemler bağımlı komutlarını içeriyordu. Ant, bu sorunu birçok platformda aynı ölçüde başarım gösterebilen uyarlamalara sahip olmasıyla çözmektedir.
Örneğin, yukarıdaki build.xml
dosyasında clean hedefi, sınıflar
dizinini ve bu dizin içerisindeki tüm dosyaları silmektedir. Özdeş bir hedefi Makefile'da tanımlamak için aşağıdaki komut kullanılmalıdır.
rm -rf siniflar/
rm
, Unix'e özgü bir komuttur ve Unix dışındaki sistemlerde (örneğin Microsoft Windows'ta) çalışmayacaktır. Bu hedefi Ant'te yaratmak ise daha kolaydır.
<delete dir="sınıflar"/>
Farklı arasındaki en büyük tutarsızlık dizin yollarının saklanma biçimidir. Unix, bir yolun bileşenlerini birbirinden ayırmak amacıyla düz slash (/) kullanırken Windows, aynı işlevi ters slash (\) ile görür. Ant inşa dosyaları, dizin ve yol ayraçlarını kullanıcının isteğine bırakmıştır. Kullanılan her ayraç, platforma uygun biçime dönüştürülmektedir.
Kısıtlamalar
- Ant inşa dosyalarının XML ile yazılıyor olması bu dile yabancı kullanıcıların kendilerini programı kullanmaya uyarlamalarını güçleştirebilir. Antidote adında bir GUI uygulaması bu sorunu kısa süre için ortadan kaldırmıştı ancak bu programın yeni sürümleri üretilmemiştir. Ant'in kullandığı dilin gereksiz ayrıntılara yer veriyor oluşu karmaşık projelerin inşa dosyalarının boyutunu çok artırmakta, bu da okunabilirliği azaltmaktadır. gibi diğer inşa araçları genelgeçerlik ve esneklikten ödün vermekte, buna karşılık yüksek başarımlı betikler kullanmaktadırlar.
- Sıklıkla kullanılan görevler (<javac>, <exec>, <java>, vb.) yeni görevlerle uyumlu olmayan öntanımlı parametreleri kullanmaktadırlar. Bu öntanımlı değerlerin değiştirilmesi kimi görevlerin çalışmamasına neden olabilir.
- Bir karakter dizisi ya da metin elementine tanımsız özellikler eklenmeye çalışıldığında hata verilmemektedir. Ant'in hata denetimi de oldukça kısıtlıdır.
- Ant hedef modeli, yapay dosyaları hedef olarak algılamamaktadır. Çoğu inşa aracında oluşturulan yapay dosyalar (program, kütüphane, ara nesne dosyası, PDF belgelemesi, vb.) hedef yerine geçmekte, hedefler ve görevler arasındaki bağımlılıklar belirli kurallarla tanımlanmaktadır. Ant'te ise hedef, bir yapay dosya yerine birkaç görevden oluşan öbeğe verilen addır. Bu, Ant'in bir yapay dosyayla bu yapay dosyayı oluşturmaya yarayan görevleri zaman zaman ayırt edememesi anlamına gelmektedir. Bu denetim, programcının sorumluluğuna bırakılmıştır.
- Tanımlı bir özellik hiçbir görev tarafından değiştirilememektedir. Antcontrib 1 Ekim 2011 tarihinde Wayback Machine sitesinde ., bu sorunu çözmeye yarayan bir değişken görev 16 Şubat 2009 tarihinde Wayback Machine sitesinde . sunmaktadır.
- Varolan bir inşa dosyasının yeniden kullanımı oldukça güçtür. 1.6 sürümünde eklenen
<import>
ve<macrodef>
'in ise kullanım kolaylığını artırıp artırmadığı kuşkuludur.
Bu kısıtlamaların bir bölümü güncel Ant sürümleri için geçerli olmayabilir. Ayrıca, NetBeans IDE kendi inşa sisteminde Ant kullanmakta ve IDE bünyesindeki Ant kullanımını kolaylaştırmaktadır (NetBeans ile üretilen Ant betikleri IDE dışında kullanılabilmektedirler).
Ayrıca bakınız
- , Java yerine .NET ortamı için geliştirilmiş bir uygulama
Bibliyografya
- ,: Uygulamada Ant, Manning Publications 2007,
- , : Ant - Tanımlayıcı Kılavuz, O'Reilly & Associates,
- , : Ant'le Java Geliştirme, Manning Publications,
- , : Ant'le Uç Programlama, Sams,
- : Ant - Geliştiricinin El Kitabı, Sams,
- : Ant, Addison-Wesley,
Kaynakça
- ^ Uç Programlama İçin Java Araçları, Wiley, 2002: 76
- ^ . 7 Ocak 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2009.
- ^ Bu Neden Ant Olarak Anılıyor? 27 Aralık 2017 tarihinde Wayback Machine sitesinde ., Apache Ant SSS
- ^ . 8 Ocak 2009 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2009.
- ^ a b . 1 Ekim 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2009.
- ^ . 30 Temmuz 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Şubat 2009.
Dış bağlantılar
- Apache Ant Resmi Web Sitesi 23 Ocak 2010 tarihinde Wayback Machine sitesinde .
- (sunu)
- make: Evrimi ve Alternatifleri 8 Ocak 2009 tarihinde Wayback Machine sitesinde .
- Ant Kılavuzu 30 Ocak 2010 tarihinde Wayback Machine sitesinde .
- Phing 5 Kasım 2020 tarihinde Wayback Machine sitesinde . PHP web uygulamaları için geliştirilmiş bir Ant türevi
- want, Delphi için geliştirilmiş bir uygulama
- Ivy 22 Temmuz 2011 tarihinde Wayback Machine sitesinde ., Ant'le uyumlu bir bağımlılık yöneticisi
- Ant Otomasyonu 17 Ağustos 2011 tarihinde Wayback Machine sitesinde ., Ant destekli otomasyon
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Apache Ant sureclerini otomatiklestirmeye yarayan bir aractir Make e benzeyen uygulama Java ile gelistirilmis olup Java platformunu gerektirmekte ve Java projelerinde sikca kullanilmaktadir Apache AntGelistirici ler Guncel surum1 9 3 Aralik 2013Programlama diliJavaIsletim sistemiTurLisansApache Lisansi 2 0Resmi sitesihttp ant apache orgKod deposugit wip us apache org repos asf ant git Ant ve make arasindaki en belirgin fark Ant in insa sureci ve bagimlilik tanimlari icin XML kullanmasidir Make ise kendine ozgu dosya bicimi olan Makefile i kullanir XML dosyasinin ontanimli adi build xml dir Bir projesi olan Ant acik kaynak kodlu bir yazilimdir Ant Apache Yazilim Lisansi ni kullanmaktadir TarihceAnt in bir Sun urununu acik kaynak kodlu bir yazilima donusturmeye calismasi sonucu ortaya cikmistir Sun in deyimiyle JSP Servlet motoru olan bu yazilim daha sonra Apache Tomcat olarak anilmaya baslamistir Make in ticari surumu kullanilarak Solaris isletim sistemi uzerinde hazirlanan yazilimin acik kaynak kodlu uyarlamasinin hangi platform kullanilarak insa edildigini bulmak olanaksizdi Bu nedenle Ant bir XML insa dosyasi ndaki yonergeleri kullanarak Tomcat i insa etmek uzere kullanimi kolay bir arayuzle hazirlanmistir Bu sessiz baslangicin ardindan Ant zaman icinde geliserek Tomcat disindaki urunlerin insasina da izin vermeye baslamistir Ant in 1 1 surumu 19 Temmuz 2000 tarihinde bagimsiz bir urun olarak piyasaya surulmustur Ant bugun gelistirilen cogu Java projesinde insa araci olarak kullanilmaktadir Cogu acik kaynak gelistiricisinin build xml dosyasini dagitim paketinde bulunduruyor olmasi bu duruma iyi bir ornektir Ant in denemelerini insa surecine tumlestirmede sagladigi kolayliktan oturu gelistiriciler kendilerini ve daha kisa surede uyarlayabilmektedirler Java tabanli diger insa araclari ve JavaMake tir Urunun adi Ingilizce Another Neat Tool Bir Baska Harika Arac soz obeginin kisaltmasidir Ornek build xml dosyasiYalin bir Merhaba Dunya uygulamasi icin yaratilan ornek build xml dosyasi asagida gosterilmektedir Dosya her biri farkli bir tanima sahip dort hedef barindirmaktadir Bunlar clean clobber compile ve jar olarak adlandirilmaktadirlar Jar hedefi compile hedefini bir bagimlilik olarak nitelendirmektedir Bu Ant in jar hedefine gecmeden once compile hedefini tamamlamasi gerektigini belirtmektedir div class mw highlight mw highlight lang xml mw content ltr dir ltr pre span span span class cp lt xml version 1 0 gt span span class nt lt project span span class w span span class na name span span class s Merhaba span span class w span span class na default span span class s compile span span class nt gt span span class w span span class nt lt target span span class w span span class na name span span class s clean span span class w span span class na description span span class s gecici dosyalari sil span span class nt gt span span class w span span class nt lt delete span span class w span span class na dir span span class s siniflar span span class nt gt span span class w span span class nt lt target gt span span class w span span class nt lt target span span class w span span class na name span span class s clobber span span class w span span class na depends span span class s clean span span class w span span class na description span span class s tum yapay dosyalari sil span span class nt gt span span class w span span class nt lt delete span span class w span span class na file span span class s merhaba jar span span class nt gt span span class w span span class nt lt target gt span span class w span span class nt lt target span span class w span span class na name span span class s compile span span class w span span class na description span span class s Java kaynak kodunu sinif dosyalarina derle span span class nt gt span span class w span span class nt lt mkdir span span class w span span class na dir span span class s siniflar span span class nt gt span span class w span span class nt lt javac span span class w span span class na srcdir span span class s span span class w span span class na destdir span span class s siniflar span span class nt gt span span class w span span class nt lt target gt span span class w span span class nt lt target span span class w span span class na name span span class s jar span span class w span span class na depends span span class s compile span span class w span span class na description span span class s uygulama icin bir jar dosyasi olustur span span class nt gt span span class w span span class nt lt jar span span class w span span class na destfile span span class s merhaba jar span span class nt gt span span class w span span class nt lt fileset span span class w span span class na dir span span class s siniflar span span class w span span class na includes span span class s class span span class nt gt span span class w span span class nt lt manifest gt span span class w span span class nt lt attribute span span class w span span class na name span span class s Ana Sinif span span class w span span class na value span span class s MerhabaProgrami span span class nt gt span span class w span span class nt lt manifest gt span span class w span span class nt lt jar gt span span class w span span class nt lt target gt span span class nt lt project gt span pre div Her hedef Ant in o hedefi tamamlamasi icin gereken eylemler icermektedir Ornegin compile hedefinin tamamlanabilmesi icin Ant once sinif adinda bir dizin yaratir bu dizin daha once yaratilmis degilse ve daha sonra Java derleyicisini isletir Bu hedef icin kullanilan gorevler mkdir ve javactir Bu gorevler komut satirindan calistirilan adaslarina benzer islevlere sahiptirler Bu ornekte kullanilan bir diger gorev ise jardir div class mw highlight mw highlight lang xml mw content ltr dir ltr pre span span span class w span span class nt lt jar span span class w span span class na destfile span span class s merhaba jar span span class nt gt span pre div Bu gorev Java komut satiri araci la adastir ancak yalnizca Ant programinin varsayilan jar zip dosya bicimi destegine yapilan bir cagridir Bircok Ant gorevi kendi islerini dis programlara devretmektedirler Bunlar Ant in lt exec gt ve lt java gt gorevlerini kullanarak insa dosyasindan gerekli bilgileri cekmekte dis programin alacagi parametreleri hesaplamakta ve bu programlardan donen degerleri yorumlamaktadirlar EklentilerWOProject Ant Ant icin yazilmis gorev eklentilerinden yalnizca biridir Bu eklentileri kullanmak icin jar dosyalarini Ant in lib dizinine kopyalamak gerekir Boylece bu gorevler dogrudan build xml dosyasi icinde cagrilabilmektedirler WOProject eklentileri gelistiricilerinin Ant i kendi uygulamalarini insa etmek amaciyla kullanmalarina izin vermektedir Antcontrib kosullu tumceler ve farkli veri turleri uzerinde isletilebilen gorevlerden olusan bir seckidir Net ve dosya sistemleriyle ilgili gorev eklentileri de bulunmaktadir TasinabilirlikAnt in baslica amaclarindan biri make in tasinabilirlik sorunlarini cozume kavusturmakti Makefile dosyalarinda bir hedef yaratmak icin gerekli eylemler bagimli komutlarini iceriyordu Ant bu sorunu bircok platformda ayni olcude basarim gosterebilen uyarlamalara sahip olmasiyla cozmektedir Ornegin yukaridaki build xml dosyasinda clean hedefi siniflar dizinini ve bu dizin icerisindeki tum dosyalari silmektedir Ozdes bir hedefi Makefile da tanimlamak icin asagidaki komut kullanilmalidir rm rf siniflar a href wiki Rm Unix title Rm Unix rm a Unix e ozgu bir komuttur ve Unix disindaki sistemlerde ornegin Microsoft Windows ta calismayacaktir Bu hedefi Ant te yaratmak ise daha kolaydir lt delete dir siniflar gt Farkli arasindaki en buyuk tutarsizlik dizin yollarinin saklanma bicimidir Unix bir yolun bilesenlerini birbirinden ayirmak amaciyla duz slash kullanirken Windows ayni islevi ters slash ile gorur Ant insa dosyalari dizin ve yol ayraclarini kullanicinin istegine birakmistir Kullanilan her ayrac platforma uygun bicime donusturulmektedir KisitlamalarAnt insa dosyalarinin XML ile yaziliyor olmasi bu dile yabanci kullanicilarin kendilerini programi kullanmaya uyarlamalarini guclestirebilir Antidote adinda bir GUI uygulamasi bu sorunu kisa sure icin ortadan kaldirmisti ancak bu programin yeni surumleri uretilmemistir Ant in kullandigi dilin gereksiz ayrintilara yer veriyor olusu karmasik projelerin insa dosyalarinin boyutunu cok artirmakta bu da okunabilirligi azaltmaktadir gibi diger insa araclari genelgecerlik ve esneklikten odun vermekte buna karsilik yuksek basarimli betikler kullanmaktadirlar Siklikla kullanilan gorevler lt javac gt lt exec gt lt java gt vb yeni gorevlerle uyumlu olmayan ontanimli parametreleri kullanmaktadirlar Bu ontanimli degerlerin degistirilmesi kimi gorevlerin calismamasina neden olabilir Bir karakter dizisi ya da metin elementine tanimsiz ozellikler eklenmeye calisildiginda hata verilmemektedir Ant in hata denetimi de oldukca kisitlidir Ant hedef modeli yapay dosyalari hedef olarak algilamamaktadir Cogu insa aracinda olusturulan yapay dosyalar program kutuphane ara nesne dosyasi PDF belgelemesi vb hedef yerine gecmekte hedefler ve gorevler arasindaki bagimliliklar belirli kurallarla tanimlanmaktadir Ant te ise hedef bir yapay dosya yerine birkac gorevden olusan obege verilen addir Bu Ant in bir yapay dosyayla bu yapay dosyayi olusturmaya yarayan gorevleri zaman zaman ayirt edememesi anlamina gelmektedir Bu denetim programcinin sorumluluguna birakilmistir Tanimli bir ozellik hicbir gorev tarafindan degistirilememektedir Antcontrib 1 Ekim 2011 tarihinde Wayback Machine sitesinde bu sorunu cozmeye yarayan bir degisken gorev 16 Subat 2009 tarihinde Wayback Machine sitesinde sunmaktadir Varolan bir insa dosyasinin yeniden kullanimi oldukca guctur 1 6 surumunde eklenen lt import gt ve lt macrodef gt in ise kullanim kolayligini artirip artirmadigi kuskuludur Bu kisitlamalarin bir bolumu guncel Ant surumleri icin gecerli olmayabilir Ayrica NetBeans IDE kendi insa sisteminde Ant kullanmakta ve IDE bunyesindeki Ant kullanimini kolaylastirmaktadir NetBeans ile uretilen Ant betikleri IDE disinda kullanilabilmektedirler Ayrica bakiniz Java yerine NET ortami icin gelistirilmis bir uygulamaBibliyografya Uygulamada Ant Manning Publications 2007 ISBN 1 932394 80 X Ant Tanimlayici Kilavuz O Reilly amp Associates ISBN 0 596 00184 3 Ant le Java Gelistirme Manning Publications ISBN 1 930110 58 8 Ant le Uc Programlama Sams ISBN 0 672 32562 4 Ant Gelistiricinin El Kitabi Sams ISBN 0 672 32426 1 Ant Addison Wesley ISBN 3 8273 2066 6Kaynakca Uc Programlama Icin Java Araclari Wiley 2002 76 7 Ocak 2009 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Subat 2009 Bu Neden Ant Olarak Aniliyor 27 Aralik 2017 tarihinde Wayback Machine sitesinde Apache Ant SSS 8 Ocak 2009 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Subat 2009 a b 1 Ekim 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Subat 2009 30 Temmuz 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 2 Subat 2009 Dis baglantilarApache Ant Resmi Web Sitesi 23 Ocak 2010 tarihinde Wayback Machine sitesinde sunu make Evrimi ve Alternatifleri 8 Ocak 2009 tarihinde Wayback Machine sitesinde Ant Kilavuzu 30 Ocak 2010 tarihinde Wayback Machine sitesinde Phing 5 Kasim 2020 tarihinde Wayback Machine sitesinde PHP web uygulamalari icin gelistirilmis bir Ant turevi want Delphi icin gelistirilmis bir uygulama Ivy 22 Temmuz 2011 tarihinde Wayback Machine sitesinde Ant le uyumlu bir bagimlilik yoneticisi Ant Otomasyonu 17 Agustos 2011 tarihinde Wayback Machine sitesinde Ant destekli otomasyon