From cde160716edc0429733212ad4ca561137760cf94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Burstr=C3=B6m?= Date: Sat, 6 Jul 2024 10:38:46 +0200 Subject: [PATCH] Explain why the plugins get listed in the root project build script It dispels a bit of the magic that happens during a build. See the patch for the thorough explanation. --- build.gradle.kts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index dffc0c0dd..fbcefa906 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,7 +30,13 @@ buildscript { } -// Lists all plugins used throughout the project +/* + * By listing all the plugins used throughout all subprojects in the root project build script, it + * ensures that the build script classpath remains the same for all projects. This avoids potential + * problems with mismatching versions of transitive plugin dependencies. A subproject that applies + * an unlisted plugin will have that plugin and its dependencies _appended_ to the classpath, not + * replacing pre-existing dependencies. + */ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.android.library) apply false