Gradle 插件的 Google Cloud ArtifactRegistry

Lui*_*uis 12 gradle maven kotlin google-cloud-platform google-artifact-registry

我已成功发布到 Artifact Registry,并且我可以在“正常”使用中使用那里的工件:dependencies { implementation("mygroup:myartifact:myversion") }

我的问题是插件。我创建了一个插件。我可以成功地将其发布到 Artifact Registry 以及 Maven 本地。我可以从 Maven 本地使用它,但我无法让我的构建脚本从 Artifact Registry 获取它。

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

plugins {
    id("com.google.cloud.artifactregistry.gradle-plugin") version "2.1.1"
    id("com.glitchybyte.gradle.plugin.buildinfo") version "1.0.0"
    `java-library`
}
Run Code Online (Sandbox Code Playgroud)

我得到:

* What went wrong:
Plugin [id: 'com.glitchybyte.gradle.plugin.buildinfo', version: '1.0.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.glitchybyte.gradle.plugin.buildinfo:com.glitchybyte.gradle.plugin.buildinfo.gradle.plugin:1.0.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository
Run Code Online (Sandbox Code Playgroud)

因此,它不会在 ArtifactRegistry 中查找插件。我知道我错过了一些东西,但我不知道是什么。

...更新...

buildscript从 中删除了build.gradle.kts,而是将其添加到settings.gradle.kts

* What went wrong:
Plugin [id: 'com.glitchybyte.gradle.plugin.buildinfo', version: '1.0.0'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
- Plugin Repositories (could not resolve plugin artifact 'com.glitchybyte.gradle.plugin.buildinfo:com.glitchybyte.gradle.plugin.buildinfo.gradle.plugin:1.0.0')
  Searched in the following repositories:
    Gradle Central Plugin Repository
Run Code Online (Sandbox Code Playgroud)

我得到:

* What went wrong:
Error resolving plugin [id: 'com.glitchybyte.gradle.plugin.buildinfo', version: '1.0.0']
> Could not resolve all dependencies for configuration 'detachedConfiguration1'.
   > Not a supported repository protocol 'artifactregistry': valid protocols are [http, https, file, gcs, s3, sftp]
Run Code Online (Sandbox Code Playgroud)

NAI*_*AIT 0

您好,很抱歉回答晚了。我认为您缺少要添加到 settings.gradle.kts 中的这部分配置

buildscript {
    repositories {
        maven {
            url = uri("https://plugins.gradle.org/m2/")          }
    }
    dependencies {
        classpath("gradle.plugin.com.google.cloud.artifactregistry:artifactregistry-gradle-plugin:2.2.0")
    }
}
apply(plugin =  "com.google.cloud.artifactregistry.gradle-plugin")
Run Code Online (Sandbox Code Playgroud)

链接提供了更多详细信息。