Skip to content

Gradle Isolated Projects broken due to accessing Task dependencies directly #2844

@pablobaxter

Description

@pablobaxter

sourceSet.kotlin.nonSelfDeps(kspTaskName).filter { it.name !in filteredTasks }

This line is accessing task dependencies, which breaks Gradle Isolated Projects. This occurs when using AGP 9 with KSP 2.3.6. Repro project https://github.com/pablobaxter/starrynight

Steps:

  • Change com.frybits.agp.version to 9.0.0 in the gradle.properties file
  • Sync project

The following stacktrace is reported for this issue:

- [error] Project `:app` cannot access task dependencies directly

        - plugin 'com.android.internal.application'
                - Exception at `com.google.devtools.ksp.gradle.KspSubpluginKt.nonSelfDeps(KspSubplugin.kt:493)`
            org.gradle.api.InvalidUserCodeException: Project ':app' cannot access task dependencies directly
            	at org.gradle.api.internal.tasks.AbstractTaskDependency.getDependencies(AbstractTaskDependency.java:64)
            	at com.google.devtools.ksp.gradle.KspSubpluginKt.nonSelfDeps(KspSubplugin.kt:493)
            	at com.google.devtools.ksp.gradle.KspAATask$Companion$registerKspAATask$kspTaskProvider$1$3$1.invoke(KspAATask.kt:220)
            	at com.google.devtools.ksp.gradle.KspAATask$Companion$registerKspAATask$kspTaskProvider$1$3$1.invoke(KspAATask.kt:204)
            	at org.jetbrains.kotlin.gradle.utils.MutableObservableSetImpl.forAll(ObservableSet.kt:96)
            	at com.google.devtools.ksp.gradle.KspAATask$Companion$registerKspAATask$kspTaskProvider$1.invoke(KspAATask.kt:204)
            	at com.google.devtools.ksp.gradle.KspAATask$Companion$registerKspAATask$kspTaskProvider$1.invoke(KspAATask.kt:192)
            	at com.google.devtools.ksp.gradle.KspAATask$Companion.registerKspAATask$lambda$2(KspAATask.kt:192)
            	at java.base/java.lang.Iterable.spliterator(Iterable.java:101)
            	at com.google.common.collect.Streams.stream(Streams.java:69)
            	at com.android.build.gradle.internal.ide.Utils.getGeneratedSourceFolders(Utils.java:51)
            	at com.android.build.gradle.internal.ide.v2.ModelBuilder.createAndroidArtifact(ModelBuilder.kt:1224)
            	at com.android.build.gradle.internal.ide.v2.ModelBuilder.createVariant(ModelBuilder.kt:1068)
            	at com.android.build.gradle.internal.ide.v2.ModelBuilder.buildAndroidProjectModel(ModelBuilder.kt:679)
            	at com.android.build.gradle.internal.ide.v2.ModelBuilder.buildAll(ModelBuilder.kt:173)
            	at org.gradle.tooling.internal.consumer.connection.NestedActionAwareBuildControllerAdapter.findModel(NestedActionAwareBuildControllerAdapter.java:32)
            	at com.android.tools.idea.gradle.project.sync.SyncActionRunnerKt$toMeasuringController$1.findModel$lambda$5(SyncActionRunner.kt:280)
            	at com.android.tools.idea.projectsystem.gradle.sync.Counter.invoke(PerformanceMeasurementUtil.kt:121)
            	at com.android.tools.idea.gradle.project.sync.SyncActionRunnerKt.measure(SyncActionRunner.kt:329)
            	at com.android.tools.idea.gradle.project.sync.SyncActionRunnerKt.access$measure(SyncActionRunner.kt:1)
            	at com.android.tools.idea.gradle.project.sync.SyncActionRunnerKt$toMeasuringController$1.findModel(SyncActionRunner.kt:280)
            	at com.android.tools.idea.gradle.project.sync.ActionToRun$toSafeController$1.findModel(SyncActionRunner.kt:146)
            	at com.android.tools.idea.gradle.project.sync.ModelFetchersKt.findNonParameterizedV2Model(ModelFetchers.kt:47)
            	at com.android.tools.idea.gradle.project.sync.BasicV2AndroidModuleGradleProject.getGradleModuleAction$lambda$0(BasicModules.kt:261)
            	at com.android.tools.idea.gradle.project.sync.ActionToRun.run$intellij_android_projectSystem_gradle_sync(SyncActionRunner.kt:72)
            	at com.android.tools.idea.gradle.project.sync.SyncActionRunner.runActions$lambda$4$0(SyncActionRunner.kt:233)
            	at java.base/java.lang.Thread.run(Thread.java:1447)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions