Плагин предварительно скомпилированного скрипта Gradle: зависимость внешнего плагина Quarkus не найдена

Фон

В настоящее время я разрабатываю многопроект Gradle с несколькими микросервисами quarkus. Чтобы связать свои зависимости quarkus, я использую плагин прекомпиляции скрипта с kotlin-dsl. Учитывая конфигурацию ниже, выполнение quarkusBuild работает отлично.

Проблема

Выполнение quarkusDev задача для подпроекта микросервиса не выполняется с

Unable to find quarkus-gradle-plugin dependency in project ':microservice'

Вы хоть представляете, почему это происходит? Я потратил на это часы и до сих пор не понимаю, почему это не удается. https://github.com/quarkusio/quarkus/issues/12509 кажется связанным, но предлагаемое решение не сработало для меня. Любая помощь приветствуется!

Редактировать

Я понимаю, что может быть разница между gradle.plugin.io.quarkus:quarkus-gradle-plugin:2.2.3.Final а также io.quarkus:gradle-application-plugin:2.2.3.Final, но замена зависимостей мало помогает.

Конфигурация

Это минимальная версия моего проекта, позволяющая воспроизвести ошибку.

Этот минимальный пример также можно посмотреть здесь: https://github.com/lorenzjosten/gradle-plugin-quarkus

      rootProject
    - buildSrc
          - src/main/kotlin
                quarkus-conventions.gradle.kts
          build.gradle.kts
          settings.gradle.kts
          gradle.properties
    - microservice
          - src/...
          build.gradle.kts
    build.gradle.kts
    settings.gradle.kts
    gradle.properties

rootProject / buildSrc / SRC / основной / Котлин / quarkus-соглашенияs.gradle.kts

      plugins {
    java
    id("io.quarkus")
}

val quarkusUniverseBomVersion: String by project

dependencies {
    implementation(enforcedPlatform("io.quarkus:quarkus-universe-bom:$quarkusUniverseBomVersion"))
    implementation("io.quarkus:quarkus-kotlin")
    implementation("io.quarkus:quarkus-resteasy-reactive")
    implementation("io.quarkus:quarkus-resteasy-reactive-jackson")
    implementation("io.quarkus:quarkus-hibernate-reactive-panache")
    implementation("io.quarkus:quarkus-reactive-pg-client")
    implementation("io.quarkus:quarkus-smallrye-reactive-messaging-amqp")
    implementation("io.quarkus:quarkus-arc")
    testImplementation("io.quarkus:quarkus-junit5")
}

rootProject / buildSrc / build.gradle.kts

      val quarkusPluginVersion: String by project

plugins {
    `kotlin-dsl`
}

repositories {
    mavenCentral()
    maven("https://plugins.gradle.org/m2/")
    gradlePluginPortal()
}

dependencies {
    implementation("io.quarkus:gradle-application-plugin:${quarkusPluginVersion}")
}

rootProject / buildSrc / gradle.properties

      quarkusPluginVersion=2.3.0.Final

rootProject / микросервис / build.gradle.kts

      plugins {
    id("quarkus-conventions")
}

rootProject / settings.gradle.kts

      include("microservice")

rootProject / build.gradle.kts

      plugins {
    idea
}

repositories {
    mavenCentral()
    maven("https://plugins.gradle.org/m2/")
    gradlePluginPortal()
}

allprojects {
    apply(plugin = "idea")

    idea {
        module {
            isDownloadSources = true
            isDownloadJavadoc = true
        }
    }
}

rootProject / gradle.properties

      quarkusUniverseBomVersion=2.2.3.Final

2 ответа

Плагин Gradle, скорее всего, не может найти зависимость Java:

      // https://mvnrepository.com/artifact/io.quarkus/quarkus-universe-bom
implementation("io.quarkus:quarkus-universe-bom:2.2.3.Final")

Эта ошибка должна быть исправлена ​​в выпуске Quarkus версии 2.4.CR1.

См. Проблемы с Github

https://github.com/quarkusio/quarkus/issues/20595https://github.com/quarkusio/quarkus/issues/20531