0Pricing
Kotlin Academy · Lección

Tareas personalizadas

Automatice el trabajo

Tareas personalizadas es una lección gratuita de Kotlin Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Kotlin Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Kotlin Academy incluye 4 lecciones en total.

¿Qué es una tarea de Gradle?

Una tarea es una unidad de trabajo de compilación: compilar, copiar archivos o ejecutar una herramienta. Las tareas personalizadas permiten automatizar operaciones específicas del proyecto.

Registrar una tarea

Use tasks.register con la API de evitación de configuración. Se prefiere a la antigua tasks.create porque es diferida.

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

doFirst y doLast

Las acciones de las tareas se ejecutan durante la fase de ejecución. doFirst antepone una acción y doLast añade una al final. El código que está fuera de ellas se ejecuta durante la configuración.

tasks.register("greet") {
    doFirst { println("start") }
    doLast { println("end") }
}

Descripción y grupo de la tarea

Establezca group y description para que la tarea aparezca ordenadamente en ./gradlew tasks.

tasks.register("cleanLogs") {
    group = "maintenance"
    description = "Deletes generated log files"
    doLast { /* ... */ }
}

Tareas tipadas

Registre una tarea de un tipo integrado para reutilizar su comportamiento. Copy copia archivos de forma declarativa.

tasks.register<Copy>("copyDocs") {
    from("src/docs")
    into("build/docs")
}

Dependencias de tareas

Exprese el orden con dependsOn. La dependencia se ejecuta primero.

tasks.register("deploy") {
    dependsOn("build")
    doLast { println("deploying") }
}

Configurar una tarea existente

Acceda a una tarea registrada previamente (añadida por un plugin) y ajústela.

tasks.named("test") {
    // configure the existing test task
}

tasks.test {
    maxParallelForks = 2
}

Entradas y salidas de las tareas

Declarar inputs y outputs habilita la comprobación de actualización: Gradle omite una tarea cuando nada ha cambiado.

tasks.register("generate") {
    inputs.file("data/template.txt")
    outputs.file("build/generated.txt")
    doLast { /* generate */ }
}

Compilaciones incrementales

Con las entradas y salidas adecuadas, volver a ejecutar una tarea sin cambios muestra UP-TO-DATE y no realiza ningún trabajo. Esto es fundamental para la velocidad de Gradle.

Clases de tareas personalizadas

Para implementar lógica reutilizable, defina una clase que extienda DefaultTask con un método @TaskAction.

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction

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

Ejecutar su tarea

Invoque cualquier tarea registrada por su nombre mediante el wrapper.

// ./gradlew hello
// ./gradlew copyDocs
// ./gradlew deploy

Comprobación rápida

Quiere que una acción se ejecute durante la fase de ejecución, después del resto del trabajo de la tarea. ¿Qué bloque debe usar?

Resumen

Puede automatizar el trabajo con tareas personalizadas:

  • tasks.register + doFirst/doLast
  • Tareas tipadas como Copy y dependsOn para establecer el orden
  • Declare inputs/outputs para comprobar si están actualizadas
  • Clases personalizadas DefaultTask con @TaskAction

Siguiente: catálogos de versiones.

Preguntas frecuentes

¿La lección «Tareas personalizadas» es gratis?

Sí — el texto completo de «Tareas personalizadas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Kotlin Academy, actualiza a CoddyKit PRO. El curso de Kotlin Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Tareas personalizadas»?

Automatice el trabajo Practicas Kotlin Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Kotlin Academy?

No se requiere experiencia previa. Kotlin Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Tareas personalizadas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Kotlin Academy?

Sí. Cada lección de Kotlin Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Gradle Kotlin DSL
  2. Dependencias y plugins
  3. Tareas personalizadas
  4. Catálogos de versiones
← Volver a Kotlin Academy