refactor - Update ReadMe with AGP Min Version#86
Open
Conversation
- Add version override properties in gradle.properties for matrix testing - Wire version overrides in library/build.gradle with helper function - Add dependency constraints for AndroidX and Material (using prefer() for now) - Enable dependency locking for reproducible builds - Change OkHttp from api to implementation (not exposed in public API) - Add resolution strategy to handle transitive conflicts gracefully - Create docs/androidx-compatibility.md with compatibility guide - Add CI workflow for AndroidX compatibility matrix testing - Update README with AndroidX compatibility section - Generate and commit dependency lockfile
Contributor
Code Coverage
|
- Update constraints to use strictly() with version ranges after CI validation - Set minimum safe versions based on matrix testing results: - androidx.core:core-ktx >= 1.8.0 - androidx.appcompat:appcompat >= 1.4.2 - androidx.activity:activity-compose >= 1.6.1 - com.google.android.material:material >= 1.8.0 - Update documentation with validated minimum versions and test results - All version combinations passed CI matrix testing
- Change Material from 'api' to 'implementation' to stop forcing version on consumers - Consumers must now add their own Material dependency (>= 1.8.0) - Use minimum safe versions in dependency declarations to maximize compatibility - Remove strictly() constraints (only affected SDK builds, not consumers) - Update documentation with new consumer requirements This significantly reduces version conflicts for merchant apps: - Material no longer forced from SDK - Core KTX uses 1.8.0 (down from 1.10.1) - AppCompat uses 1.4.2 (down from 1.6.1) - Gradle can resolve to consumer's preferred versions
- Changed Material dependency from 'implementation' to 'api' to allow consumers to automatically use the version they specify. - Updated documentation to reflect that Material Components (1.8.0) are now provided by the SDK, minimizing version conflicts. - Clarified that Gradle will resolve to the higher version if the consumer's app uses a newer version. - Removed previous requirement for consumers to manually add Material dependency, streamlining integration.
- Added steps to update the lockfile for version overrides and baseline versions in the CI workflow. - Ensured that the lockfile reflects the specified AndroidX and Material versions for consistent builds.
- Adjusted the Compose BOM version in the CI workflow to reflect the minimum safe version of 2023.03.00, ensuring compatibility with stable APIs. - Updated documentation to indicate the tested versions of the Compose BOM, clarifying the minimum safe version for users.
- Disabled ViewBinding in the build configuration to prevent consumers from needing to align ViewBinding/AGP versions. - Updated documentation to reflect the removal of ViewBinding, simplifying integration for merchant apps.
- Upgraded androidxCoreVersion to 1.9.0, appcompatVersion to 1.6.1, activityComposeVersion to 1.8.2, and materialVersion to 1.10.0 in gradle.properties. - Updated dependencies in demo/build.gradle to reflect the new versions, ensuring compatibility with the latest libraries. - Removed unnecessary version constraints in library/build.gradle to simplify dependency management.
…quirements - Added a new section for Android Gradle Plugin (AGP) requirements, specifying minimum and recommended versions. - Updated the AndroidX compatibility section to include detailed information on required dependencies and potential conflicts with older AGP versions. - Clarified the optional nature of the Compose BOM for Compose APIs in the Quick Reference section.
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.
Description
Update README with AndroidX compatibility section.
Add test for compatibility.
Screenshots
Testing instructions