CodeBlanks Logo Icon CodeBlanks

Gradle

Gradle ile build yapılandırması öğrenirsin.

Gradle: Yapı aracı

Gradle, Kotlin projelerinde bağımlılıkları yöneten, derlemeyi ve testleri koşturan bir yapı aracıdır. Ayarlar build.gradle.kts dosyasında Kotlin DSL ile yazılır. Dosyada plugins, dependencies ve repositories blokları bulunur.

plugins {
    kotlin("jvm")
}

dependencies {
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
}

Burada JVM eklentisi ve kotlinx.coroutines bağımlılığı eklenir. repositories bloğu, bağımlılıkların nereden indirileceğini belirtir (genellikle Maven Central). Gradle, bu dosyayı okur, bağımlılıkları indirir ve projeyi derler. Komut satırından ./gradlew build ile tüm yapı çalışır.

build.gradle.kts yapısı

build.gradle.kts dosyası, projenin yapısını tanımlar. En üstte plugins bloğu eklentileri listeler (ör. kotlin("jvm")). Ardından repositories bağımlılık kaynaklarını, dependencies ise kullanılan kütüphaneleri belirtir. implementation bağımlılığın derleme ve çalışma zamanında kullanıldığını gösterir.

repositories {
    mavenCentral()
}

dependencies {
    implementation(kotlin("test"))
}

Burada Maven Central deposu ve Kotlin test kütüphanesi eklenir. implementation'a ek olarak testImplementation (yalnızca testlerde) ve api (bu modülü kullananlara da açılan) seçenekleri vardır. Doğru kapsamı seçmek, derleme süresini ve görünürlüğü etkiler.

Uygulama buildFile fonksiyonu yaz

fun buildFile(): String tanımla. Gövdesi "plugins { kotlin(\"jvm\") }\ndependencies { implementation(\"kotlinx-coroutines-core\") }" döndürsün (dize içinde \n ile iki satır ayır). main içinde println(buildFile()) ile çıktıyı yazdır.

Başlangıç kodu

Main.kt
// buildFile fonksiyonu: plugins ve dependencies bloklarını içeren bir metin döndürsün
// main: buildFile() çağrısını println ile yazdır
fun main() {
    // buraya yaz
}

Örnek çözüm

Main.kt
fun buildFile(): String {
    return "plugins { kotlin(\"jvm\") }\ndependencies { implementation(\"kotlinx-coroutines-core\") }"
}

fun main() {
    println(buildFile())
}

Beklenen çıktı

plugins { kotlin("jvm") }
dependencies { implementation("kotlinx-coroutines-core") }

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Gradle bloklarını eşle

Kavram Anlamı
plugins Eklentiler
dependencies Kütüphaneler
repositories İndirme kaynakları
build.gradle.kts Yapı dosyası

2 Bağımlılık bloğu

Soru
____ {
    implementation("kotlinx-coroutines-core")
}
Cevap
dependencies {
    implementation("kotlinx-coroutines-core")
}

Açıklama: dependencies bloğu kütüphaneleri listeler.

3 build.gradle.kts'te kütüphaneler hangi bloğa eklenir?

  • plugins bloğu
  • dependencies bloğu Doğru cevap
  • tasks bloğu
  • repositories bloğu

Açıklama: dependencies bloğu, implementation ile kütüphane ekler.

Orta seviye bölümündeki tüm dersler