Feature: Update to Android API 36 and update dependencies#106
Merged
Conversation
This commit introduces a Gradle version catalog (`gradle/libs.versions.toml`) to manage project dependencies. The existing `Versions.kt` and `Deps.kt` files in `buildSrc` are now marked as deprecated.
Target SDK updated from 33 to 36 to ensure compatibility with newer Android versions and features.
The `package` attribute in the `manifest` tag of `AndroidManifest.xml` files is deprecated. This commit removes it from all modules.
This commit migrates the project to use Gradle version catalogs for dependency management and introduces convention plugins for shared build logic. Key changes include: - Replaced `Deps.kt` and `Versions.kt` with `gradle/libs.versions.toml`. - Created `convention-plugins` module for reusable build configurations, including a linting convention plugin. - Updated `build.gradle.kts` files to use version catalog aliases and apply convention plugins. - Updated Gradle wrapper to version 8.14.3. - Modified GitHub Actions workflows to use `setup-kotlin` instead of `setup-java`. - Refactored `LintCheck` task to `LintCheckTask` and improved its logic for identifying relevant subprojects. - Minor code reordering in `DonutProgressLine.kt`. - Updated `gradle.properties` with new Android build feature flags.
- Add Material Components library - Implement Toolbar component - Update app theme to use `NoActionBar` - Integrate Toolbar into sample screens - Adjust layout constraints to accommodate Toolbar
…API 36 - Updated Detekt configuration for better linting and code style enforcement. - Fixed Handler instantiation in Playground activities. - Set `exported="false"` for Playground activities in AndroidManifest. - Enabled `nonTransitiveRClass` and `nonFinalResIds` in gradle.properties.
- Updated the link to the Engineering Handbook in CONTRIBUTING.md. - Moved `lint.xml` from module-level to project-level and added more lint checks. - Updated `.editorconfig` with more specific rules for Kotlin files, including line length, indentation, and trailing commas. - Added exclusions for generated files in `.editorconfig` to disable ktlint for them.
jacob-derynk
marked this pull request as draft
August 18, 2025 12:27
auto-merge was automatically disabled
August 18, 2025 12:27
Pull request was converted to draft
gradle autoupdate changed too much
jacob-derynk
marked this pull request as ready for review
August 18, 2025 12:42
matejsemancik
approved these changes
Aug 20, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR updates the Donut library to target Android API 36 and modernizes the entire build system with the latest Android development practices.
Major Changes
Android API 36 Compatibility
Handler()withHandler(Looper.getMainLooper())android:exportedattributes for API 36 compliancenonTransitiveRClassandnonFinalResIdsfor better performanceBuild System Modernization
libs.versions.tomlCode Quality & Linting
Dependencies Updated