android / android/nowinandroid

[FR]: Make nowinandroid Gradle Isolated Projects compatible

Open
#1,842 7 comments 8 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.