// build.gradle.kts
plugins {
kotlin("jvm") version "1.8.20"
kotlin("jupyter.api") version "0.11.0-358"
}
This causes an error:
Build file '/projects/my-project/build.gradle.kts' line: 3
An exception occurred applying plugin request [id: 'org.jetbrains.kotlin.jupyter.api', version: '0.11.0-358']
> Failed to apply plugin 'org.jetbrains.kotlin.jupyter.api'.
> Build was configured to prefer settings repositories over project repositories but repository 'MavenRepo' was added by plugin 'org.jetbrains.kotlin.jupyter.api'
* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Exception is:
org.gradle.api.plugins.InvalidPluginException: An exception occurred applying plugin request [id: 'org.jetbrains.kotlin.jupyter.api', version: '0.11.0-358']
...
Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed to apply plugin 'org.jetbrains.kotlin.jupyter.api'.
...
Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository 'MavenRepo' was added by plugin 'org.jetbrains.kotlin.jupyter.api'
at org.gradle.internal.management.DefaultDependencyResolutionManagement.repoMutationDisallowedOnProject(DefaultDependencyResolutionManagement.java:199)
at org.gradle.internal.ImmutableActionSet$SetWithFewActions.execute(ImmutableActionSet.java:285)
at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:262)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection.doAdd(DefaultNamedDomainObjectCollection.java:113)
at org.gradle.api.internal.DefaultDomainObjectCollection.add(DefaultDomainObjectCollection.java:251)
at org.gradle.api.internal.artifacts.DefaultArtifactRepositoryContainer.access$101(DefaultArtifactRepositoryContainer.java:35)
at org.gradle.api.internal.artifacts.DefaultArtifactRepositoryContainer.lambda$new$0(DefaultArtifactRepositoryContainer.java:38)
at org.gradle.api.internal.artifacts.DefaultArtifactRepositoryContainer.addWithUniqueName(DefaultArtifactRepositoryContainer.java:101)
at org.gradle.api.internal.artifacts.DefaultArtifactRepositoryContainer.addRepository(DefaultArtifactRepositoryContainer.java:89)
at org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.maven(DefaultRepositoryHandler.java:161)
at org.jetbrains.kotlinx.jupyter.api.plugin.util.DependenciesUtilKt.addMavenIfDoesNotExist(dependenciesUtil.kt:18)
at org.jetbrains.kotlinx.jupyter.api.plugin.util.DependenciesUtilKt.addMavenCentralIfDoesNotExist(dependenciesUtil.kt:25)
at org.jetbrains.kotlinx.jupyter.api.plugin.ApiGradlePlugin$apply$1$4.invoke(ApiGradlePlugin.kt:39)
at org.jetbrains.kotlinx.jupyter.api.plugin.ApiGradlePlugin$apply$1$4.invoke(ApiGradlePlugin.kt:38)
at org.gradle.kotlin.dsl.ProjectExtensionsKt.repositories(ProjectExtensions.kt:159)
at org.jetbrains.kotlinx.jupyter.api.plugin.ApiGradlePlugin.apply(ApiGradlePlugin.kt:38)
at org.jetbrains.kotlinx.jupyter.api.plugin.ApiGradlePlugin.apply(ApiGradlePlugin.kt:19)
at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43)
...
Workaround
As a workaround I can adjust RepositoriesMode to be less strict.
However this causes a warning message every time I run a Gradle command.
Build was configured to prefer settings repositories over project repositories but repository 'MavenRepo' was added by plugin 'org.jetbrains.kotlin.jupyter.api'
I would like to use Centralizing repositories declaration in my Gradle project.
To protect against rogue plugins adding random repos, I enable
RepositoriesMode.FAIL_ON_PROJECT_REPOS
.However, this causes an error because the Jupyter Gradle plugin manually adds a repository.
https://github.com/Kotlin/kotlin-jupyter/blob/76a1cfa833fedb0982293e62a54d7398b4073572/jupyter-lib/kotlin-jupyter-api-gradle-plugin/src/main/kotlin/org/jetbrains/kotlinx/jupyter/api/plugin/ApiGradlePlugin.kt#L38-L40
This is quite unusual, and I think it should be removed.
I am using Gradle version 8.1
Reproduce
To reproduce, a
build.gradle.kts
andsettings.gradle.kts
files are needed.This causes an error:
Workaround
As a workaround I can adjust
RepositoriesMode
to be less strict.However this causes a warning message every time I run a Gradle command.