Mario Andhika
09/19/2024, 10:22 AMprivate class ArtifactRegistry(
projectName: Provider<String>,
regionName: Provider<String>,
repositoryName: Provider<String>,
imageName: Provider<String>,
) : DockerImageRegistry {
override val username: Provider<String> = provider { "" }
override val password: Provider<String> = provider { "" }
override val toImage: Provider<String> = provider {
val region = regionName.get()
val project = projectName.get()
val repository = repositoryName.get()
val image = imageName.get()
"$region-docker.pkg.dev/$project/$repository/$image"
}
}
to generate gradle task to publish to Google Artifact Registry. I put it in build.gradle.kts, but I’m getting this error:
Don't know how to generate outer expression for public constructor ArtifactRegistry(projectName: org.gradle.api.provider.Provider<kotlin.String>, regionName: org.gradle.api.provider.Provider<kotlin.String>, repositoryName: org.gradle.api.provider.Provider<kotlin.String>, imageName: org.gradle.api.provider.Provider<kotlin.String>) defined in Build_gradle.ArtifactRegistry[ClassConstructorDescriptorImpl@1bf5c9b1]
How do I fix this?Sam
09/19/2024, 10:32 AMArtifactRegistry
into an inner class so it can access the project's provider
function.Mario Andhika
09/19/2024, 10:37 AMSam
09/19/2024, 10:39 AMAleksei Tirman [JB]
09/19/2024, 12:15 PMArtifactRegistry
class?Mario Andhika
09/20/2024, 2:17 AMktor {
docker {
jreVersion.set(JavaVersion.VERSION_17)
localImageName.set("asia-southeast2-docker.pkg.dev/ivo-zeals-poc/zeals-ktor")
imageTag.set("$version")
portMappings.set(listOf(
DockerPortMapping(
80,
8080,
DockerPortMappingProtocol.TCP
)
))
externalRegistry.set(
ArtifactRegistry(
projectName = provider { "ivo-zeals-poc" },
regionName = provider { "asia-southeast2" },
repositoryName = provider { "zeals-ktor" },
imageName = provider { "$version" },
)
)
}
}
All in build.gradle.ktsAleksei Tirman [JB]
09/20/2024, 8:32 AMrunDocker
task. What Gradle task do you execute?Mario Andhika
09/20/2024, 12:17 PMbuild
taskMario Andhika
09/21/2024, 4:08 AM