== Why is this an issue? The actions performed by a task are often too complex or specific, and the task name cannot describe the task's action sufficiently well. Moreover, build scripts usually consist of many tasks - whether explicitly defined or implicitly by the applied plugins - so a structure is required to help the user navigate through existing tasks. Therefore, tasks should define a `description` and `group` to provide documentation and categorization for the user. === What is the potential impact? ==== Improve task discoverability Users can find tasks easier and understand their purpose if they contain a description and are grouped into categories. == How to fix it Assign the `description` and `group` properties in your task configuration. === Code examples ==== Noncompliant code example [source,kotlin,diff-id=1,diff-type=noncompliant] ---- tasks.register("generateHtmlDocs") { // Noncompliant, does neither define "description" and "group" title.set("Project docs") outputDir.set(layout.buildDirectory.dir("docs")) } ---- ==== Compliant solution [source,kotlin,diff-id=1,diff-type=compliant] ---- tasks.register("generateHtmlDocs") { // Compliant, defines "description" and "group" description = "Generates the HTML documentation for this project." group = JavaBasePlugin.DOCUMENTATION_GROUP title.set("Project docs") outputDir.set(layout.buildDirectory.dir("docs")) } ---- == Resources === Documentation * https://docs.gradle.org/current/userguide/authoring_maintainable_build_scripts.html#sec:improving_task_discoverability[Gradle Documentation - Improve task discoverability]