Skip to content

Conversation

@madhurgupta10
Copy link
Collaborator

No description provided.

@madhurgupta10 madhurgupta10 requested a review from Copilot November 2, 2025 12:21
@madhurgupta10 madhurgupta10 changed the title Create profile feature module [WIP] Create profile feature module Nov 2, 2025
Copy link
Contributor

Copilot AI left a 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"
Copy link

Copilot AI Nov 2, 2025

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.

Suggested change
namespace = "fr.free.nrw.commons.profile"
namespace = "fr.free.nrw.commons.feature.profile"

Copilot uses AI. Check for mistakes.
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("fr.free.nrw.commons.feature.profile.test", appContext.packageName)
Copy link

Copilot AI Nov 2, 2025

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'.

Suggested change
assertEquals("fr.free.nrw.commons.feature.profile.test", appContext.packageName)
assertEquals("fr.free.nrw.commons.profile.test", appContext.packageName)

Copilot uses AI. Check for mistakes.
annotationProcessor(libs.glide.compiler)
kaptTest(libs.androidx.databinding.compiler)
kaptAndroidTest(libs.androidx.databinding.compiler)
ksp(libs.androidx.databinding.compiler)
Copy link

Copilot AI Nov 2, 2025

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.

Suggested change
ksp(libs.androidx.databinding.compiler)

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

github-actions bot commented Nov 2, 2025

✅ Generated APK variants!

@madhurgupta10 madhurgupta10 deleted the multi-module-2 branch November 8, 2025 07:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant