Groovy & Gradle: JVM Automation and Build Engineering · Leçon

Cache de construction et Daemon

Tirez parti du cache de construction et du Daemon de Gradle pour accélérer considérablement les constructions incrémentielles.

Leçon 1 sur 411 étapes

Cache de construction et Daemon est une leçon Groovy & Gradle: JVM Automation and Build Engineering gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Groovy & Gradle: JVM Automation and Build Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Groovy & Gradle: JVM Automation and Build Engineering comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Boost Your Gradle Builds

Ever waited too long for a Gradle build to finish? In this lesson, we'll unlock two powerful features to speed up your development:

  • Gradle Daemon: Keeps a JVM running in the background.
  • Build Cache: Reuses outputs from previous builds.

These tools are essential for making your incremental builds much faster!

Meet the Gradle Daemon

The Gradle Daemon is a long-lived background process that hosts your Gradle builds. Think of it like a dedicated server for your builds!

  • It eliminates the JVM startup overhead for each build.
  • It keeps project information and caches in memory.
  • This means subsequent builds are significantly faster!

Daemon in Action: First Run

Let's see the Daemon's effect. The first time you run a Gradle command, the Daemon might need to start up, taking a bit longer. Copy this into a build.gradle file:

task greet {
  doLast {
    println "Hello from Gradle!"
  }
}

Daemon in Action: Subsequent Runs

Now, run the task again using gradle greet. Notice how much faster it is? That's the Daemon at work!

You can check if the Daemon is running with gradle --status and stop it with gradle --stop.

Understanding the Build Cache

The Gradle Build Cache stores the outputs of tasks that have been executed. If a task's inputs haven't changed, Gradle can reuse its cached output instead of re-running it.

  • It saves time by avoiding redundant work.
  • Works across different machines if a remote cache is configured.
  • Enabled by default for local caching.

Local Build Cache Explained

The local build cache is stored on your machine, typically in your Gradle user home directory (~/.gradle/caches/build-cache).

When a task runs, Gradle calculates a hash of its inputs. If that hash matches an entry in the cache, the cached output is used. If not, the task runs and its output is stored.

Cacheable Tasks

For a task to be cacheable, it must properly declare its inputs and outputs. Gradle needs to know what goes into a task and what comes out to determine if it can be cached.

  • Inputs: Files, properties, directories used by the task.
  • Outputs: Files or directories produced by the task.

Many built-in Gradle tasks (like compileJava) are cacheable by default!

Build Cache in Practice

Let's create a task that generates a file. Run gradle generateReport once, then run it again. Notice FROM-CACHE or UP-TO-DATE in the output!

task generateReport {
  inputs.property 'version', '1.0'
  outputs.file 'build/report.txt'
  doLast {
    def reportFile = file('build/report.txt')
    reportFile.parentFile.mkdirs()
    reportFile.text = "Report Version: ${inputs.properties.version}"
    println "Generated report.txt"
  }
}

When Cache Isn't Used

Sometimes, the build cache might not be used, leading to a "cache miss". Common reasons include:

  • Input Changes: Any change to task inputs (even a timestamp).
  • Task Not Cacheable: Task doesn't properly declare inputs/outputs.
  • Cache Disabled: Explicitly disabled with --no-build-cache.
  • Local Cache Cleaned: Cache entries removed.

Quick Check: Build Speed

What is the primary benefit of the Gradle Daemon?

Recap: Faster Builds Ahead!

You've learned how the Gradle Daemon and Build Cache significantly improve build performance:

  • The Daemon keeps a JVM running, making subsequent builds start faster.
  • The Build Cache reuses previous task outputs, avoiding redundant work.

By leveraging these, you can enjoy much quicker incremental builds and a smoother development workflow. Next, we'll explore profiling and debugging your builds!

Gratuit pour commencer

Apprends Groovy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

Questions Fréquemment Posées

La leçon « Cache de construction et Daemon » est-elle gratuite ?

Oui — le texte complet de « Cache de construction et Daemon » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Groovy & Gradle: JVM Automation and Build Engineering, passe à CoddyKit PRO. Le cours Groovy & Gradle: JVM Automation and Build Engineering comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Cache de construction et Daemon » ?

Tirez parti du cache de construction et du Daemon de Gradle pour accélérer considérablement les constructions incrémentielles. Tu pratiques Groovy & Gradle: JVM Automation and Build Engineering avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Groovy & Gradle: JVM Automation and Build Engineering ?

Aucune expérience préalable n'est requise. Groovy & Gradle: JVM Automation and Build Engineering sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Cache de construction et Daemon » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Groovy & Gradle: JVM Automation and Build Engineering ?

Oui. Chaque leçon Groovy & Gradle: JVM Automation and Build Engineering inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Cache de construction et Daemon
  2. Profilage et débogage des constructions
  3. Exécution parallèle et configuration
  4. Compilations incrémentielles et entrées/sorties des tâches
← Retour à Groovy & Gradle: JVM Automation and Build Engineering