2024.3 Build Issues

Hello. I’m having some issues building my plugin. I was initially able to build my plugin my local machine (MacOS). However, I started seeing issues in my CI/CD (Linux) and was able to eventually replicate locally.

IDE Target Version: 2024.3

I first added a --stacktrace flag and saw this error:

[2025-03-05T05:04:16.355Z] Execution failed for task ':sage:verifyPluginProjectConfiguration'.
[2025-03-05T05:04:16.355Z] > Failed to query the value of task ':sage:verifyPluginProjectConfiguration' property 'runtimeMetadata'.
[2025-03-05T05:04:16.355Z]    > Process 'command '/home/jenkins/.gradle/caches/transforms-3/ccc2abeb05dbed5915d87398864c546d/transformed/ideaIC-2024.3/jbr/bin/java'' finished with non-zero exit value 6
[2025-03-05T05:04:16.355Z] 
[2025-03-05T05:04:16.355Z] * Try:
[2025-03-05T05:04:16.355Z] > Run with --info or --debug option to get more log output.
[2025-03-05T05:04:16.355Z] > Run with --scan to get full insights.
[2025-03-05T05:04:16.355Z] > Get more help at https://help.gradle.org.
[2025-03-05T05:04:16.355Z] 
[2025-03-05T05:04:16.355Z] * Exception is:
[2025-03-05T05:04:16.355Z] org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':sage:verifyPluginProjectConfiguration'.
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:148)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:146)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
[2025-03-05T05:04:16.355Z] 	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
[2025-03-05T05:04:16.355Z] 	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)

Unsure of what was causing the underlying issue here I added additional info and debug flags. This surfaced a different exception trace:

[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.484+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.484+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.484+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 'org.slf4j.spi.LoggingEventBuilder org.slf4j.Logger.atDebug()'
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.484+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.485+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.485+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Run with --scan to get full insights.
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.485+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > Get more help at https://help.gradle.org.
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.485+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.485+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.485+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] java.lang.NoSuchMethodError: 'org.slf4j.spi.LoggingEventBuilder org.slf4j.Logger.atDebug()'
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.486+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder.logXInclude(XIncluder.kt:302)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.486+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder.resolveXIncludeElements(XIncluder.kt:117)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.486+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder.resolveIncludeOrNonInclude(XIncluder.kt:55)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.486+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder.resolveNonXIncludeElement(XIncluder.kt:215)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.486+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder.resolveXIncludes(XIncluder.kt:48)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.487+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder.access$resolveXIncludes(XIncluder.kt:29)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.487+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.xinclude.XIncluder$Companion.resolveXIncludes(XIncluder.kt:38)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.487+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.plugin.PluginCreator.resolveXIncludesOfDocument(PluginCreator.kt:747)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.487+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.plugin.PluginCreator.resolveDocumentAndValidateBean(PluginCreator.kt:694)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.488+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.plugin.PluginCreator.access$resolveDocumentAndValidateBean(PluginCreator.kt:51)
[2025-03-05T05:35:42.814Z] 2025-03-05T05:35:42.488+0000 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] 	at com.jetbrains.plugin.structure.intellij.plugin.PluginCreator$Companion.createPlugin(PluginCreator.kt:130)

This typically hints at a dependency resolution issue. I’ve tried a few things with locking or excluding versions of slf4j-api and bumping some of my dependency versions but I’ve had no luck.

Curious if anyone has run into a similar issue or if folks are aware of what is wrong here.

The only other topic I’ve seen is this github issue - Project synchronization error with the new plugin · Issue #1806 · JetBrains/intellij-platform-gradle-plugin · GitHub.

Could you please share your build script?

The project structure is a multi-module project. Here’s the main modules of concern

Root build.gradle

buildscript {
    repositories {
        maven {
            url "https://jitpack.io"
        }

        maven {
            url "https://www.jetbrains.com/intellij-repository/snapshots"
        }

        maven {
            url "https://cache-redirector.jetbrains.com/intellij-dependencies"
        }
    }

    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-allopen:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
        classpath "io.qameta.allure.gradle.allure:allure-plugin:$allure_version"
    }
}

plugins {
    id 'jacoco'
    id 'java'
    id("io.ktor.plugin") version "2.3.13" apply false
}

subprojects {
    apply plugin: "idea"
    apply plugin: "kotlin"
    apply plugin: "groovy"
    apply plugin: 'maven-publish'
    apply plugin: 'project-report'
}

Submodule build.gradle

plugins {
    id 'io.qameta.allure'
    id("org.jetbrains.intellij.platform") version "${intellij_platform_version}"
    id("org.jetbrains.grammarkit") version "2022.3.2.2"
}

