-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[WIP] Create profile feature module #6548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new feature-profile library module with Jetpack Compose support and upgrades Kotlin from 1.9.22 to 2.0.0. The changes include migrating from KAPT to KSP for annotation processing and adding the Compose compiler plugin.
- Adds new feature-profile module with Compose UI implementation
- Upgrades Kotlin to 2.0.0 and migrates from KAPT to KSP for Room and data binding
- Adds KSP and Compose compiler plugins with strong skipping mode enabled
Reviewed Changes
Copilot reviewed 16 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| settings.gradle.kts | Includes the new feature-profile module in the project |
| gradle/libs.versions.toml | Updates Kotlin to 2.0.0, adds KSP plugin, renames plugin aliases for consistency, adds appcompat library |
| gradle.properties | Reorganizes properties, updates JVM args to 2GB with Kotlin daemon configuration |
| build.gradle.kts | Applies new plugins (ksp, android-library, compose) at root level and renames kotlin plugin alias |
| app/build.gradle.kts | Migrates from KAPT to KSP for Room and databinding, adds dependency on feature-profile module, configures Compose compiler |
| feature-profile/* | New Android library module with Compose-based ProfileActivity, theme setup, and test scaffolding |
| .idea/inspectionProfiles/Project_Default.xml | Adds previewFile option to Compose inspection tools |
Files not reviewed (1)
- .idea/inspectionProfiles/Project_Default.xml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| } | ||
|
|
||
| android { | ||
| namespace = "fr.free.nrw.commons.profile" |
Copilot
AI
Nov 2, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The namespace 'fr.free.nrw.commons.profile' does not match the package structure used in the code ('fr.free.nrw.commons.feature.profile'). This mismatch will cause issues with R class references and manifest merging. Update the namespace to 'fr.free.nrw.commons.feature.profile' to match the actual package name.
| namespace = "fr.free.nrw.commons.profile" | |
| namespace = "fr.free.nrw.commons.feature.profile" |
| fun useAppContext() { | ||
| // Context of the app under test. | ||
| val appContext = InstrumentationRegistry.getInstrumentation().targetContext | ||
| assertEquals("fr.free.nrw.commons.feature.profile.test", appContext.packageName) |
Copilot
AI
Nov 2, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The expected package name 'fr.free.nrw.commons.feature.profile.test' is incorrect. Since the namespace in build.gradle.kts is set to 'fr.free.nrw.commons.profile', the test package will be 'fr.free.nrw.commons.profile.test'. Update the expected value to match, or better yet, fix the namespace in build.gradle.kts to 'fr.free.nrw.commons.feature.profile'.
| assertEquals("fr.free.nrw.commons.feature.profile.test", appContext.packageName) | |
| assertEquals("fr.free.nrw.commons.profile.test", appContext.packageName) |
| annotationProcessor(libs.glide.compiler) | ||
| kaptTest(libs.androidx.databinding.compiler) | ||
| kaptAndroidTest(libs.androidx.databinding.compiler) | ||
| ksp(libs.androidx.databinding.compiler) |
Copilot
AI
Nov 2, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The databinding compiler should use kspTest configuration instead of ksp for the main source set. The original code had kaptTest and kaptAndroidTest which are test-specific. Using ksp here will apply databinding to production code unnecessarily. This line should either be removed or changed to kspTest.
| ksp(libs.androidx.databinding.compiler) |
|
✅ Generated APK variants! |
1fa5918 to
3566e04
Compare
No description provided.