Kotlin DSL Gradlelle
Siirtäkää `build.gradle`-komentosarjanne muotoon `build.gradle.kts` käyttämällä Kotlin DSL:ää luettavuuden ja tyyppiturvallisuuden parantamiseksi.
Kotlin DSL Gradlelle on ilmainen Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-kurssilla on yhteensä 4 oppituntia.
Tervetuloa Kotlin DSL:n pariin
Tervetuloa tutustumaan Gradlen Kotlin DSL:ään! Tässä oppitunnissa tutustutaan siihen, miten Gradlen koontikomentosarjoissa siirrytään Groovy DSL:stä Kotlin DSL:ään.
Kotlin DSL tarjoaa paremman luettavuuden ja tyyppiturvallisuuden, mikä tekee koontitiedostoista vankempia ja helpommin ylläpidettäviä. Se on nykyaikainen tapa määrittää Gradle-projekteja.
Miksi Kotlin DSL?
Miksi Kotlin DSL:ään kannattaa siirtyä?
- Tyyppiturvallisuus: Kotlin DSL on staattisesti tyypitetty, joten kääntäjä voi havaita virheet koontiaikana eikä vasta ajon aikana. Tämä vähentää yllätyksiä!
- IDE-tuki: IDE:nne (kuten IntelliJ IDEA) tarjoaa paremman automaattisen täydennyksen, refaktoroinnin ja navigoinnin, koska se ymmärtää käytetyt tyypit.
- Luettavuus: Kotlinin tiivis syntaksi tekee koontikomentosarjoista usein selkeämpiä, erityisesti monimutkaisen logiikan yhteydessä.
- Yhdenmukaisuus: Jos projektinne sovelluskoodi käyttää jo Kotlinia, Kotlin DSL tuo yhdenmukaisuuden koko koodikantaan.
Perussyntaksi: Plugins-lohko
Aloitetaan keskeisestä erosta: laajennusten käyttöönotosta. Kotlin DSL:ssä koontikomentosarjan tiedostopääte vaihtuu .gradle-päätteestä .gradle.kts-päätteeksi.
Huomatkaa id("plugin-id")-kutsun ja valinnaisen version "..." -määrityksen käyttö laajennusten käyttöönotossa.
plugins {
id("java")
id("application") version "8.1.0"
}Riippuvuuksien ilmoittaminen
Riippuvuuksien ilmoittaminen muistuttaa hyvin paljon Groovy DSL:ää, mutta siinä käytetään Kotlinin funktiokutsusyntaksia. Riippuvuusmerkkijono välitetään nimettynä argumenttina.
Näin lisäätte yleisiä riippuvuuksia, kuten testaukseen tarkoitetun JUnitin ja apuohjelmiin tarkoitetun Apache Commonsin.
dependencies {
implementation("org.slf4j:slf4j-api:2.0.7")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0")
}Mukautettujen tehtävien määrittäminen
Mukautettujen tehtävien luominen Kotlin DSL:llä on suoraviivaista. Uusi tehtävä määritetään käyttämällä tasks.register("taskName") { ... } -kutsua.
Lambdan sisällä voitte määrittää tehtävän asetuksia, esimerkiksi lisäämällä doLast-toiminnon, joka suorittaa koodia tehtävän ajon yhteydessä.
tasks.register("helloKotlin") {
group = "Greeting"
description = "Prints a friendly message using Kotlin DSL."
doLast {
println("Hello from a Kotlin DSL task!")
}
}Olemassa olevien tehtävien määrittäminen
Voitte määrittää myös olemassa olevia tehtäviä, kuten sisäänrakennettua jar-tehtävää, käyttämällä tasks.getByName("taskName") { ... } -kutsua. Näin voitte mukauttaa niiden toimintaa.
Voitte esimerkiksi määrittää JAR-tiedoston perusnimen tai lisätä manifest-merkinnän.
tasks.getByName<Jar>("jar") {
archiveBaseName.set("my-app-kotlin")
manifest {
attributes["Implementation-Title"] = project.name
attributes["Implementation-Version"] = project.version
}
}Projektin ominaisuudet ja muuttujat
Projektin ominaisuuksien käyttäminen ja muuttujien määrittäminen on myös tyyppiturvallista. Voitte ilmoittaa ominaisuuksia, kuten group ja version, käyttämällä ominaisuuksien sijoitusta.
Paikallisiin muuttujiin käytätte Kotlinin val- tai var-avainsanaa, mikä parantaa selkeyttä ja estää tahattomat uudelleensijoitukset.
group = "com.example"
version = "1.0.0"
val myProperty = "Some Value"
tasks.register("printProps") {
doLast {
println("Project Group: $group")
println("My Property: $myProperty")
}
}Tyyppiturvalliset aksessorit
Kotlin DSL:n merkittävä etu ovat tyyppiturvalliset aksessorit. Yleisten laajennusten, kuten Javan, yhteydessä saatte käyttöön omat lohkot ja ominaisuudet täydellä IDE:n automaattisella täydennyksellä.
Merkkijonopohjaisen ominaisuuksien käytön sijaan käytätte olio-ohjelmoinnin mukaista syntaksia, mikä vaikeuttaa kirjoitusvirheiden tekemistä ja helpottaa vaihtoehtojen löytämistä.
java {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
application {
mainClass.set("com.example.MainApp")
}Yksinkertaisen Groovy-komentosarjan siirtäminen
Verrataan lyhyesti, miten pieni Groovy DSL -katkelma käännetään Kotlin DSL:lle. Huomatkaa id("...")- ja implementation(...)-kutsujen sekä ominaisuuksien sijoituksen käyttö.
Rakenne pysyy samankaltaisena, mutta syntaksista tulee eksplisiittisempi ja tyyppitarkistettu.
// Groovy DSL (build.gradle)
// plugins {
// id 'java'
// }
// dependencies {
// implementation 'org.apache.commons:commons-lang3:3.12.0'
// }
// Kotlin DSL (build.gradle.kts)
plugins {
java
}
dependencies {
implementation("org.apache.commons:commons-lang3:3.12.0")
}Nopea testi Kotlin DSL:stä
Mitkä seuraavista ovat Kotlin DSL:n keskeisiä etuja Groovy DSL:ään verrattuna Gradlen koontikomentosarjoissa?
Kertaus: Gradlen Kotlin DSL
Tässä oppitunnissa tutustuimme Gradlen Kotlin DSL:n hyötyihin ja perussyntaksiin.
- Opitte, miksi tyyppiturvallisuus, IDE-tuki ja luettavuus tekevät Kotlin DSL:stä tehokkaan vaihtoehdon.
- Käsittelimme laajennusten käyttöönottoa, riippuvuuksien ilmoittamista sekä tehtävien määrittämistä ja määrittämistä uudelleen
.gradle.kts-tiedostopäätteellä. - Näitte myös, miten projektin ominaisuuksien kanssa työskennellään ja miten tyyppiturvallisia aksessoreita käytetään yleisissä asetuksissa.
Kotlin DSL:n käyttöönotto voi johtaa vankempiin ja helpommin ylläpidettäviin Gradle-koonteihin!
Opi Groovy tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Kotlin DSL Gradlelle” ilmainen?
Kyllä – oppitunnin ”Kotlin DSL Gradlelle” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-kurssin, päivitä CoddyKit PROhon. Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Kotlin DSL Gradlelle”?
Siirtäkää `build.gradle`-komentosarjanne muotoon `build.gradle.kts` käyttämällä Kotlin DSL:ää luettavuuden ja tyyppiturvallisuuden parantamiseksi. Harjoittelet Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Kotlin DSL Gradlelle”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-oppitunnilla?
Kyllä. Jokainen Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Kotlin DSL Gradlelle
- Monikieliset projektikoonnit
- IDE-integraatio ja työkalut
- Mukautettujen tehtävien kirjoittaminen Kotlin DSL:llä