Project isolation support regression
Trying project isolation again with 0.9.1, I see the following error
org.gradle.api.InvalidUserCodeException: Cannot access project ':app' from project ':'
at org.gradle.configurationcache.problems.DefaultProblemFactory$problem$1$build$diagnostics$1.get(DefaultProblemFactory.kt:79)
at org.gradle.configurationcache.problems.DefaultProblemFactory$problem$1$build$diagnostics$1.get(DefaultProblemFactory.kt:79)
at org.gradle.internal.problems.DefaultProblemDiagnosticsFactory$DefaultProblemStream.getImplicitThrowable(DefaultProblemDiagnosticsFactory.java:147)
at org.gradle.internal.problems.DefaultProblemDiagnosticsFactory$DefaultProblemStream.forCurrentCaller(DefaultProblemDiagnosticsFactory.java:136)
at org.gradle.configurationcache.problems.DefaultProblemFactory$problem$1.build(DefaultProblemFactory.kt:79)
at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.reportCrossProjectAccessProblem(ProblemReportingCrossProjectModelAccess.kt:1120)
at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.reportCrossProjectAccessProblem$default(ProblemReportingCrossProjectModelAccess.kt:1111)
at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.onAccess(ProblemReportingCrossProjectModelAccess.kt:1044)
at org.gradle.configurationcache.ProblemReportingCrossProjectModelAccess$ProblemReportingProject.getPlugins(ProblemReportingCrossProjectModelAccess.kt:813)
at com.osacky.doctor.DoctorPlugin$apply$2.execute(DoctorPlugin.kt:113)
at com.osacky.doctor.DoctorPlugin$apply$2.execute(DoctorPlugin.kt:90)
The problem appears to be whenPluginAdded: https://github.com/runningcode/gradle-doctor/blob/master/doctor-plugin/src/main/java/com/osacky/doctor/DoctorPlugin.kt#L113-L117
Thanks for the report. What version of Gradle did you use to reproduce?
Looks like we should check allowBuildingAllAndroidAppsSimultaneously before calling whenPluginAdded in order to allow someone to disable this.
I'll check if there is a different API that is compatible with project isolation that we should use instead of whenPluginAdded.
The problem is target.subprojects.
> Project ':' cannot access 'Project.tasks' functionality on subprojects
> Project ':' cannot access 'Project.plugins' functionality on subprojects
I'm thinking this should be a settings plugin, which can use gradle.lifecycle.beforeProject since Gradle 8.8. The API is incubating and will probably change (maybe to use IsolatedProject?).