Skip to content

eager task creation by tasks.kt registerTask #1901

@jhonnen

Description

@jhonnen

What happened?

Project.registerTask in tasks.kt eagerly creates the task:

        true -> tasks.withType<T>(configuration)

it should use

        true -> tasks.withType<T>().configureEach(configuration)

Relevant log output or stack trace

Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://jb.gg/android-studio-releases-list.xml'.
	at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
	at org.gradle.internal.resource.ResourceExceptions.getFailed(ResourceExceptions.java:57)
	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceAccessor.resolve(DefaultExternalResourceAccessor.java:67)
	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceAccessor.resolveUri(DefaultExternalResourceAccessor.java:46)
	at org.gradle.internal.resource.transfer.CachingTextUriResourceLoader.loadUri(CachingTextUriResourceLoader.java:47)
	at org.gradle.api.internal.resources.ApiTextResourceAdapter.getWrappedTextResource(ApiTextResourceAdapter.java:123)
	at org.gradle.api.internal.resources.ApiTextResourceAdapter.getDisplayName(ApiTextResourceAdapter.java:113)
	at org.gradle.api.internal.resources.ApiTextResourceAdapter.asFile(ApiTextResourceAdapter.java:87)
	at org.jetbrains.intellij.platform.gradle.utils.UtilsKt.resolveUrl(utils.kt:167)
	at org.jetbrains.intellij.platform.gradle.tasks.PrintProductsReleasesTask$Companion$register$1$1.execute(PrintProductsReleasesTask.kt:61)
	at org.jetbrains.intellij.platform.gradle.tasks.PrintProductsReleasesTask$Companion$register$1$1.execute(PrintProductsReleasesTask.kt:57)
	at org.gradle.api.internal.provider.DefaultValueSourceProviderFactory.configureParameters(DefaultValueSourceProviderFactory.java:172)
	at org.gradle.api.internal.provider.DefaultValueSourceProviderFactory.createProviderOf(DefaultValueSourceProviderFactory.java:96)
	at org.gradle.api.internal.provider.DefaultProviderFactory.of(DefaultProviderFactory.java:214)
	at org.jetbrains.intellij.platform.gradle.tasks.PrintProductsReleasesTask$Companion$register$1.invoke(PrintProductsReleasesTask.kt:57)
	at org.jetbrains.intellij.platform.gradle.tasks.PrintProductsReleasesTask$Companion$register$1.invoke(PrintProductsReleasesTask.kt:53)
	at org.jetbrains.intellij.platform.gradle.tasks.TasksKt$inlined$sam$i$org_gradle_api_Action$0.execute(DomainObjectCollectionExtensions.kt)
	at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:124)
	at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:110)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:107)
	at org.gradle.api.internal.collections.CollectionFilter$1.execute(CollectionFilter.java:62)
	at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:185)
	at org.gradle.api.internal.DelegatingDomainObjectSet.all(DelegatingDomainObjectSet.java:60)
	at org.gradle.api.internal.DefaultDomainObjectCollection.withType(DefaultDomainObjectCollection.java:227)
	at org.jetbrains.intellij.platform.gradle.tasks.PrintProductsReleasesTask$Companion.register(PrintProductsReleasesTask.kt:97)
Caused by: org.gradle.internal.resource.transport.http.HttpErrorStatusCodeException: Could not HEAD 'https://teamcity.jetbrains.com/guestAuth/repository/download/AndroidStudioReleasesList/.lastSuccessful/android-studio-releases-list.xml'. Received status code 503 from server: Service Temporarily Unavailable
...

Steps to reproduce

Execute gradlew runIde. I expect that e.g. the PrintProductsReleasesTask is not created and the latest release URL is not resolved unless actually required for task execution.

Note: the HTTP error here is not the issue

Gradle IntelliJ Plugin version

2.3.0

Gradle version

8.13

Operating System

Windows

Link to build, i.e. failing GitHub Action job

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions