Niestandardowe zadania
Automatyzuj pracę
Niestandardowe zadania to bezpłatna lekcja Kotlin Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Academy zawiera 4 lekcji w sumie.
Czym jest zadanie Gradle?
Zadanie to jednostka pracy wykonywanej podczas kompilacji — kompilowanie, kopiowanie plików lub uruchamianie narzędzia. Własne zadania pozwalają automatyzować czynności specyficzne dla projektu.
Rejestrowanie zadania
Użyj tasks.register wraz z interfejsem API configuration-avoidance. Jest on preferowany zamiast starszego tasks.create, ponieważ działa leniwie.
tasks.register("hello") {
doLast {
println("Hello from Gradle")
}
}doFirst i doLast
Akcje zadań są wykonywane w fazie wykonywania. doFirst dodaje akcję na początku, a doLast na końcu. Kod znajdujący się poza nimi jest wykonywany podczas konfiguracji.
tasks.register("greet") {
doFirst { println("start") }
doLast { println("end") }
}Opis i grupa zadania
Ustaw wartości group i description, aby zadanie było przejrzyście widoczne w wynikach polecenia ./gradlew tasks.
tasks.register("cleanLogs") {
group = "maintenance"
description = "Deletes generated log files"
doLast { /* ... */ }
}Zadania typowane
Zarejestruj zadanie wbudowanego typu, aby ponownie wykorzystać jego zachowanie. Copy kopiuje pliki w sposób deklaratywny.
tasks.register<Copy>("copyDocs") {
from("src/docs")
into("build/docs")
}Zależności zadań
Wyraź kolejność za pomocą dependsOn. Zależne zadanie zostanie uruchomione jako pierwsze.
tasks.register("deploy") {
dependsOn("build")
doLast { println("deploying") }
}Konfigurowanie istniejącego zadania
Uzyskaj dostęp do wcześniej zarejestrowanego zadania (dodawanego przez wtyczkę) i dostosuj je.
tasks.named("test") {
// configure the existing test task
}
tasks.test {
maxParallelForks = 2
}Dane wejściowe i wyjściowe zadania
Deklarowanie wartości inputs i outputs umożliwia sprawdzanie aktualności: Gradle pomija zadanie, gdy nic się nie zmieniło.
tasks.register("generate") {
inputs.file("data/template.txt")
outputs.file("build/generated.txt")
doLast { /* generate */ }
}Kompilacje przyrostowe
Przy prawidłowo określonych danych wejściowych i wyjściowych ponowne uruchomienie niezmienionego zadania wyświetla komunikat UP-TO-DATE i nie wykonuje żadnej pracy. Jest to kluczowe dla szybkości Gradle.
Własne klasy zadań
Aby ponownie wykorzystywać logikę, zdefiniuj klasę rozszerzającą DefaultTask i zawierającą metodę @TaskAction.
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
abstract class GreetTask : DefaultTask() {
@TaskAction
fun run() {
println("Hello")
}
}Uruchamianie własnego zadania
Każde zarejestrowane zadanie można wywołać po nazwie za pomocą wrappera.
// ./gradlew hello
// ./gradlew copyDocs
// ./gradlew deploySzybki test
Chcesz, aby akcja została wykonana w fazie wykonywania, po pozostałych pracach zadania. Którego bloku użyjesz?
Podsumowanie
Własne zadania pozwalają automatyzować pracę:
tasks.register+doFirst/doLast- Zadania typowane, takie jak
Copy, orazdependsOndo określania kolejności - Deklarowanie wartości
inputs/outputsna potrzeby sprawdzania aktualności - Własne klasy
DefaultTaskz metodą@TaskAction
Następnie: katalogi wersji.
Często zadawane pytania
Czy lekcja „Niestandardowe zadania” jest bezpłatna?
Tak — pełny tekst „Niestandardowe zadania” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Academy, przejdź na CoddyKit PRO. Kurs Kotlin Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Niestandardowe zadania”?
Automatyzuj pracę Ćwiczysz Kotlin Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Kotlin Academy?
Nie wymagamy żadnego doświadczenia. Kotlin Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Niestandardowe zadania”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Academy?
Tak. Każda lekcja Kotlin Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Gradle Kotlin DSL
- Zależności i wtyczki
- Niestandardowe zadania
- Katalogi wersji