android / android/nowinandroid
[FR]: Make nowinandroid Gradle Isolated Projects compatible
- Dominant language
- Kotlin
- Stars
- 21.8k
- Forks
- 4.6k
- Avg merge
- 19h 20m
- Merged PRs (30d)
- 2
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Describe the problem
Gradle [Isolated Projects](https://docs.gradle.org/current/userguide/isolated_projects.html) feature is an upcoming way to make project configuration faster. It would be great for nowinandroid to be compatible with this feature.
Running `./gradlew build --dry-run -Dorg.gradle.unsafe.isolated-projects=true` surfaces the following issues:
- [ ] Spotless Gradle Plugin
- https://github.com/diffplug/spotless/issues/1979
- [ ] `com.google.samples.apps.nowinandroid.GraphKt.configureGraphTasks(Graph.kt:130)`
- [x] `dagger.hilt.android.plugin.HiltGradlePlugin.verifyDependencies(HiltGradlePlugin.kt:424)`
- https://github.com/google/dagger/issues/4423
- Fixed in 2.5.6
- [x] `androidx.room.gradle.RoomGradlePlugin$Companion.isGradleSyncRunning(RoomGradlePlugin.kt:347)`
- Fixed in room 2.7.0-rc02
- No stable fixed version
- [x] `androidx.baselineprofile.gradle.utils.AgpPlugin$testMaxAgpVersion$2.invoke(AgpPlugin.kt:54)`
- Fixed in 1.3.4
- [x] `com.google.firebase.crashlytics.buildtools.gradle.CrashlyticsBuildtools.configure(CrashlyticsBuildtools.kt:51)`
- https://github.com/firebase/firebase-android-sdk/issues/6748
- Fixed in 3.0.6
- [x] `com.google.firebase.perf.plugin.FirebasePerfPlugin.apply(FirebasePerfPlugin.java:111)`
- https://github.com/firebase/firebase-android-sdk/issues/6748
- Fixed in 2.0.1
- [x] REMOVED USAGE `com.google.android.libraries.mapsplatform.secrets_gradle_plugin.ExtensionsKt.loadPropertiesFile(Extensions.kt:44)`
- https://github.com/google/secrets-gradle-plugin/issues/104
- No fix
- [x] `com.google.devtools.ksp.gradle.KspGradleSubplugin.applyToCompilation$configureAsAbstractKotlinCompileTool(KspSubplugin.kt:364)`
- https://github.com/google/ksp/issues/1943
- [x] `com.google.devtools.ksp.gradle.KspSubpluginKt.nonSelfDeps(KspSubplugin.kt:923)`
- https://github.com/google/ksp/issues/1943
- [x] `com.google.samples.apps.nowinandroid.KotlinAndroidKt$configureKotlinAndroid$$inlined$configureKotlin$1.invoke$lambda-0(KotlinAndroid.kt:81)`
- [PR to fix here](https://github.com/android/nowinandroid/pull/1840)
### Describe the solution
Upgrade to new plugins, move away from plugins that are not fixing the issues.
### Additional context
_No response_
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
Contributor guide
Research direction
Run ./gradlew build --dry-run -Dorg.gradle.unsafe.isolated-projects=true and review the remaining failures, especially Graph.kt:130 and the Spotless plugin issue. Check the linked plugin fixes and the PR for KotlinAndroid.kt:81 before changing versions or build logic; done means the build completes without isolated-projects violations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100