The table below provides a complete list of documented Gradle Best Practices.

There are currently 21 Best Practices.

Use this as a quick reference to track newly added recommendations, check adoption status, or explore areas for improving your build:

Title Section Introduced in Gradle

Use Kotlin DSL

General

8.14

Use the Latest Minor Version of Gradle

General

8.14

Apply Plugins Using the plugins Block

General

8.14

Do Not Use Internal APIs

General

8.14

Set build flags in gradle.properties

General

9.0.0

Modularize Your Builds

Structuring Builds

9.0.0

Do Not Put Source Files in the Root Project

Structuring Builds

9.0.0

Favor build-logic Composite Builds for Build Logic

Structuring Builds

9.0.0

Avoid Unintentionally Creating Empty Projects

Structuring Builds

9.1.0

Single GAV String

Dependencies

8.14

Use Version Catalogs to Centralize Dependency Versions

Dependencies

9.0.0

Name Version Catalog Entries Appropriately

Dependencies

9.0.0

Set up your Dependency Repositories in the Settings file

Dependencies

9.0.0

Don’t Explicitly Depend on the Kotlin Standard Library

Dependencies

9.0.0

Avoid Redundant Dependency Declarations

Dependencies

9.0.0

Avoid DependsOn

Task

8.14

Favor @CacheableTask and @DisableCachingByDefault over cacheIf(Spec) and doNotCacheIf(String, Spec)

Task

8.14

Group and Describe custom Tasks

Task

9.0.0

Do not call get() on a Provider outside a Task action

Task

9.1.0

Enable UTF‑8

Performance

9.0.0

Validate the Gradle Distribution SHA-256 Checksum

Security

9.1.0