-
-
Notifications
You must be signed in to change notification settings - Fork 825
Closed
Labels
Description
Non scalar YAML aliases limit is harcoded at unusable low level - 10. Please raise it at least to rules count and/or provide config property. This issues broks existing configs that applies DRY pritciple.
Expected Behavior
Correct config should be parsed normally.
Observed Behavior
Error raised when running task on project that uses test sources alias instead of copy-paste it:
excludes: &testPatterns
- '**/test/**'
- '**/androidTest/**'
- '**/integrationTest/**'
- '**/src/integration/**'
- '**/commonTest/**'
- '**/jvmTest/**'
- '**/jsTest/**'
- '**/iosTest/**'
- '**/*.Test.kt'Exception:
Caused by: io.gitlab.arturbosch.detekt.api.Config$InvalidConfigurationError: Provided configuration file is invalid: Structure must be from type Map<String,Any>!
Number of aliases for non-scalar nodes exceeds the specified max=10
at io.gitlab.arturbosch.detekt.core.config.YamlConfig$Companion.load(YamlConfig.kt:77)
at io.gitlab.arturbosch.detekt.core.config.YamlConfig$Companion.load(YamlConfig.kt:66)
at io.gitlab.arturbosch.detekt.core.config.ConfigurationsKt.parsePathConfig(Configurations.kt:43)
at io.gitlab.arturbosch.detekt.core.config.ConfigurationsKt.loadConfiguration(Configurations.kt:16)
at io.gitlab.arturbosch.detekt.core.tooling.ProcessingSpecSettingsBridgeKt$withSettings$configuration$1.invoke(ProcessingSpecSettingsBridge.kt:16)
at io.gitlab.arturbosch.detekt.core.tooling.ProcessingSpecSettingsBridgeKt$withSettings$configuration$1.invoke(ProcessingSpecSettingsBridge.kt:16)
at io.gitlab.arturbosch.detekt.core.util.PerformanceMonitor.measure(PerformanceMonitor.kt:43)
at io.gitlab.arturbosch.detekt.core.tooling.ProcessingSpecSettingsBridgeKt.withSettings(ProcessingSpecSettingsBridge.kt:16)
at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.runAnalysis$detekt_core(AnalysisFacade.kt:47)
at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.run(AnalysisFacade.kt:25)
at io.gitlab.arturbosch.detekt.cli.runners.Runner.call(Runner.kt:33)
at io.gitlab.arturbosch.detekt.cli.runners.Runner.execute(Runner.kt:23)
... 150 more
Caused by: org.snakeyaml.engine.v2.exceptions.YamlEngineException: Number of aliases for non-scalar nodes exceeds the specified max=10
at org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:192)
at org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:364)
at org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:343)
at org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:321)
at org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:210)
at org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:364)
at org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:343)
at org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:321)
at org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:210)
at org.snakeyaml.engine.v2.composer.Composer.composeValueNode(Composer.java:364)
at org.snakeyaml.engine.v2.composer.Composer.composeMappingChildren(Composer.java:343)
at org.snakeyaml.engine.v2.composer.Composer.composeMappingNode(Composer.java:321)
at org.snakeyaml.engine.v2.composer.Composer.composeNode(Composer.java:210)
at org.snakeyaml.engine.v2.composer.Composer.next(Composer.java:162)
at org.snakeyaml.engine.v2.composer.Composer.getSingleNode(Composer.java:128)
at org.snakeyaml.engine.v2.api.Load.loadOne(Load.java:110)
at org.snakeyaml.engine.v2.api.Load.loadFromReader(Load.java:134)
at io.gitlab.arturbosch.detekt.core.config.YamlConfig$Companion.load(YamlConfig.kt:76)
Steps to Reproduce
Use any non-scalar YAML aliase 10+ times. In out config we use test sources list 36 times.
Context
Your Environment
- Version of detekt used: 1.23.0-RC1
- Version of Gradle used (if applicable): 8.0
- Gradle scan link (add
--scanoption when running the gradle task): - Operating System and version:
- Link to your project (if it's a public repository):
Reactions are currently unavailable