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:-
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.batWindows 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. -
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ı-
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.batWindows 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. -


