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

86 lines
2.5 KiB
Plaintext

/*
* 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.application")
id("project-report")
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
android {
compileSdk = libs.versions.compileSdk.get().toInt()
defaultConfig {
applicationId = "com.example.mapdemo"
minSdk = libs.versions.minSdk.get().toInt()
targetSdk = libs.versions.targetSdk.get().toInt()
versionCode = 1
versionName = "1.16.0"
multiDexEnabled = true
}
buildFeatures {
compose = true
buildConfig = true
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
flavorDimensions.add("version")
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
namespace = "com.example.mapdemo"
}
dependencies {
implementation(libs.appcompat)
implementation(libs.recyclerview)
implementation(libs.volley)
implementation(libs.playServicesMaps)
implementation(libs.material)
implementation(libs.activity)
// Tests
testImplementation(libs.junit)
androidTestImplementation(libs.androidxJunit)
androidTestImplementation(libs.espressoCore)
implementation(project(":common-ui"))
}
secrets {
// To add your Maps API key to this project:
// 1. If the secrets.properties file does not exist, create it in the same folder as the local.properties file.
// 2. Add this line, where YOUR_API_KEY is your API key:
// MAPS_API_KEY=YOUR_API_KEY
propertiesFileName = "secrets.properties"
// A properties file containing default secret values. This file can be
// checked in version control.
defaultPropertiesFileName = "local.defaults.properties"
}