Sheljith krishnan
Sheljith krishnan

Reputation: 345

Adding kotlin-bom to gradle dependency breaks the application

I am trying to update the build.gradle.kts by moving kotlin-bom from dependencyManagement to dependencies. Am using java 17 and gradle 8.2

earlier it was

dependencyManagement {
imports {
   mavenBom("org.jetbrains.kotlin:kotlin-bom:1.8.22")
} }

I am trying to move to dependencies

dependencies {

implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.22"))
}

I am doing this to add refresh version feature to my application. But this is thowing the below error

    Task :kaptGenerateStubsKotlin FAILED e: java.lang.NoSuchMethodError: 'void kotlin.script.experimental.api.KotlinType.<init>(kotlin.reflect.KClass, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker)'
    at org.jetbrains.kotlin.scripting.definitions.ScriptCompilationConfigurationFromDefinition$1.invoke(ScriptCompilationConfigurationFromDefinition.kt:32)
    at org.jetbrains.kotlin.scripting.definitions.ScriptCompilationConfigurationFromDefinition$1.invoke(ScriptCompilationConfigurationFromDefinition.kt:28)
    at kotlin.script.experimental.api.ScriptCompilationConfiguration.<init>(scriptCompilation.kt:23)
     at kotlin.script.experimental.api.ScriptCompilationConfiguration.<init>(scriptCompilation.kt:25)
    at org.jetbrains.kotlin.scripting.definitions.ScriptCompilationConfigurationFromDefinition.<init>(ScriptCompilationConfigurationFromDefinition.kt:27)
    at org.jetbrains.kotlin.scripting.definitions.ScriptDefinition$Companion.getDefault(ScriptDefinition.kt:221)
    at org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationExtensionKt.configureScriptDefinitions(ScriptingCompilerConfigurationExtension.kt:101)
    at org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationExtension.updateConfiguration(ScriptingCompilerConfigurationExtension.kt:50)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.configureProjectEnvironment(KotlinCoreEnvironment.kt:584)
   at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:192)
   at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:107)
   at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:442)
   at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:202)
   at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:153)
   at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
   at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:100)
   at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:46)
   at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)

Task :spotlessKotlin FAILED

Step 'ktlint' found problem in 'src/main/kotlin/com/xxxxxx.kt': RANGE_UNTIL java.lang.NoSuchFieldError: RANGE_UNTIL

   at com.pinterest.ktlint.rule.engine.core.api.ElementType.<clinit>(ElementType.kt:216)
   at com.pinterest.ktlint.ruleset.standard.rules.AnnotationRule.<clinit>(AnnotationRule.kt:440)
   at com.pinterest.ktlint.ruleset.standard.StandardRuleSetProvider$getRuleProviders$1.invoke(StandardRuleSetProvider.kt:88)
    at com.pinterest.ktlint.ruleset.standard.StandardRuleSetProvider$getRuleProviders$1.invoke(StandardRuleSetProvider.kt:88)
    at com.pinterest.ktlint.rule.engine.core.api.RuleProvider$Companion.invoke(RuleProvider.kt:43)
    at com.pinterest.ktlint.ruleset.standard.StandardRuleSetProvider.getRuleProviders(StandardRuleSetProvider.kt:88)
    at com.diffplug.spotless.glue.ktlint.compat.KtLintCompat0Dot49Dot0Adapter.format(KtLintCompat0Dot49Dot0Adapter.java:132)
    at com.diffplug.spotless.glue.ktlint.KtlintFormatterFunc.applyWithFile(KtlintFormatterFunc.java:64)
    at com.diffplug.spotless.FormatterFunc$NeedsFile.apply(FormatterFunc.java:154)
    at com.diffplug.spotless.FormatterStepImpl$Standard.format(FormatterStepImpl.java:82)
    at com.diffplug.spotless.FormatterStep$Strict.format(FormatterStep.java:88)
    at com.diffplug.spotless.Formatter.compute(Formatter.java:246)

If I am using the first method, there are no errors.

If anyone knows what am doing wrong, please let me know. Thanks in advance...

Upvotes: 0

Views: 638

Answers (1)

Ben M
Ben M

Reputation: 1892

Range Util was added to Kotlin in 1.9.

Without more details it's unclear exactly what is going on, but it appears likely that previously somehow your application was using Kotlin 1.9 and now is using 1.8.

Try changing the version used in the platform to 1.9.0

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/range-until.html

Upvotes: 0

Related Questions