package container import ( "fmt" "github.com/bazelbuild/bazel-gazelle/rule" ) const ( ContainerPushRuleName = "container_push" ThirdPartyContainerDepRuleName = "third_party_container_dep" rulesPackage = "hack/build/rules/container" garRegistry = "us-east1-docker.pkg.dev" edgeInfraRepoPrefix = "ret-edge-pltf-infra/thirdparty" pushTag = "dev" ) var kinds = map[string]rule.KindInfo{ ContainerPushRuleName: { MatchAny: false, MergeableAttrs: map[string]bool{ "name": true, "digest": true, "image_name": true, "image": true, "registry": true, "repository_file": true, "rules_docker": true, "tag": true, }, }, ThirdPartyContainerDepRuleName: { MatchAny: true, NonEmptyAttrs: map[string]bool{ "digest": true, "image_name": true, "registry": true, "repository": true, "tag": false, "destination_repo": false, }, ResolveAttrs: map[string]bool{ "digest": true, "image_name": true, "registry": true, "repository": true, "tag": false, "destination_repo": false, }, MergeableAttrs: map[string]bool{ "digest": true, "image_name": true, "registry": true, "repository": true, "tag": false, "destination_repo": false, }, }, "oci_repo": { MatchAny: true, NonEmptyAttrs: map[string]bool{ "name": true, "build_setting_default": true, }, }, } func (c *Container) Kinds() map[string]rule.KindInfo { return kinds } func (c *Container) ApparentLoads(_ func(string) string) []rule.LoadInfo { return []rule.LoadInfo{ { Name: fmt.Sprintf("//%s:index.bzl", rulesPackage), Symbols: []string{ ContainerPushRuleName, }, }, } }