Gradle
- Kotlin kursu
- Orta seviye
- Ders 103/116
- 5 dk
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
// 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
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
____ {
implementation("kotlinx-coroutines-core")
}
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.