repositories {
    mavenCentral()
    intellijPlatform {
        defaultRepositories()
    }
}

dependencies {
    configurations {
        implementation {
            exclude group: "xerces", module: "xercesImpl"
            exclude group: "xerces", module: "xmlParserAPIs"
            exclude group: "xml-apis", module: "xml-apis"
            exclude group: "log4j", module: "log4j"
//            exclude group: "log4j", module: "log4j-api"
//            exclude group: "log4j", module: "log4j-core"
            exclude group: "commons-digester", module: "commons-digester"
            exclude group: "it.unimi.dsi", module: "fastutil"
            exclude group: "org.yaml", module: "snakeyaml"
            exclude group: "com.google.guava", module: "guava"
//            exclude group: "org.slf4j", module: "slf4j-api"
//            exclude group: "org.slf4j", module: "jcl-over-slf4j"
        }
    }
    // IntelliJ Platform stuff
    intellijPlatform {
        create("IC", providers.gradleProperty("idea_version"))

        if (project.findProperty("idea_version") == "2024.3") {
            bundledPlugin("com.intellij.modules.json")
        }
        testFramework(TestFrameworkType.Plugin.Java.INSTANCE)
        testFramework(TestFrameworkType.Platform.INSTANCE)
        instrumentationTools()
    }

    implementation "com.fasterxml.jackson.core:jackson-annotations:$jackson_version"
    implementation ("com.fasterxml.jackson.core:jackson-databind") {
        version {
            strictly "$jackson_version"
        }
    }
    implementation "com.fasterxml.jackson.module:jackson-module-jsonSchema:$jackson_version"
    implementation "com.fasterxml.jackson.module:jackson-module-kotlin:$jackson_version"

    implementation ("commons-io:commons-io:2.11.0")
    implementation "com.konghq:unirest-java:$unirest_version"
    implementation "org.apache.httpcomponents:httpclient:4.5.13"
    implementation "com.google.code.gson:gson:2.9.1"
    implementation ("com.google.inject:guice") {
        version {
            strictly "$guice_version"
        }
    }
    implementation("com.google.guava:guava") {
        version {
            strictly "$guava_version"
        }
    }
    implementation ("org.reflections:reflections:0.9.12")
    implementation "de.odysseus.juel:juel-impl:2.2.7"
    implementation "de.odysseus.juel:juel-api:2.2.7"
    implementation "javax.el:javax.el-api:3.0.0"
    implementation "com.jcraft:jsch:0.1.54"
    implementation "org.eclipse.jgit:org.eclipse.jgit:6.6.1.202309021850-r"
    implementation "org.apache.logging.log4j:log4j-core:$log4j_version"
    implementation "org.apache.logging.log4j:log4j-api:$log4j_version"
    implementation("org.slf4j:slf4j-api") {
        version {
            strictly("2.0.7")
        }
    }
    api ("org.eclipse.lsp4j:org.eclipse.lsp4j") {
        version {
            strictly '0.19.0'
        }
    }
    implementation group: 'com.vladsch.flexmark', name: 'flexmark', version: '0.64.0'
    implementation ('org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1')
    implementation ('org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1')
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    implementation "org.atteo:evo-inflector:1.2.2"
    implementation ("org.apache.commons:commons-lang3") {
        version {
            strictly '3.11'
        }
    }
    api "com.konghq:unirest-java:$unirest_version"
    api "com.github.everit-org.json-schema:org.everit.json.schema:1.12.0"
    testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version"
    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version"
    testRuntimeOnly "org.junit.vintage:junit-vintage-engine:$junit_version"
    testImplementation "io.mockk:mockk:$mockk_version"
    testImplementation("com.auth0:java-jwt:3.3.0") {
        exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
    }
}

I’ve omitted some internal libraries but that is the general skeleton.

Thanks. For the complete image I’ll need gradle.properties to check the versions you have set.

Hi Jakub. I appreciate you taking a look. Here’s my gradle.properties

idea_version=2024.3
kotlin_version=1.9.20
kotlin.stdlib.default.dependency=false # I was testing this out to see if it would make any difference
allure_version=2.11.2
jacoco_version=0.8.7
junit_version=5.7.0
mockk_version=1.12.3
intellij_platform_version=2.0.0
jackson_version=2.17.1
unirest_version=3.14.1
spring_boot_version=2.7.7
snake_yaml_version=1.33
log4j_version=2.18.0
guava_version =32.1.3-jre
guice_version=7.0.0
useLanguageServer=false