Fixing the Gradle build
/gradle-buildDiagnoses and corrects build, dependency, and configuration errors.
--- description: Fix Gradle build errors for Android and KMP projects --- # Gradle Build Fix Incrementally fix Gradle build and compilation errors for Android and Kotlin Multiplatform projects. ## Step 1: Detect Build Configuration Identify the project type and run the appropriate build: | Indicator | Build Command | |-----------|---------------| | build.gradle.kts + composeApp/ (KMP) | ./gradlew composeApp:compileKotlinMetadata 2>&1 | | build.gradle.kts + app/ (Android) | ./gradlew app:compileDebugKotlin 2>&1 | | settings.gradle.kts with modules | ./gradlew assemble 2>&1 | | Detekt configured | ./gradlew detekt 2>&1 | Also check gradle.properties and local.properties for configuration. ## Step 2: Parse and Group Errors 1. Run the build command and capture output 2. Separate Kotlin compilation errors from Gradle configuration errors 3. Group by module and file path 4. Sort: configuration errors first, then compilation errors by dependency order ## Step 3: Fix Loop For each error: 1. Read the file : Full context around the error line 2. Diagnose : Common categories: - Missing import or unresolved reference - Type mismatch or incompatible types - Missing dependency in build.gradle.kts - Expect/actual mismatch (KMP) - Compose compiler error 3. Fix minimally : Smallest change that resolves the error 4. Re-run build : Verify fix and check for new errors 5. Continue : Move to next error ## Step 4: Guardrails Stop and ask the user if: - Fix introduces more errors than it resolves - Same error persists after 3 attempts - Error requires adding new dependencies or changing module structure - Gradle sync itself fails (configuration-phase error) - Error is in generated code (Room, SQLDelight, KSP) ## Step 5: Summary Report: - Errors fixed (module, file, description) - Errors remaining - New errors introduced (should be zero) - Suggested next steps ## Common Gradle/KMP Fixes | Error | Fix | |-------|-----| | Unresolved reference in commonMain | Check if the dependency is in commonMain.dependencies {} | | Expect declaration without actual | Add actual implementation in each platform source set | | Compose compiler version mismatch | Align Kotlin and Compose compiler versions in libs.versions.toml | | Duplicate class | Check for conflicting dependencies with ./gradlew dependencies | | KSP error | Run ./gradlew kspCommonMainKotlinMetadata to regenerate | | Configuration cache issue | Check for non-serializable task inputs |