-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
63 lines (61 loc) · 1.94 KB
/
build.gradle.kts
File metadata and controls
63 lines (61 loc) · 1.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
* PROJECT-LEVEL BUILD.GRADLE.KTS
* =============================
*
* PURPOSE:
* This file acts as the "corporate headquarters" for your Android project's build system.
* While module-level build files handle specific implementation, this file manages project-wide concerns.
*
* MAIN FUNCTIONS:
* 1. Plugin Version Management
* - Declares versions of build tools/plugins for the entire project
* - Controls which versions of Gradle, Android tools, and Kotlin are used
* - Similar to declaring Maven/Ant versions in traditional Java builds
*
* 2. Project-Wide Configuration
* - Sets up build rules that apply to ALL modules
* - 'apply false' means "make plugin available to modules but don't apply here"
*
* 3. Common Settings Repository
* - Can define variables and settings shared across all modules
* - Similar to parent POM concept in Maven
*
* 4. Build System Setup
* - Configures the overall build environment
* - Like a master build file in Ant, but at a higher level
*
* ADDITIONAL CAPABILITIES (not shown in this minimal file):
* - Define common repositories for all modules
* - Set up project-wide properties
* - Configure custom build logic
* - Define shared dependencies
*
* Think of this as the "master control" file for your entire project.
*/
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id("com.android.application") version "8.2.1" apply false
id("org.jetbrains.kotlin.android") version "1.9.0" apply false
}
/*
* POTENTIAL ADDITIONS:
*
* // Example of project-wide repository definitions
* allprojects {
* repositories {
* google()
* mavenCentral()
* }
* }
*
* // Example of project-wide properties
* ext {
* kotlinVersion = "1.9.0"
* minSdkVersion = 24
* }
*
* // Example of custom build logic
* tasks.register("clean", Delete::class) {
* delete(rootProject.buildDir)
* }
*/