Gradle'a giriş

Maven ve Ant gibi inşa araçları varken neden Java dünyasında bir de Gradle gibi bir build tool'a ihtiyaç duyuldu?

Gradle, Java dünyasında hızla yükselen bir inşa aracıdır (build tool), çünkü onun sayesinde Java projelerimizi sorunsuzca otomatize edebiliyoruz ve sadece kod yazmaya odaklayabiliyoruz. Peki bu Gradle tam olarak nedir ve ne gibi kolaylıkları var? Bunu hep birlikte göz atalım.

Gradle nedir?

Gradle nedir sorusuna gelmeden önce, eski zamanlara bir dönüp bakalım. Bir yazılımcısınız, yeni bir Java program yazmanız gerek, tüm programlar hemen hemen şunlardan oluşmaktadır:

  • class dosyaları

  • kütüphaneleri dosyaları

  • Java docları

  • ayarları ve buna benzerleri içeren XML’ler

  • environment gibi ayarları içeren properties’ler

  • hatta resim ya da diğer görsel dosyaları

Bu dosyaların hepsini bir dizin içine yerleştiriyorsunuz, Java'da gereken tanımları yapıyorsunuz, sonra bunları bir JAR ya da WAR dosyaya çevirip müşteriye göndermeniz gerek. Yani burda nerdeyse kod yazmaktan daha çok projeyi şekillendirmek için zaman harcamanız gerekiyor. İşte burda bazı çözümler bulundu. Ant ve Maven gibi inşa araçları geliştirildi. Ama sürekli gelişen bu bilişim çağında, yazılımların da sürekli güncellenmesi gerekmektedir, yayında olan bir uygulamayı bozmadan, hem onun performansına tesir etmeden bug fix'leri eklemeniz gerek, hem de yeni özelliklerini eklemeniz gerek. Hatta artık firmaların çoğu artık MicroService’e geçme planları yapmaya başlarken, burda daha çok esnek ve kolay bir inşa ediciye ihtiyacı var, işte bu nedenle 2007'de bu sorunları çözmek için Gradle dünyaya geldi.

Kısacası Gradle'ın iki ana hedefi var: Yazılımları yaymak için artifact'leri oluşturma ve uygulama bağımlılıklarını ayarlamak. Ama burda Maven ve Ant gibi diğier araçlardan kendini farklı kılan, esnek olmasıdır, proje dizini istediğiniz gibi şekli verebilme imkanı tanıması, ve XML yerine DSL (Domain Specific Language adı altında Groovy) desteklemesidir. Eğer daha önce Maven'ı kullandıysanız, aslında Gradle sizin için çok zor olmayacaktır, çünkü Gradle, Maven’e ait olan tüm repository'leri desteklemektedir.

Gradle Wrapper

Gradle'ın bir diğer özelliği de şudur: Bilgisayarınıza Gradle'ı yüklemenize hiç gerek kalmadan her hangi bir Gradle projesini rahatça açıp üzerinden çalışmaya devam edebilirsiniz. Bu imkanı bize sağlayan gradlew ve gradlew.bat adlı iki dosya, buna genel olarak Gradle Wrapper deniliyor. gradlew.bat Windows kullanıcılar içindir, gradlew dosyası da Linux ya da Mac kullanıcılar içindir, bu iki dosya otomatik olarak Gradle tarafında sağlanmıştır.

Böylece bilgisayarımıza Gradle'ı yüklemeye gerek kalmaksızın projeyi çalıştırabiliriz, bunun yanında bir diğer özelliği de, ki bence en önemlisi, bir Gradle proje nerde olursa olsun, hangi bilgisayarda olursa olsun, hep aynı versiyonlu Gradle ile inşa edilecektir. Böylece farklı bilgisayarlardaki farklı sürümlerden dolayı kaynaklanan bazı sıkıntıların önüne geçilmiş oluyor. Hani şu meşur olan: ‘ya benim bilgisayarımda çalışıyordu’ problemini çözmüş oluyor, değil mi?

Gradle Tasks

Gradle'a sadece kendisinde tanılanan görevlerin haricinde kendinize göre farklı görevler verebilirsiniz ve bu görevleri çok basitçe Groovy dilinde Gradle'a ait olan build.gradle dosyasının içine yazabilirsiniz. Hatta eğer kendinizi daha akıllı olarak görüyorsanız, bu görevleri birbirlerine Extend de yaparak daha esnek görevlerinizi yazabilirsiniz. Bunun yanında bu görevleri yine kolayca Gradle Plugin’e çevirtebilirsiniz, bu plugin'i ister diğer projelerde kullanır, ister internette diğer insanların faydalanmasını sağlayabilirsiniz. Burda tüm sınırlarını zorlayabilirsiniz.

Eğer bir projede birden fazla yazılımcı varsa, ister ekip olarak aynı firmada çalışsın, ister uzaktan çalışsınlar, her yazılımcı kendine göre bir Gradle Profile oluşturabilir ve build raporlarını profiline göre arşivlendirebilir. Hatta Gradle.com'da bulut rapor paylaşma imkanını kullanarak, build raporunu uzaktaki arkadaşına gönderebilir. Daha ne olsun?

Yani kısacası, Gradle işte bu özellikleri ile gün be gün daha çok popüler olmayı başarıyor, siz de bir Javacı iseniz, bir an önce Gradle üzerinden bir kaç tutorial ya da ders alarak bu trendin gerisinde kalmayın.  

kaynak: https://sahbil.com/gradleye-giris/

Şahbil Uygur
1979 Doğu Türkistan doğumlu. 2011’de Hollanda’da Hogeschool Utrechtte HBO Informatica’yıbitirdi. 2012 -2016 Türkiye’de girişimci olarak çalıştı, şimdi Hollanda’da VX Company’de Java Developerolarak çalışıyor.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git