Refactor: Update dependencies and plugins to use version catalog#91
Merged
Conversation
This commit refactors the build configuration to utilize the version catalog for managing dependencies and plugins.
Specific changes:
- Migrated plugin declarations in `build.gradle.kts` files (root, app, data, designSystem, detectImageContent, presentation, domain) to use aliases from the version catalog.
- Updated dependency declarations in module-level `build.gradle.kts` files to reference versions and libraries defined in `gradle/libs.versions.toml`.
- Added new entries to `gradle/libs.versions.toml` for firebase, ksp, ktor, room, and other libraries.
- Removed direct version specifications from `build.gradle.kts` files.
- In `data/build.gradle.kts`:
- Changed `android.buildFeatures.buildConfig = true` to the `buildFeatures` block.
- Enabled `isMinifyEnabled` and `isShrinkResources` for debug builds.
- Added `data/consumer-rules.pro` with keep rules for serialization, Retrofit, Room, and Kotlin data classes.
- Updated Java compatibility in `domain/build.gradle.kts` to version 17.
- Removed redundant dependencies and unused `espresso-core` from several modules.
This commit enables `isMinifyEnabled` and `isShrinkResources` in the release build type for the `app` module. It also removes these properties from the debug build type in the `data` module. Additionally, the Kotlin Kapt and KSP plugins are added to the `app` module, and the Room compiler dependency is switched from `kapt` to `ksp`. Some dependency versions and implementations have also been updated. Finally, a commented-out line for `FilteredScreen()` has been removed from `MainActivity.kt`.
Mohammed-qmr
approved these changes
Jul 18, 2025
Contributor
|
Good work. Solve the conflict before merging. |
karrar-abbas
approved these changes
Jul 18, 2025
…gradle # Conflicts: # app/build.gradle.kts # data/build.gradle.kts # gradle/libs.versions.toml # presentation/build.gradle.kts
Update/kotlin version
Update/kotlin version
Update/kotlin version
Update/kotlin version
# Conflicts: # presentation/build.gradle.kts
Update/kotlin version
This commit downgrades the Gradle version from 8.11.1 to 8.4. It also updates various library and plugin versions in `gradle/libs.versions.toml` to align with the older Gradle version. Additionally, `org.gradle.parallel` and `org.gradle.configureondemand` are set to `false` in `gradle.properties`.
This commit downgrades the Kotlin version from 2.0.21 to 1.9.10. It also updates several dependencies to align with this Kotlin version and makes related adjustments in build configuration files.
Key changes include:
- **Kotlin version downgrade:** Updated `kotlin` and related plugin versions in `gradle/libs.versions.toml` and `.idea/kotlinc.xml`.
- **Dependency updates:** Various libraries in `gradle/libs.versions.toml` have been updated or had their versions adjusted.
- **Build file modifications:**
- `build.gradle.kts`: Applied plugin aliases consistently.
- `app/build.gradle.kts`: Switched from `ksp` to `kapt` for Room compiler. Adjusted dependency order.
- `designSystem/build.gradle.kts` and `presentation/build.gradle.kts`: Set `kotlinCompilerExtensionVersion`. Updated material and foundation dependencies.
- `domain/build.gradle.kts`: Changed `java-library` plugin alias to `id("java-library")` and added `kotlinx-coroutines-core` dependency.
- `detectImageContent/build.gradle.kts`: Commented out `coil-network-okhttp` dependency.
- **Coil library update:**
- `detectImageContent/src/main/java/com/madrid/detectImageContent/GetImageBitmap.kt`: Updated Coil library usage from v3 to v2. This involved changing import paths and the method for getting a Bitmap from an ImageRequest.
This commit includes several updates to the project's dependencies and Gradle configuration: **Dependency Updates:** - Updated Ktor to version 2.3.2. - Updated AndroidX Navigation Compose to version 2.8.0. - Added various AndroidX UI, Test, Navigation, Ktor, and Kotlin Serialization dependencies. - Added SLF4J Simple for logging in the `app` module. - Added Koin Android and Annotations dependencies to the `data` module. **Gradle Configuration Changes:** - Enabled parallel builds, caching, and configure on demand in `gradle.properties` for improved build performance. - Suppressed `compileSdk` warnings in `gradle.properties`. - Added a custom `cleanAll` task to the root `build.gradle.kts` to forcefully delete build directories. - Updated plugin aliases in `presentation/build.gradle.kts`. - Enabled `isMinifyEnabled = true` for the debug build type in the `data` module. - Added debug build type configuration with `isMinifyEnabled = false` to the `app` module. - Set `kotlinCompilerExtensionVersion` in `app/build.gradle.kts`. **ProGuard Rules:** - Added ProGuard rules for SLF4J, Ktor, and Kotlin Serialization in `app/proguard-rules.pro`.
This commit includes several updates to the project's dependencies and Gradle configuration: **Dependency Updates:** - Updated Ktor to version 2.3.2. - Updated AndroidX Navigation Compose to version 2.8.0. - Added various AndroidX UI, Test, Navigation, Ktor, and Kotlin Serialization dependencies. - Added SLF4J Simple for logging in the `app` module. - Added Koin Android and Annotations dependencies to the `data` module. **Gradle Configuration Changes:** - Enabled parallel builds, caching, and configure on demand in `gradle.properties` for improved build performance. - Suppressed `compileSdk` warnings in `gradle.properties`. - Added a custom `cleanAll` task to the root `build.gradle.kts` to forcefully delete build directories. - Updated plugin aliases in `presentation/build.gradle.kts`. - Enabled `isMinifyEnabled = true` for the debug build type in the `data` module. - Added debug build type configuration with `isMinifyEnabled = false` to the `app` module. - Set `kotlinCompilerExtensionVersion` in `app/build.gradle.kts`. **ProGuard Rules:** - Added ProGuard rules for SLF4J, Ktor, and Kotlin Serialization in `app/proguard-rules.pro`.
This commit includes several updates to the project's dependencies and Gradle configuration: **Dependency Updates:** - Updated Ktor to version 2.3.2. - Updated AndroidX Navigation Compose to version 2.8.0. - Added various AndroidX UI, Test, Navigation, Ktor, and Kotlin Serialization dependencies. - Added SLF4J Simple for logging in the `app` module. - Added Koin Android and Annotations dependencies to the `data` module. **Gradle Configuration Changes:** - Enabled parallel builds, caching, and configure on demand in `gradle.properties` for improved build performance. - Suppressed `compileSdk` warnings in `gradle.properties`. - Added a custom `cleanAll` task to the root `build.gradle.kts` to forcefully delete build directories. - Updated plugin aliases in `presentation/build.gradle.kts`. - Enabled `isMinifyEnabled = true` for the debug build type in the `data` module. - Added debug build type configuration with `isMinifyEnabled = false` to the `app` module. - Set `kotlinCompilerExtensionVersion` in `app/build.gradle.kts`. **ProGuard Rules:** - Added ProGuard rules for SLF4J, Ktor, and Kotlin Serialization in `app/proguard-rules.pro`.
fatimafaisalghazi
requested changes
Jul 20, 2025
943e967 to
e300be9
Compare
- Removed the `androidx.material3` dependency from `app/build.gradle.kts` as it's not being used. - Updated the `GetImageBitmap.kt` file to use the latest version of the Coil library for image loading. - Modified the `MovioDatabase.kt` to allow destructive migration on downgrade in Room.
This commit updates the Room Database library to version 2.7.2. It also removes an unused OkHttp dependency from the detectImageContent module.
This commit the kotlin-stdlib version to 1.9.10 across all subprojects to resolve compatibility issues. The `detectImageContent` module has been updated to use the older `coil` library (version 2.x) instead of `coil3` for image loading, as `coil3` requires a newer Kotlin version. Additionally, Room schema location has been configured in the `data` module's build script.
Mohammed-qmr
approved these changes
Jul 20, 2025
yasserahmed10
approved these changes
Jul 20, 2025
…gradle # Conflicts: # designSystem/build.gradle.kts
AmrNasserSaad
approved these changes
Jul 20, 2025
# Conflicts: # designSystem/build.gradle.kts
fatimafaisalghazi
approved these changes
Jul 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.
This commit refactors the build configuration to utilize the version catalog for managing dependencies and plugins.
Specific changes:
build.gradle.ktsfiles (root, app, data, designSystem, detectImageContent, presentation, domain) to use aliases from the version catalog.build.gradle.ktsfiles to reference versions and libraries defined ingradle/libs.versions.toml.gradle/libs.versions.tomlfor firebase, ksp, ktor, room, and other libraries.build.gradle.ktsfiles.data/build.gradle.kts:android.buildFeatures.buildConfig = trueto thebuildFeaturesblock.isMinifyEnabledandisShrinkResourcesfor debug builds.data/consumer-rules.prowith keep rules for serialization, Retrofit, Room, and Kotlin data classes.domain/build.gradle.ktsto version 17.espresso-corefrom several modules.