Groovy og Gradle: JVM-automatisering og byggeutvikling · leksjon

Skrive egendefinerte oppgaver i Kotlin DSL

Opprett gjenbrukbare, typesikre egendefinerte Gradle-oppgaver med Kotlin DSL, typede properties, lat konfigurasjon og ryddige registreringsmønstre.

Leksjon 4 av 413 trinn

Skrive egendefinerte oppgaver i Kotlin DSL er en gratis leksjon i Groovy og Gradle: JVM-automatisering og byggeutvikling på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Groovy og Gradle: JVM-automatisering og byggeutvikling, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Groovy og Gradle: JVM-automatisering og byggeutvikling inneholder totalt 4 leksjoner.

Hvorfor egendefinerte oppgaver?

Innebygde oppgaver dekker vanlig arbeid, men virkelige builds trenger prosjektspesifikk automatisering: kodegenerering, behandling av ressurser og egendefinerte kontroller. Kotlin DSL gjør dette typesikkert og lettlest.

Registrere oppgaver direkte

Den enkleste oppgaven registreres direkte med en handlingsblokk.

tasks.register("hello") {
    doLast {
        println("Hello from Gradle")
    }
}

register kontra create

Foretrekk register fremfor create: Registreringen er lazy, slik at oppgaven bare konfigureres hvis den faktisk trengs. Det forbedrer konfigurasjonstiden.

Typesikre oppgaveklasser

For gjenbrukbar logikk definerer du en klasse som utvider DefaultTask, med en annotert handling.

abstract class GreetTask : DefaultTask() {
    @TaskAction
    fun run() {
        println("Hi")
    }
}

Typesikre egenskaper

Bruk Gradle-typene Property for late, konfigurerbare inndata som integreres med build-modellen.

abstract class GreetTask : DefaultTask() {
    @get:Input
    abstract val name: Property<String>
}

Registrere en typesikker oppgave

Registrer klassen og konfigurer egenskapene i Kotlin DSL med full typesjekking.

tasks.register<GreetTask>("greet") {
    name.set("Ada")
}

Inndata og utdata

Annoter egenskapene slik at Gradle kan gjøre oppgaven inkrementell og bufret.

@get:OutputFile
abstract val report: RegularFileProperty

Lat konfigurasjon

Late Provider-verdier utsetter beregningen til den trengs, unngår arbeid under konfigurasjonen og muliggjør korrekte oppgaveavhengigheter.

val versionProvider = providers.gradleProperty("appVersion")

Koble oppgaveavhengigheter

Uttrykk rekkefølgen med dependsOn, eller koble enda bedre utdataene fra én oppgave til inndataene i en annen, slik at Gradle kan utlede rekkefølgen.

tasks.register("publishDocs") {
    dependsOn("generateDocs")
}

Gjenbruke på tvers av moduler

Flytt oppgaveklassen til buildSrc eller en konvensjonsplugin, slik at alle moduler kan registrere den uten duplisering.

Fordeler med Kotlin DSL

Sammenlignet med Groovy gir Kotlin DSL:

  • Automatisk fullføring og refaktorering i IDE-en
  • Feildeteksjon ved kompilering
  • Enklere navigering til oppgavekildekoden

Kort sjekk

Test forståelsen din av egendefinerte oppgaver.

Oppsummering

Du har lært om egendefinerte oppgaver i Kotlin DSL:

  • Bruk lazy register fremfor create
  • Definer typesikre oppgaver som utvider DefaultTask
  • Bruk Property og annoteringer for typesikre inndata og utdata
  • Gjenbruk dem via buildSrc eller konvensjonsplugins
Gratis å komme i gang

Lær deg Groovy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Skrive egendefinerte oppgaver i Kotlin DSL» gratis?

Ja – hele teksten i «Skrive egendefinerte oppgaver i Kotlin DSL» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Groovy og Gradle: JVM-automatisering og byggeutvikling-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Groovy og Gradle: JVM-automatisering og byggeutvikling inneholder totalt 4 leksjoner.

Hva lærer jeg i «Skrive egendefinerte oppgaver i Kotlin DSL»?

Opprett gjenbrukbare, typesikre egendefinerte Gradle-oppgaver med Kotlin DSL, typede properties, lat konfigurasjon og ryddige registreringsmønstre. Du øver på Groovy og Gradle: JVM-automatisering og byggeutvikling med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Groovy og Gradle: JVM-automatisering og byggeutvikling?

Ingen tidligere erfaring er nødvendig. Groovy og Gradle: JVM-automatisering og byggeutvikling på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Skrive egendefinerte oppgaver i Kotlin DSL»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Groovy og Gradle: JVM-automatisering og byggeutvikling-leksjonen?

Ja. Alle Groovy og Gradle: JVM-automatisering og byggeutvikling-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Kotlin-DSL for Gradle
  2. Polyglotte prosjektbygg
  3. IDE-integrasjon og verktøy
  4. Skrive egendefinerte oppgaver i Kotlin DSL
← Tilbake til Groovy og Gradle: JVM-automatisering og byggeutvikling