#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. Но теперь я не могу заставить проект использовать артефакт в репозитории. Для этого я создам новую проблему. Если вы опубликуете сообщение об обновлении, я сделаю это ответом на этот вопрос. Опять же, все это альфа-версия, теперь, когда документация обновлена, никто не будет использовать старый плагин, поэтому я сомневаюсь, что этот вопрос поможет кому-либо еще. Но никакого вреда в завершении круга.