Сбой публикации Maven реестра артефактов Google Cloud

#java #maven #gradle #google-cloud-platform

# #java #maven #gradle #google-cloud-platform

Вопрос:

Я знаю, что Maven artifacts для реестра артефактов GCP находится в альфа-версии, но, тем не менее, у меня есть эта проблема, и я надеюсь, что кто-нибудь сможет мне помочь.

Я создал репозиторий для Maven. У меня есть пользователь службы с правами доступа к нему (средство чтения реестра артефактов и средство записи реестра артефактов). Я загрузил файл учетных данных, и у меня есть GOOGLE_APPLICATION_CREDENTIALS, указывающий на него.

Я знаю, что файл учетных данных хорош, потому что, если я с ним свяжусь, он сообщит мне о пропущенных полях и т. Д.

Но когда я делаю простое ./gradlew clean , я получаю это:

 FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':plugin'.
> Failed to notify project evaluation listener.
   > 'org.gradle.api.credentials.Credentials org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository.getConfiguredCredentials()'
 

Кто-нибудь знает, что может быть не так?

РЕДАКТИРОВАТЬ: добавление build.gradle.kts для справки:

 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.jetbrains.kotlin.jvm") version "1.4.20"
    `java-gradle-plugin`
    `maven-publish`
    id("com.google.cloud.artifactregistry.gradle-plugin") version "2.1.0"
}

repositories {
    maven {
        url = uri("artifactregistry://us-west1-maven.pkg.dev/glitchy-maven/repo")
    }
    mavenCentral()
}

tasks.withType<KotlinCompile>().configureEach {
    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_15.toString()
    }
}

dependencies {
    // Align versions of all Kotlin components
    implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
    // Use the Kotlin JDK 8 standard library.
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    // Use the Kotlin test library.
    testImplementation("org.jetbrains.kotlin:kotlin-test")
    // Use the Kotlin JUnit integration.
    testImplementation("org.jetbrains.kotlin:kotlin-test-junit")
}

group = "com.glitchybyte.gradle.plugin"
version = "1.0.0"

gradlePlugin {
    plugins {
        create("buildinfoplugin") {
            id = "com.glitchybyte.gradle.plugin.buildinfoplugin"
            implementationClass = "com.glitchybyte.gradle.plugin.buildinfoplugin.BuildInfoPlugin"
        }
    }
}
 

Комментарии:

1. Можете ли вы поделиться своим файлом gradle?

2. Добавлен мой build.gradle.kts. Обратите внимание, что я еще не добавил publishing блок. Эта ошибка возникает при добавлении плагина и определении репозитория.

3. Как вы проходите проверку подлинности в среде выполнения? и можете ли вы попробовать обновить версию плагина до версии 2.1.1?

4. Я использую учетную запись службы, как описано в документации. Проблема, описанная в моей проблеме, теперь решена путем обновления до версии 2.1.1. Но теперь я не могу заставить проект использовать артефакт в репозитории. Для этого я создам новую проблему. Если вы опубликуете сообщение об обновлении, я сделаю это ответом на этот вопрос. Опять же, все это альфа-версия, теперь, когда документация обновлена, никто не будет использовать старый плагин, поэтому я сомневаюсь, что этот вопрос поможет кому-либо еще. Но никакого вреда в завершении круга.