Skrive egendefinerte oppgaver i Kotlin DSL
Opprett gjenbrukbare, typesikre egendefinerte Gradle-oppgaver med Kotlin DSL, typede properties, lat konfigurasjon og ryddige registreringsmønstre.
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: RegularFilePropertyLat 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
registerfremforcreate - Definer typesikre oppgaver som utvider
DefaultTask - Bruk
Propertyog annoteringer for typesikre inndata og utdata - Gjenbruk dem via
buildSrceller konvensjonsplugins
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
- Kotlin-DSL for Gradle
- Polyglotte prosjektbygg
- IDE-integrasjon og verktøy
- Skrive egendefinerte oppgaver i Kotlin DSL