Groovy og Gradle: JVM-automatisering og buildudvikling · Lektion

Tasks og build-livscyklus

Definér og håndtér Gradle-tasks, forstå deres afhængigheder, og få styr på faserne i build-livscyklussen.

Lektion 3 af 412 trin

Tasks og build-livscyklus er en gratis Groovy og Gradle: JVM-automatisering og buildudvikling-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Groovy og Gradle: JVM-automatisering og buildudvikling, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Groovy og Gradle: JVM-automatisering og buildudvikling-kurset indeholder 4 lektioner i alt.

Hvad er Gradle-opgaver?

Velkommen! I denne lektion dykker vi ned i Gradle-opgaver, som er de grundlæggende arbejdsenheder i ethvert Gradle-build.

  • En opgave repræsenterer et enkelt, atomart stykke arbejde, som Gradle udfører.
  • Tænk på opgaver som handlinger såsom 'kompilér kode', 'kør test', 'ryd build-mappen' eller 'udrul applikationen'.
  • De er byggestenene i hele din byggeproces.

Find indbyggede opgaver

Gradle leveres med mange indbyggede opgaver. Du kan få vist alle tilgængelige opgaver for dit projekt ved hjælp af kommandolinjen:

gradle tasks

Denne kommando viser en kategoriseret liste over opgaver, herunder dem, der leveres af plugins, samt eventuelle brugerdefinerede opgaver, du definerer. Det er en god måde at undersøge, hvad dit build kan gøre!

Definér din første opgave

Det er enkelt at oprette din egen brugerdefinerede opgave i filen build.gradle. Lad os definere en simpel opgave:

Nøgleordet task bruges efterfulgt af opgavens navn. De krøllede parenteser {} definerer opgavens handlinger.

task helloWorld {
    println "Hello from CoddyKit Gradle!"
}

Kør brugerdefinerede opgaver

For at udføre en brugerdefineret opgave skal du blot køre Gradle fra din terminal og angive opgavens navn:

gradle helloWorld

Når du kører eksemplet fra den forrige scene, får du vist "Hello from CoddyKit Gradle!" i konsollen.

Opgavehandlinger: doLast og doFirst

Opgaver kan have flere handlinger. Du kan definere disse handlinger ved hjælp af blokke med doLast og doFirst.

  • doLast: Tilføjer en handling, der skal udføres i slutningen af opgaven.
  • doFirst: Tilføjer en handling, der skal udføres i begyndelsen af opgaven.

De er nyttige til at organisere kompleks opgavelogik.

task myGreet {
    doFirst {
        println "Preparing to greet..."
    }
    doLast {
        println "Hello, CoddyKit!"
    }
}

Kæd opgaver sammen med dependsOn

Ofte skal én opgave være færdig, før en anden kan starte. Gradle håndterer dette med opgaveafhængigheder ved hjælp af nøgleordet dependsOn.

Hvis opgave 'B' afhænger af opgave 'A', kører 'A' altid før 'B'. Det sikrer, at handlingerne udføres i den rigtige rækkefølge.

task prepare {
    doLast {
        println "Preparation complete."
    }
}

task build(dependsOn: prepare) {
    doLast {
        println "Build finished."
    }
}

Forstå build-livscyklussen

Hver gang du kører en Gradle-kommando, gennemgår den en særskilt build-livscyklus bestående af tre hovedfaser:

  1. Initialisering: Klargør build-miljøet.
  2. Konfiguration: Evaluerer build-scripts og konfigurerer opgaver.
  3. Udførelse: Kører de konfigurerede opgaver.

Det er afgørende at forstå disse faser for at kunne skrive effektive Gradle-builds.

Fase 1: Initialisering

Initialiseringsfasen er det tidspunkt, hvor Gradle afgør, hvilke projekter der deltager i buildet.

  • Gradle evaluerer filen settings.gradle (hvis den findes).
  • Denne fil definerer projekthierarkiet for builds med flere projekter.
  • Gradle opretter en Project-instans for hvert involveret projekt.

Denne fase danner grundlaget for buildet.

Fase 2: Konfiguration

Under konfigurationsfasen evalueres alle build.gradle-scripts for projekterne.

  • Opgaver oprettes og konfigureres.
  • Vigtigt: Al kode, der står direkte i en opgaveblok (og ikke i doLast eller doFirst), kører under denne fase, uanset om opgaven faktisk bliver udført.

Det er her, opgavernes egenskaber og afhængigheder konfigureres.

task configExample {
    println "This message runs during Configuration!"
    doLast {
        println "This message runs during Execution!"
    }
}

Fase 3: Udførelse

Den sidste fase er udførelsesfasen. Det er her, det faktiske arbejde udføres!

  • Gradle afgør, hvilke opgaver der skal køres, baseret på din kommando og opgavernes afhængigheder.
  • Derefter udfører Gradle handlingerne doFirst og doLast (samt eventuelle andre handlinger) for de valgte opgaver.
  • Opgaverne udføres i den rigtige rækkefølge under hensyntagen til deres afhængigheder.

Det er her, din kode kompileres, testene køres, og artefakterne bygges.

Tjek af livscyklussen

Lad os teste din forståelse af Gradles build-livscyklus!

Opsummering af opgaver og livscyklus

Godt klaret! Du har lært de centrale begreber inden for Gradle-opgaver og build-livscyklussen:

  • Opgaver er de grundlæggende arbejdsenheder.
  • Du kan definere brugerdefinerede opgaver og kæde dem sammen med dependsOn.
  • Gradle-buildet gennemløber tre faser: Initialisering, Konfiguration og Udførelse.
  • Kode, der står direkte i en opgaveblok, kører under Konfiguration, mens handlinger med doFirst/doLast kører under Udførelse.

Nu undersøger vi, hvordan Gradle håndterer eksterne afhængigheder!

Gratis at komme i gang

Lær Groovy med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Tasks og build-livscyklus” gratis?

Ja — hele teksten til “Tasks og build-livscyklus” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Groovy og Gradle: JVM-automatisering og buildudvikling-kurset, skal du opgradere til CoddyKit PRO. Groovy og Gradle: JVM-automatisering og buildudvikling-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Tasks og build-livscyklus”?

Definér og håndtér Gradle-tasks, forstå deres afhængigheder, og få styr på faserne i build-livscyklussen. Du øver dig i Groovy og Gradle: JVM-automatisering og buildudvikling med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Groovy og Gradle: JVM-automatisering og buildudvikling?

Der kræves ingen tidligere erfaring. Groovy og Gradle: JVM-automatisering og buildudvikling på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Tasks og build-livscyklus”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Groovy og Gradle: JVM-automatisering og buildudvikling-lektion?

Ja. Alle Groovy og Gradle: JVM-automatisering og buildudvikling-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Installation af Gradle og CLI
  2. Gradle-projektstruktur
  3. Tasks og build-livscyklus
  4. Builds med flere projekter og settings-filen
← Tilbage til Groovy og Gradle: JVM-automatisering og buildudvikling