Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Gradle] Configuration.setVisible(boolean) deprecation warning on Gradle 9.8

Fechada Para iniciantes
#3,099 0 comentários 1 reação 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
85/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
build-system

Direção de pesquisa

Comece em GradleProvisioner.java, especialmente em forConfigurationContainer por volta da linha 136, e inspecione a configuração detached usada por JarState.provisionWithTransitives. Execute a reprodução fornecida do Gradle 9.8 com spotlessCheck e spotlessApply usando warning-mode all. Está concluído quando o provisionamento do formatter continua tendo sucesso sem o aviso de depreciação de Configuration.setVisible(boolean).

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Environment
  • Spotless Gradle plugin: 8.10.2
  • Gradle: 9.8.0
  • Reproduced with: spotlessCheck and spotlessApply
Reproduction

A formatter that provisions external dependencies is enough to reproduce it, for example:

plugins {
    id("com.diffplug.spotless") version "8.10.2"
}

repositories {
    mavenCentral()
}

spotless {
    java {
        googleJavaFormat()
    }
}

Run:

./gradlew spotlessCheck --warning-mode all -Dorg.gradle.deprecation.trace=true
Actual behavior

Gradle reports:

The Configuration.setVisible(boolean) method has been deprecated.
This is scheduled to be removed in Gradle 11.

The relevant stack trace is:

at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.setVisible(DefaultConfiguration.java:376)
at org.gradle.api.internal.artifacts.configurations.DefaultLegacyConfiguration_Decorated.setVisible(Unknown Source)
at com.diffplug.gradle.spotless.GradleProvisioner.lambda$forConfigurationContainer$2(GradleProvisioner.java:136)
at com.diffplug.gradle.spotless.GradleProvisioner$DedupingProvisioner.provisionWithTransitives(GradleProvisioner.java:91)
at com.diffplug.spotless.JarState.provisionWithTransitives(JarState.java:132)

In Spotless 8.10.2, GradleProvisioner.forConfigurationContainer configures the detached configuration with:

config.setCanBeConsumed(false);
config.setVisible(false);

I see the warning from formatters that provision external dependencies, including Gherkin, Java (google-java-format), JSON (Gson), and Kotlin (ktlint). The build still succeeds, but Gradle generates a problems report containing the warnings.

Gradle upgrade guide: https://docs.gradle.org/9.8.0/userguide/upgrading_version_9.html#deprecate-visible-property

Expected behavior

Spotless should run on Gradle 9.8 without deprecation warnings and remain compatible when Configuration.setVisible(boolean) is removed in Gradle 11.

Linguagem predominante
Java
Estrelas
5.7k
Forks
560
Merge médio
1d 6h
PRs com merge (30d)
48

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de diffplug/spotless

Todas as issues de diffplug/spotless

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.