Dale Hawkins b8519f44fe
refactor: Centralize SDK versions in libs.versions.toml (#2294)
* refactor: Centralize SDK versions in libs.versions.toml

Moved compileSdk, minSdk, and targetSdk to libs.versions.toml for ApiDemos and snippets projects to ensure consistency and ease of maintenance.

fix: Corrected top bar layout in Kotlin Advanced Markers demo

The Kotlin version of the Advanced Markers demo was missing a call to applyInsets, causing the top bar to overlap with the system UI. This has been corrected to match the behavior of the Java version.

* refactor: Modernize Gradle scripts and update dependencies

This commit refactors the Gradle build scripts for all snippet modules to align with modern Android development practices.

Key changes include:
- Migrating all plugin and dependency declarations to use the version catalog (`libs.versions.toml`).
- Replacing `id("...")` with `alias(libs.plugins...)` for applying plugins.
- Updating numerous library versions, including AGP, Kotlin, and various Jetpack and Google Maps libraries.
- Setting a `namespace` in all module-level `build.gradle.kts` files.
- Enabling Compose and setting the Java toolchain to version 21 across all modules.
- Enabling minification for release builds.
- Removing the legacy `buildscript` block from the root `build.gradle.kts`.

* refactor: removed coreKtx

* refactor: fix build

* refactor: fix build

* refactor: Remove unused Compose configuration from snippet modules

Removed the Jetpack Compose plugin and `compose = true` build feature from all snippet modules as it was not being used.

fix: Update maps-utils snippets

Corrected several issues in the `app-utils` Java snippets:
- Replaced the deprecated `setWeightedData` method with `updateData` in the Heatmaps demo.
- Initialized an empty list in the Heatmaps demo to prevent a potential NullPointerException.
- Added missing R class imports.

---------

Co-authored-by: Enrique López-Mañas <eenriquelopez@gmail.com>
2025-09-26 15:12:17 -06:00

65 lines
1.8 KiB
Plaintext

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
/*
* Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.common_ui"
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.minSdk.get().toInt()
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
javaParameters.set(true)
}
}
}
dependencies {
implementation(libs.coreKtx)
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.playServicesMaps)
testImplementation(libs.junit)
androidTestImplementation(libs.androidxJunit)
androidTestImplementation(libs.espressoCore)
}