Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa · Oppitunti

Kotlin DSL Gradlelle

Siirtäkää `build.gradle`-komentosarjanne muotoon `build.gradle.kts` käyttämällä Kotlin DSL:ää luettavuuden ja tyyppiturvallisuuden parantamiseksi.

Oppitunti 1/411 vaihetta

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!

Aloita maksutta

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

  1. Kotlin DSL Gradlelle
  2. Monikieliset projektikoonnit
  3. IDE-integraatio ja työkalut
  4. Mukautettujen tehtävien kirjoittaminen Kotlin DSL:llä
← Takaisin: Groovy ja Gradle: JVM-automaatiota ja koontien hallintaa