mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 21:53:28 +08:00
2.5 KiB
2.5 KiB
description
| 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
- Run the build command and capture output
- Separate Kotlin compilation errors from Gradle configuration errors
- Group by module and file path
- Sort: configuration errors first, then compilation errors by dependency order
Step 3: Fix Loop
For each error:
- Read the file — Full context around the error line
- 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
- Fix minimally — Smallest change that resolves the error
- Re-run build — Verify fix and check for new errors
- 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 |