2-Gradle’ın Temelleri

Anıl Emre Özçelik
3 min readNov 4, 2019

--

İlk bölümde Gradle’ın kurulumundan bahsetmiştik.Bu bölümde ise Gradle ile çalışırken kullanabileceğimiz bazı komutlardan,task tanımladan bahsetmeyi düşünüyorum.

Temel Gradle Komutları

gradle help

Bu komut aslında kendini açıklıyor.Size basit seviyede yardım sağlar.

gradle tasks

Bu komut ise size hali hazırda tanımlı olan taskların listesini verir.Aslında help ve tasks komutlarının herbiri de önceden tanımlanmış birer task.Gradle bu taskları işlevlerine göre kategorilere ayırır: Help Tasks,Build Tasks vb.

Bu 2 temel komutu inceledikten sonra Groovy dilinin Gradle’a nasıl bir güç verdiğini görelim.

Bir projenin Gradle ile build edilmesinden bahsetmeden önce bilmemiz gereken ilk şey build.gradle dosyası.Bütün seri boyunca projelerimizin compile,build ve test aşamalarında ilgileneceğimiz asıl dosya bu.Projeyle ilgili bilgileri vereceğimiz,tasklarımızı tanımlayacağımız,gerekli pluginleri ekleyeceğimiz yer.

İlk aşamada denememiz gereken şey şu.Bilgisayarınızda herhangi bir dizinde build.gradle dosyası oluşturun ve içerisine aşağıdaki kod parçasını yerleştirin.

task compileTask {
System.out.println "compiling..."
}

Bu kod parçası bir task tanımı yapar ve compileTask adını verdiğimiz bu taskı çalıştırdığımızda “compiling” diye output verir.Şuan biz sadece task tanımımızı build.gradle dosyası içerisine yaptık ve kaydettik.Şimdi bu dosya ile aynı dizin içerisinde bir komut satırı açın ve aşağıdaki komutu çalıştırın.

gradle tasks --all

Bu komut daha önce de öğrendiğimiz gibi size tanımlı taskların listesini verir ve listenin en aşağısında Other Tasks bölümü altında sizin tanımlamış olduğunuz tasklar yer alır(Eğer siz kategori belirtmemişseniz)

Peki şimdi tanımladığımız bu taskı çalıştırmak istersek?Buna geçmeden önce, anlaşılması gereken bir nokta daha var. gradle komutunu başlattığımızda, geçerli dizinde build.gradle adında bir dosya arar.Bulursa, onu kullanır. Yukarıdaki durumda bulduğu için, o dosyada hangi taskların bulunduğunu belirledi ve yapabileceği tasklar listesine bunu ekledi.

gradle compileTask

Bu komut sizin yazmış olduğunuz task’ı çalıştırır ve çıktı verir.

build.gradle dosyasına bir task daha ekleyerek içeriğini büyütelim.

task compileTask {
System.out.println "compiling..."
}
task buildTask {
System.out.println "building..."
}

Şimdi aşağıdaki komutu çalıştırırsanız Other Tasks bölümünde yeni tanımladığınız taskı da göreceksiniz.

gradle tasks --all

Build dosyanızın içerisinde default task da belirtebilirsiniz.Bu durumda komut satırına task ismi belirtmediğinizde default task çalışacaktır.

defaultTasks 'buildTask'task compileTask {
System.out.println "compiling..."
}
task buildTask {
System.out.println "building..."
}

Şimdi komut satırına sadece aşağıdaki komutu girdiğimizde default olarak hangi taskı belirttiysek(bu durumda buildTask) o çalışacaktır.

gradle

Bu bölümde bahsetmek istediğim son konu ise tasklar arasındaki bağımlılık.Örneğin aşağıdaki gibi buildTask,compileTask’a bağımlı olabilir.

defaultTasks 'buildTask'
task compileTask {
System.out.println "compiling..."
}
task buildTask (dependsOn:compileTask) {
System.out.println "building..."
}

Bu durumda buildTask çalışacağı zaman önce compileTask çalışır.Eğer aşağıdaki komutu tekrar çalıştırırsanız;

gradle

output aşağıdaki görseldeki gibi olacaktır.

Bu bölümde Gradle’daki temel konulara değindik.Bize lazım olan bütün taskları elimizle yazmak zorunda değiliz.Çünkü Gradle içerisinde yer alan pluginler sayesinde ihtiyacımız olan birçok task önceden tanımlı olarak kullanıma hazırdır(Java plugin,WAR plugin vs.).Bu konuları ilerideki bölümlerde daha net bir şekilde inceleyeceğiz.

--

--