Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Apache Ant

bullvar_katip

Administrator
Katılım
21 Mayıs 2024
Mesajlar
532,105
Apache Ant, yazılım inşası 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. 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ı 'dir. Bir Apache projesi olan Ant, açık kaynak kodlu bir yazılımdır. Ant, Apache Yazılım Lisansı'nı kullanmaktadır. Tarihçe Ant, James Duncan Davidson'ı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 JUnit denemelerini inşa sürecine tümleştirmede sağladığı kolaylıktan ötürü geliştiriciler kendilerini deneme tabanlı geliştirme ve uç programlamaya daha kısa sürede uyarlayabilmektedirler. Java tabanlı diğer inşa araçları Maven 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 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. 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. Bu görev, Java komut satırı aracı JAR'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 Perforce, .Net, EJB 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 platforma bağımlı kabuk 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 dosyasında clean hedefi, 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/ , 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. Farklı platformlar 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. Maven 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 , bu sorunu çözmeye yarayan bir değişken görev sunmaktadır. Varolan bir inşa dosyasının yeniden kullanımı oldukça güçtür. 1.6 sürümünde eklenen ve '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 İnşa otomasyonu Maven Nant, Java yerine .NET ortamı için geliştirilmiş bir uygulama Bibliyografya Steve Loughran,Erik Hatcher: Uygulamada Ant, Manning Publications 2007, ISBN 1-932394-80-X Jessy Tilly, Eric M. Burke: Ant - Tanımlayıcı Kılavuz, O'Reilly & Associates, ISBN 0-596-00184-3 Erik Hatcher, Steve Loughran: Ant'le Java Geliştirme, Manning Publications, ISBN 1-930110-58-8 Glenn Niemeyer, Jeremy Poteet: Ant'le Uç Programlama, Sams, ISBN 0-672-32562-4 Alan Williamson: Ant - Geliştiricinin El Kitabı, Sams, ISBN 0-672-32426-1 Bernd Matzke: Ant'', Addison-Wesley, ISBN 3-8273-2066-6 Kaynakça Dış bağlantılar Apache Ant Resmi Web Sitesi Apache Ant vikisi Ant'e Giriş (sunu) Linguine Maps görselleştirme kütüphanesi Ant inşa dosyalarından okunabilir örüntüler üretecek make: Evrimi ve Alternatifleri Ant Kılavuzu Phing PHP web uygulamaları için geliştirilmiş bir Ant türevi want, Delphi için geliştirilmiş bir uygulama Ivy , Ant'le uyumlu bir bağımlılık yöneticisi Ant Otomasyonu , Ant destekli otomasyon Kategori:Apache Software Foundation Kategori:Derleme araçları Kategori:Java geliştirme araçları Kategori:Java kütüphaneleri Kategori:XML yazılımları Kategori:İnşa otomasyonu Kategori:Ücretsiz çapraz platform yazılımları Kategori:Java ile programlanmış ücretsiz yazılımlar Kategori:Apache lisansı kullanan yazılımlar
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Izgara yada normal mod

Temanızda forum listeleme yapısını ızgara yapısında yada normal yapıda listemek için kullanabilirsiniz.

Forum arkaplan resimleri

Forum arkaplanlarına eklenmiş olan resimlerinin kontrolü senin elinde, resimleri aç/kapat

Sidebar blogunu kapat/aç

Forumun kalabalığında kurtulmak için sidebar (kenar çubuğunu) açıp/kapatarak gereksiz kalabalıklardan kurtula bilirsiniz.

Yapışkan sidebar kapat/aç

Yapışkan sidebar ile sidebar alanını daha hızlı ve verimli kullanabilirsiniz.

Radius aç/kapat

Blok köşelerinde bulunan kıvrımları kapat/aç bu şekilde tarzını yansıt.

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Geri