diff --git a/.fasterci/config.yaml b/.fasterci/config.yaml
index b927f0b5..3b5cd949 100644
--- a/.fasterci/config.yaml
+++ b/.fasterci/config.yaml
@@ -15,6 +15,8 @@ workflows:
- //...
test_targets:
- //...
+ - name: prer integration test
+ run: ./gitops/prer/prer_test.sh
- name: Build & test e2e
working-directory: e2e
bazel:
diff --git a/BUILD.bazel b/BUILD.bazel
index 8f391fdc..4b654c30 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -10,12 +10,8 @@
# gazelle:build_tags darwin,linux
# gazelle:exclude examples e2e
-# gazelle:proto disable_global
# gazelle:go_naming_convention import_alias
-# gazelle:resolve go github.com/fasterci/rules_gitops/gitops/blaze_query //gitops/blaze_query:blaze_query
-# gazelle:resolve go github.com/fasterci/rules_gitops/gitops/analysis //gitops/analysis:analysis
-
load("@buildifier_prebuilt//:rules.bzl", "buildifier")
load("@gazelle//:def.bzl", "gazelle")
diff --git a/MODULE.bazel b/MODULE.bazel
index cdad157a..79935bec 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -29,7 +29,6 @@ use_repo(
"io_k8s_api",
"io_k8s_apimachinery",
"io_k8s_client_go",
- "org_golang_google_protobuf",
"org_golang_x_oauth2",
"org_golang_x_sync",
)
@@ -53,17 +52,4 @@ kubeconfig(
bazel_dep(name = "buildifier_prebuilt", version = "8.0.3", dev_dependency = True)
-bazel_dep(name = "rules_proto", version = "7.1.0")
-bazel_dep(name = "toolchains_protoc", version = "0.4.1")
-protoc = use_extension("@toolchains_protoc//protoc:extensions.bzl", "protoc")
-protoc.toolchain(
- # Creates a repository to satisfy well-known-types dependencies such as
- # deps=["@com_google_protobuf//:any_proto"]
- google_protobuf = "com_google_protobuf",
- # Pin to any version of protoc
- version = "v27.1",
-)
-use_repo(protoc, "com_google_protobuf", "toolchains_protoc_hub")
-
-register_toolchains("@toolchains_protoc_hub//:all")
diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock
index eddfce3f..90e2de08 100644
--- a/MODULE.bazel.lock
+++ b/MODULE.bazel.lock
@@ -69,8 +69,7 @@
"https://bcr.bazel.build/modules/protobuf/27.1/MODULE.bazel": "703a7b614728bb06647f965264967a8ef1c39e09e8f167b3ca0bb1fd80449c0d",
"https://bcr.bazel.build/modules/protobuf/29.0-rc2/MODULE.bazel": "6241d35983510143049943fc0d57937937122baf1b287862f9dc8590fc4c37df",
"https://bcr.bazel.build/modules/protobuf/29.0/MODULE.bazel": "319dc8bf4c679ff87e71b1ccfb5a6e90a6dbc4693501d471f48662ac46d04e4e",
- "https://bcr.bazel.build/modules/protobuf/29.1/MODULE.bazel": "557c3457560ff49e122ed76c0bc3397a64af9574691cb8201b4e46d4ab2ecb95",
- "https://bcr.bazel.build/modules/protobuf/29.1/source.json": "04cca85dce26b895ed037d98336d860367fe09919208f2ad383f0df1aff63199",
+ "https://bcr.bazel.build/modules/protobuf/29.0/source.json": "b857f93c796750eef95f0d61ee378f3420d00ee1dd38627b27193aa482f4f981",
"https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0",
"https://bcr.bazel.build/modules/protobuf/3.19.2/MODULE.bazel": "532ffe5f2186b69fdde039efe6df13ba726ff338c6bc82275ad433013fa10573",
"https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858",
@@ -138,8 +137,7 @@
"https://bcr.bazel.build/modules/rules_proto/6.0.0/MODULE.bazel": "b531d7f09f58dce456cd61b4579ce8c86b38544da75184eadaf0a7cb7966453f",
"https://bcr.bazel.build/modules/rules_proto/6.0.2/MODULE.bazel": "ce916b775a62b90b61888052a416ccdda405212b6aaeb39522f7dc53431a5e73",
"https://bcr.bazel.build/modules/rules_proto/7.0.2/MODULE.bazel": "bf81793bd6d2ad89a37a40693e56c61b0ee30f7a7fdbaf3eabbf5f39de47dea2",
- "https://bcr.bazel.build/modules/rules_proto/7.1.0/MODULE.bazel": "002d62d9108f75bb807cd56245d45648f38275cb3a99dcd45dfb864c5d74cb96",
- "https://bcr.bazel.build/modules/rules_proto/7.1.0/source.json": "39f89066c12c24097854e8f57ab8558929f9c8d474d34b2c00ac04630ad8940e",
+ "https://bcr.bazel.build/modules/rules_proto/7.0.2/source.json": "1e5e7260ae32ef4f2b52fd1d0de8d03b606a44c91b694d2f1afb1d3b28a48ce1",
"https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f",
"https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300",
"https://bcr.bazel.build/modules/rules_python/0.25.0/MODULE.bazel": "72f1506841c920a1afec76975b35312410eea3aa7b63267436bfb1dd91d2d382",
@@ -160,8 +158,6 @@
"https://bcr.bazel.build/modules/stardoc/0.7.0/MODULE.bazel": "05e3d6d30c099b6770e97da986c53bd31844d7f13d41412480ea265ac9e8079c",
"https://bcr.bazel.build/modules/stardoc/0.7.1/MODULE.bazel": "3548faea4ee5dda5580f9af150e79d0f6aea934fc60c1cc50f4efdd9420759e7",
"https://bcr.bazel.build/modules/stardoc/0.7.1/source.json": "b6500ffcd7b48cd72c29bb67bcac781e12701cc0d6d55d266a652583cfcdab01",
- "https://bcr.bazel.build/modules/toolchains_protoc/0.4.1/MODULE.bazel": "05d6c16474a7a96002dd5512c444aa6965ebcf95f3e0c47001aa18269fbecec9",
- "https://bcr.bazel.build/modules/toolchains_protoc/0.4.1/source.json": "474d926c8e845762faaa42e792fc66cd36794daee4c8af900f673fad0b403a8d",
"https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43",
"https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0",
"https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27",
diff --git a/README.md b/README.md
index 78652577..eabbf679 100644
--- a/README.md
+++ b/README.md
@@ -41,7 +41,7 @@ copy the MODULE.bazel snippet into your `MODULE.bazel` file.
### Prerequisites
-* **Git**: A minimum Git version of **2.19.0** is required for runtime operations due to the use of partial clones (`--filter=blob:none`) and other modern clone/fetch options (e.g. `--no-tags`). If you are running the test suite, Git **2.28.0** or later is required due to test dependencies (specifically `git init --initial-branch`).
+* **Git**: A minimum Git version of **2.19.0** is required for runtime operations due to the use of partial clones (`--filter=blob:none`) and other modern clone/fetch options (e.g. `--no-tags`).
@@ -434,6 +434,8 @@ The `--release_branch` specifies the value of the ***release_branch_prefix*** at
To handle potential race conditions (e.g., if a deployment branch is merged and deleted on the remote server while the tool is running), the `--push_retry_max` flag can be set (defaults to `2`). It will retry cloning/checking out the repository, manifest rendering, committing, and pushing up to the configured limit if the git push fails because of a mismatch (e.g. branch deleted or updated on remote).
+The `--git_timeout` flag can be used to configure a timeout for Git operations (defaults to `5m`). If any Git operation (like clone, checkout, fetch, commit, or push) exceeds this duration, the execution will fail immediately.
+
The `create_gitops_prs` tool will query all `gitops` targets which have set the ***deploy_branch*** attribute (see [k8s_deploy](#k8s_deploy)) and the ***release_branch_prefix*** attribute value that matches the `release_branch` parameter.
In case you need to specify a custom Bazel flag during the pull request process, you can add one `--bazel_flag` such as `--bazel_flag --config=ci` or multiple such as `--bazel_flag --config=ci --bazel_flag --color=no`.
diff --git a/WORKSPACE b/WORKSPACE
new file mode 100644
index 00000000..325f5e33
--- /dev/null
+++ b/WORKSPACE
@@ -0,0 +1 @@
+# Marker file for workspace root (required for older Bazelisk/tooling compatibility)
diff --git a/e2e/WORKSPACE b/e2e/WORKSPACE
new file mode 100644
index 00000000..325f5e33
--- /dev/null
+++ b/e2e/WORKSPACE
@@ -0,0 +1 @@
+# Marker file for workspace root (required for older Bazelisk/tooling compatibility)
diff --git a/gitops/analysis/BUILD.bazel b/gitops/analysis/BUILD.bazel
deleted file mode 100644
index 5fde6815..00000000
--- a/gitops/analysis/BUILD.bazel
+++ /dev/null
@@ -1,49 +0,0 @@
-load("@rules_go//go:def.bzl", "go_library")
-load("@rules_go//proto:def.bzl", "go_proto_library")
-load("@rules_proto//proto:defs.bzl", "proto_library")
-load("//starlark:proto.bzl", "write_go_proto_srcs")
-
-proto_library(
- name = "analysis_proto",
- srcs = ["analysis.proto"],
- visibility = ["//visibility:public"],
- deps = [
- "//gitops/blaze_query:blaze_query_proto",
- ],
-)
-
-go_proto_library(
- name = "analysis_go_proto",
- gc_goopts = ["-trimpath=$(BINDIR)=>."],
- importpath = "github.com/fasterci/rules_gitops/gitops/analysis",
- proto = ":analysis_proto",
- visibility = ["//visibility:public"],
- deps = [
- "//gitops/blaze_query:blaze_query_go_proto",
- ],
-)
-
-write_go_proto_srcs(
- name = "write_generated_protos",
- src = "analysis.pb.go",
- go_proto_library = ":analysis_go_proto",
- visibility = ["//visibility:public"],
-)
-
-go_library(
- name = "analysis",
- srcs = ["analysis.pb.go"],
- importpath = "github.com/fasterci/rules_gitops/gitops/analysis",
- visibility = ["//visibility:public"],
- deps = [
- "//gitops/blaze_query",
- "@org_golang_google_protobuf//reflect/protoreflect",
- "@org_golang_google_protobuf//runtime/protoimpl",
- ],
-)
-
-alias(
- name = "go_default_library",
- actual = ":analysis",
- visibility = ["//visibility:public"],
-)
diff --git a/gitops/analysis/analysis.pb.go b/gitops/analysis/analysis.pb.go
deleted file mode 100644
index 454e5e71..00000000
--- a/gitops/analysis/analysis.pb.go
+++ /dev/null
@@ -1,950 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.36.6
-// protoc v5.27.1
-// source: gitops/analysis/analysis.proto
-
-package analysis
-
-import (
- blaze_query "github.com/fasterci/rules_gitops/gitops/blaze_query"
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
- unsafe "unsafe"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-type ActionGraphContainer struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"`
- Actions []*Action `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"`
- Targets []*Target `protobuf:"bytes,3,rep,name=targets,proto3" json:"targets,omitempty"`
- DepSetOfFiles []*DepSetOfFiles `protobuf:"bytes,4,rep,name=dep_set_of_files,json=depSetOfFiles,proto3" json:"dep_set_of_files,omitempty"`
- Configuration []*Configuration `protobuf:"bytes,5,rep,name=configuration,proto3" json:"configuration,omitempty"`
- AspectDescriptors []*AspectDescriptor `protobuf:"bytes,6,rep,name=aspect_descriptors,json=aspectDescriptors,proto3" json:"aspect_descriptors,omitempty"`
- RuleClasses []*RuleClass `protobuf:"bytes,7,rep,name=rule_classes,json=ruleClasses,proto3" json:"rule_classes,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *ActionGraphContainer) Reset() {
- *x = ActionGraphContainer{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *ActionGraphContainer) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ActionGraphContainer) ProtoMessage() {}
-
-func (x *ActionGraphContainer) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[0]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ActionGraphContainer.ProtoReflect.Descriptor instead.
-func (*ActionGraphContainer) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *ActionGraphContainer) GetArtifacts() []*Artifact {
- if x != nil {
- return x.Artifacts
- }
- return nil
-}
-
-func (x *ActionGraphContainer) GetActions() []*Action {
- if x != nil {
- return x.Actions
- }
- return nil
-}
-
-func (x *ActionGraphContainer) GetTargets() []*Target {
- if x != nil {
- return x.Targets
- }
- return nil
-}
-
-func (x *ActionGraphContainer) GetDepSetOfFiles() []*DepSetOfFiles {
- if x != nil {
- return x.DepSetOfFiles
- }
- return nil
-}
-
-func (x *ActionGraphContainer) GetConfiguration() []*Configuration {
- if x != nil {
- return x.Configuration
- }
- return nil
-}
-
-func (x *ActionGraphContainer) GetAspectDescriptors() []*AspectDescriptor {
- if x != nil {
- return x.AspectDescriptors
- }
- return nil
-}
-
-func (x *ActionGraphContainer) GetRuleClasses() []*RuleClass {
- if x != nil {
- return x.RuleClasses
- }
- return nil
-}
-
-type Artifact struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- ExecPath string `protobuf:"bytes,2,opt,name=exec_path,json=execPath,proto3" json:"exec_path,omitempty"`
- IsTreeArtifact bool `protobuf:"varint,3,opt,name=is_tree_artifact,json=isTreeArtifact,proto3" json:"is_tree_artifact,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Artifact) Reset() {
- *x = Artifact{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Artifact) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Artifact) ProtoMessage() {}
-
-func (x *Artifact) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[1]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Artifact.ProtoReflect.Descriptor instead.
-func (*Artifact) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *Artifact) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *Artifact) GetExecPath() string {
- if x != nil {
- return x.ExecPath
- }
- return ""
-}
-
-func (x *Artifact) GetIsTreeArtifact() bool {
- if x != nil {
- return x.IsTreeArtifact
- }
- return false
-}
-
-type Action struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- TargetId string `protobuf:"bytes,1,opt,name=target_id,json=targetId,proto3" json:"target_id,omitempty"`
- AspectDescriptorIds []string `protobuf:"bytes,2,rep,name=aspect_descriptor_ids,json=aspectDescriptorIds,proto3" json:"aspect_descriptor_ids,omitempty"`
- ActionKey string `protobuf:"bytes,3,opt,name=action_key,json=actionKey,proto3" json:"action_key,omitempty"`
- Mnemonic string `protobuf:"bytes,4,opt,name=mnemonic,proto3" json:"mnemonic,omitempty"`
- ConfigurationId string `protobuf:"bytes,5,opt,name=configuration_id,json=configurationId,proto3" json:"configuration_id,omitempty"`
- Arguments []string `protobuf:"bytes,6,rep,name=arguments,proto3" json:"arguments,omitempty"`
- EnvironmentVariables []*KeyValuePair `protobuf:"bytes,7,rep,name=environment_variables,json=environmentVariables,proto3" json:"environment_variables,omitempty"`
- InputDepSetIds []string `protobuf:"bytes,8,rep,name=input_dep_set_ids,json=inputDepSetIds,proto3" json:"input_dep_set_ids,omitempty"`
- OutputIds []string `protobuf:"bytes,9,rep,name=output_ids,json=outputIds,proto3" json:"output_ids,omitempty"`
- DiscoversInputs bool `protobuf:"varint,10,opt,name=discovers_inputs,json=discoversInputs,proto3" json:"discovers_inputs,omitempty"`
- ExecutionInfo []*KeyValuePair `protobuf:"bytes,11,rep,name=execution_info,json=executionInfo,proto3" json:"execution_info,omitempty"`
- ParamFiles []*ParamFile `protobuf:"bytes,12,rep,name=param_files,json=paramFiles,proto3" json:"param_files,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Action) Reset() {
- *x = Action{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Action) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Action) ProtoMessage() {}
-
-func (x *Action) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[2]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Action.ProtoReflect.Descriptor instead.
-func (*Action) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *Action) GetTargetId() string {
- if x != nil {
- return x.TargetId
- }
- return ""
-}
-
-func (x *Action) GetAspectDescriptorIds() []string {
- if x != nil {
- return x.AspectDescriptorIds
- }
- return nil
-}
-
-func (x *Action) GetActionKey() string {
- if x != nil {
- return x.ActionKey
- }
- return ""
-}
-
-func (x *Action) GetMnemonic() string {
- if x != nil {
- return x.Mnemonic
- }
- return ""
-}
-
-func (x *Action) GetConfigurationId() string {
- if x != nil {
- return x.ConfigurationId
- }
- return ""
-}
-
-func (x *Action) GetArguments() []string {
- if x != nil {
- return x.Arguments
- }
- return nil
-}
-
-func (x *Action) GetEnvironmentVariables() []*KeyValuePair {
- if x != nil {
- return x.EnvironmentVariables
- }
- return nil
-}
-
-func (x *Action) GetInputDepSetIds() []string {
- if x != nil {
- return x.InputDepSetIds
- }
- return nil
-}
-
-func (x *Action) GetOutputIds() []string {
- if x != nil {
- return x.OutputIds
- }
- return nil
-}
-
-func (x *Action) GetDiscoversInputs() bool {
- if x != nil {
- return x.DiscoversInputs
- }
- return false
-}
-
-func (x *Action) GetExecutionInfo() []*KeyValuePair {
- if x != nil {
- return x.ExecutionInfo
- }
- return nil
-}
-
-func (x *Action) GetParamFiles() []*ParamFile {
- if x != nil {
- return x.ParamFiles
- }
- return nil
-}
-
-type Target struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
- RuleClassId string `protobuf:"bytes,3,opt,name=rule_class_id,json=ruleClassId,proto3" json:"rule_class_id,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Target) Reset() {
- *x = Target{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Target) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Target) ProtoMessage() {}
-
-func (x *Target) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[3]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Target.ProtoReflect.Descriptor instead.
-func (*Target) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *Target) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *Target) GetLabel() string {
- if x != nil {
- return x.Label
- }
- return ""
-}
-
-func (x *Target) GetRuleClassId() string {
- if x != nil {
- return x.RuleClassId
- }
- return ""
-}
-
-type RuleClass struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *RuleClass) Reset() {
- *x = RuleClass{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *RuleClass) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuleClass) ProtoMessage() {}
-
-func (x *RuleClass) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[4]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use RuleClass.ProtoReflect.Descriptor instead.
-func (*RuleClass) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *RuleClass) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *RuleClass) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-type AspectDescriptor struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
- Parameters []*KeyValuePair `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *AspectDescriptor) Reset() {
- *x = AspectDescriptor{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *AspectDescriptor) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AspectDescriptor) ProtoMessage() {}
-
-func (x *AspectDescriptor) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[5]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use AspectDescriptor.ProtoReflect.Descriptor instead.
-func (*AspectDescriptor) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *AspectDescriptor) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *AspectDescriptor) GetName() string {
- if x != nil {
- return x.Name
- }
- return ""
-}
-
-func (x *AspectDescriptor) GetParameters() []*KeyValuePair {
- if x != nil {
- return x.Parameters
- }
- return nil
-}
-
-type DepSetOfFiles struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- TransitiveDepSetIds []string `protobuf:"bytes,2,rep,name=transitive_dep_set_ids,json=transitiveDepSetIds,proto3" json:"transitive_dep_set_ids,omitempty"`
- DirectArtifactIds []string `protobuf:"bytes,3,rep,name=direct_artifact_ids,json=directArtifactIds,proto3" json:"direct_artifact_ids,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *DepSetOfFiles) Reset() {
- *x = DepSetOfFiles{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *DepSetOfFiles) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*DepSetOfFiles) ProtoMessage() {}
-
-func (x *DepSetOfFiles) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[6]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use DepSetOfFiles.ProtoReflect.Descriptor instead.
-func (*DepSetOfFiles) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *DepSetOfFiles) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *DepSetOfFiles) GetTransitiveDepSetIds() []string {
- if x != nil {
- return x.TransitiveDepSetIds
- }
- return nil
-}
-
-func (x *DepSetOfFiles) GetDirectArtifactIds() []string {
- if x != nil {
- return x.DirectArtifactIds
- }
- return nil
-}
-
-type Configuration struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Mnemonic string `protobuf:"bytes,2,opt,name=mnemonic,proto3" json:"mnemonic,omitempty"`
- PlatformName string `protobuf:"bytes,3,opt,name=platform_name,json=platformName,proto3" json:"platform_name,omitempty"`
- Checksum string `protobuf:"bytes,4,opt,name=checksum,proto3" json:"checksum,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Configuration) Reset() {
- *x = Configuration{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Configuration) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Configuration) ProtoMessage() {}
-
-func (x *Configuration) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[7]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Configuration.ProtoReflect.Descriptor instead.
-func (*Configuration) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *Configuration) GetId() string {
- if x != nil {
- return x.Id
- }
- return ""
-}
-
-func (x *Configuration) GetMnemonic() string {
- if x != nil {
- return x.Mnemonic
- }
- return ""
-}
-
-func (x *Configuration) GetPlatformName() string {
- if x != nil {
- return x.PlatformName
- }
- return ""
-}
-
-func (x *Configuration) GetChecksum() string {
- if x != nil {
- return x.Checksum
- }
- return ""
-}
-
-type KeyValuePair struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
- Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *KeyValuePair) Reset() {
- *x = KeyValuePair{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *KeyValuePair) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*KeyValuePair) ProtoMessage() {}
-
-func (x *KeyValuePair) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[8]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use KeyValuePair.ProtoReflect.Descriptor instead.
-func (*KeyValuePair) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *KeyValuePair) GetKey() string {
- if x != nil {
- return x.Key
- }
- return ""
-}
-
-func (x *KeyValuePair) GetValue() string {
- if x != nil {
- return x.Value
- }
- return ""
-}
-
-type ConfiguredTarget struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Target *blaze_query.Target `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
- Configuration *Configuration `protobuf:"bytes,2,opt,name=configuration,proto3" json:"configuration,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *ConfiguredTarget) Reset() {
- *x = ConfiguredTarget{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[9]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *ConfiguredTarget) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ConfiguredTarget) ProtoMessage() {}
-
-func (x *ConfiguredTarget) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[9]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ConfiguredTarget.ProtoReflect.Descriptor instead.
-func (*ConfiguredTarget) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{9}
-}
-
-func (x *ConfiguredTarget) GetTarget() *blaze_query.Target {
- if x != nil {
- return x.Target
- }
- return nil
-}
-
-func (x *ConfiguredTarget) GetConfiguration() *Configuration {
- if x != nil {
- return x.Configuration
- }
- return nil
-}
-
-type CqueryResult struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Results []*ConfiguredTarget `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *CqueryResult) Reset() {
- *x = CqueryResult{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[10]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *CqueryResult) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*CqueryResult) ProtoMessage() {}
-
-func (x *CqueryResult) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[10]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use CqueryResult.ProtoReflect.Descriptor instead.
-func (*CqueryResult) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{10}
-}
-
-func (x *CqueryResult) GetResults() []*ConfiguredTarget {
- if x != nil {
- return x.Results
- }
- return nil
-}
-
-type ParamFile struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- ExecPath string `protobuf:"bytes,1,opt,name=exec_path,json=execPath,proto3" json:"exec_path,omitempty"`
- Arguments []string `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *ParamFile) Reset() {
- *x = ParamFile{}
- mi := &file_gitops_analysis_analysis_proto_msgTypes[11]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *ParamFile) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ParamFile) ProtoMessage() {}
-
-func (x *ParamFile) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_analysis_analysis_proto_msgTypes[11]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use ParamFile.ProtoReflect.Descriptor instead.
-func (*ParamFile) Descriptor() ([]byte, []int) {
- return file_gitops_analysis_analysis_proto_rawDescGZIP(), []int{11}
-}
-
-func (x *ParamFile) GetExecPath() string {
- if x != nil {
- return x.ExecPath
- }
- return ""
-}
-
-func (x *ParamFile) GetArguments() []string {
- if x != nil {
- return x.Arguments
- }
- return nil
-}
-
-var File_gitops_analysis_analysis_proto protoreflect.FileDescriptor
-
-const file_gitops_analysis_analysis_proto_rawDesc = "" +
- "\n" +
- "\x1egitops/analysis/analysis.proto\x12\banalysis\x1a\x1egitops/blaze_query/build.proto\"\xa4\x03\n" +
- "\x14ActionGraphContainer\x120\n" +
- "\tartifacts\x18\x01 \x03(\v2\x12.analysis.ArtifactR\tartifacts\x12*\n" +
- "\aactions\x18\x02 \x03(\v2\x10.analysis.ActionR\aactions\x12*\n" +
- "\atargets\x18\x03 \x03(\v2\x10.analysis.TargetR\atargets\x12@\n" +
- "\x10dep_set_of_files\x18\x04 \x03(\v2\x17.analysis.DepSetOfFilesR\rdepSetOfFiles\x12=\n" +
- "\rconfiguration\x18\x05 \x03(\v2\x17.analysis.ConfigurationR\rconfiguration\x12I\n" +
- "\x12aspect_descriptors\x18\x06 \x03(\v2\x1a.analysis.AspectDescriptorR\x11aspectDescriptors\x126\n" +
- "\frule_classes\x18\a \x03(\v2\x13.analysis.RuleClassR\vruleClasses\"a\n" +
- "\bArtifact\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
- "\texec_path\x18\x02 \x01(\tR\bexecPath\x12(\n" +
- "\x10is_tree_artifact\x18\x03 \x01(\bR\x0eisTreeArtifact\"\x94\x04\n" +
- "\x06Action\x12\x1b\n" +
- "\ttarget_id\x18\x01 \x01(\tR\btargetId\x122\n" +
- "\x15aspect_descriptor_ids\x18\x02 \x03(\tR\x13aspectDescriptorIds\x12\x1d\n" +
- "\n" +
- "action_key\x18\x03 \x01(\tR\tactionKey\x12\x1a\n" +
- "\bmnemonic\x18\x04 \x01(\tR\bmnemonic\x12)\n" +
- "\x10configuration_id\x18\x05 \x01(\tR\x0fconfigurationId\x12\x1c\n" +
- "\targuments\x18\x06 \x03(\tR\targuments\x12K\n" +
- "\x15environment_variables\x18\a \x03(\v2\x16.analysis.KeyValuePairR\x14environmentVariables\x12)\n" +
- "\x11input_dep_set_ids\x18\b \x03(\tR\x0einputDepSetIds\x12\x1d\n" +
- "\n" +
- "output_ids\x18\t \x03(\tR\toutputIds\x12)\n" +
- "\x10discovers_inputs\x18\n" +
- " \x01(\bR\x0fdiscoversInputs\x12=\n" +
- "\x0eexecution_info\x18\v \x03(\v2\x16.analysis.KeyValuePairR\rexecutionInfo\x124\n" +
- "\vparam_files\x18\f \x03(\v2\x13.analysis.ParamFileR\n" +
- "paramFiles\"R\n" +
- "\x06Target\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" +
- "\x05label\x18\x02 \x01(\tR\x05label\x12\"\n" +
- "\rrule_class_id\x18\x03 \x01(\tR\vruleClassId\"/\n" +
- "\tRuleClass\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
- "\x04name\x18\x02 \x01(\tR\x04name\"n\n" +
- "\x10AspectDescriptor\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
- "\x04name\x18\x02 \x01(\tR\x04name\x126\n" +
- "\n" +
- "parameters\x18\x03 \x03(\v2\x16.analysis.KeyValuePairR\n" +
- "parameters\"\x84\x01\n" +
- "\rDepSetOfFiles\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x123\n" +
- "\x16transitive_dep_set_ids\x18\x02 \x03(\tR\x13transitiveDepSetIds\x12.\n" +
- "\x13direct_artifact_ids\x18\x03 \x03(\tR\x11directArtifactIds\"|\n" +
- "\rConfiguration\x12\x0e\n" +
- "\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
- "\bmnemonic\x18\x02 \x01(\tR\bmnemonic\x12#\n" +
- "\rplatform_name\x18\x03 \x01(\tR\fplatformName\x12\x1a\n" +
- "\bchecksum\x18\x04 \x01(\tR\bchecksum\"6\n" +
- "\fKeyValuePair\x12\x10\n" +
- "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x01(\tR\x05value\"~\n" +
- "\x10ConfiguredTarget\x12+\n" +
- "\x06target\x18\x01 \x01(\v2\x13.blaze_query.TargetR\x06target\x12=\n" +
- "\rconfiguration\x18\x02 \x01(\v2\x17.analysis.ConfigurationR\rconfiguration\"D\n" +
- "\fCqueryResult\x124\n" +
- "\aresults\x18\x01 \x03(\v2\x1a.analysis.ConfiguredTargetR\aresults\"F\n" +
- "\tParamFile\x12\x1b\n" +
- "\texec_path\x18\x01 \x01(\tR\bexecPath\x12\x1c\n" +
- "\targuments\x18\x02 \x03(\tR\targumentsB8\n" +
- "&com.google.devtools.build.lib.analysisB\x0eAnalysisProtosb\x06proto3"
-
-var (
- file_gitops_analysis_analysis_proto_rawDescOnce sync.Once
- file_gitops_analysis_analysis_proto_rawDescData []byte
-)
-
-func file_gitops_analysis_analysis_proto_rawDescGZIP() []byte {
- file_gitops_analysis_analysis_proto_rawDescOnce.Do(func() {
- file_gitops_analysis_analysis_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_gitops_analysis_analysis_proto_rawDesc), len(file_gitops_analysis_analysis_proto_rawDesc)))
- })
- return file_gitops_analysis_analysis_proto_rawDescData
-}
-
-var file_gitops_analysis_analysis_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
-var file_gitops_analysis_analysis_proto_goTypes = []any{
- (*ActionGraphContainer)(nil), // 0: analysis.ActionGraphContainer
- (*Artifact)(nil), // 1: analysis.Artifact
- (*Action)(nil), // 2: analysis.Action
- (*Target)(nil), // 3: analysis.Target
- (*RuleClass)(nil), // 4: analysis.RuleClass
- (*AspectDescriptor)(nil), // 5: analysis.AspectDescriptor
- (*DepSetOfFiles)(nil), // 6: analysis.DepSetOfFiles
- (*Configuration)(nil), // 7: analysis.Configuration
- (*KeyValuePair)(nil), // 8: analysis.KeyValuePair
- (*ConfiguredTarget)(nil), // 9: analysis.ConfiguredTarget
- (*CqueryResult)(nil), // 10: analysis.CqueryResult
- (*ParamFile)(nil), // 11: analysis.ParamFile
- (*blaze_query.Target)(nil), // 12: blaze_query.Target
-}
-var file_gitops_analysis_analysis_proto_depIdxs = []int32{
- 1, // 0: analysis.ActionGraphContainer.artifacts:type_name -> analysis.Artifact
- 2, // 1: analysis.ActionGraphContainer.actions:type_name -> analysis.Action
- 3, // 2: analysis.ActionGraphContainer.targets:type_name -> analysis.Target
- 6, // 3: analysis.ActionGraphContainer.dep_set_of_files:type_name -> analysis.DepSetOfFiles
- 7, // 4: analysis.ActionGraphContainer.configuration:type_name -> analysis.Configuration
- 5, // 5: analysis.ActionGraphContainer.aspect_descriptors:type_name -> analysis.AspectDescriptor
- 4, // 6: analysis.ActionGraphContainer.rule_classes:type_name -> analysis.RuleClass
- 8, // 7: analysis.Action.environment_variables:type_name -> analysis.KeyValuePair
- 8, // 8: analysis.Action.execution_info:type_name -> analysis.KeyValuePair
- 11, // 9: analysis.Action.param_files:type_name -> analysis.ParamFile
- 8, // 10: analysis.AspectDescriptor.parameters:type_name -> analysis.KeyValuePair
- 12, // 11: analysis.ConfiguredTarget.target:type_name -> blaze_query.Target
- 7, // 12: analysis.ConfiguredTarget.configuration:type_name -> analysis.Configuration
- 9, // 13: analysis.CqueryResult.results:type_name -> analysis.ConfiguredTarget
- 14, // [14:14] is the sub-list for method output_type
- 14, // [14:14] is the sub-list for method input_type
- 14, // [14:14] is the sub-list for extension type_name
- 14, // [14:14] is the sub-list for extension extendee
- 0, // [0:14] is the sub-list for field type_name
-}
-
-func init() { file_gitops_analysis_analysis_proto_init() }
-func file_gitops_analysis_analysis_proto_init() {
- if File_gitops_analysis_analysis_proto != nil {
- return
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: unsafe.Slice(unsafe.StringData(file_gitops_analysis_analysis_proto_rawDesc), len(file_gitops_analysis_analysis_proto_rawDesc)),
- NumEnums: 0,
- NumMessages: 12,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_gitops_analysis_analysis_proto_goTypes,
- DependencyIndexes: file_gitops_analysis_analysis_proto_depIdxs,
- MessageInfos: file_gitops_analysis_analysis_proto_msgTypes,
- }.Build()
- File_gitops_analysis_analysis_proto = out.File
- file_gitops_analysis_analysis_proto_goTypes = nil
- file_gitops_analysis_analysis_proto_depIdxs = nil
-}
diff --git a/gitops/analysis/analysis.proto b/gitops/analysis/analysis.proto
deleted file mode 100644
index 0ebcf6ed..00000000
--- a/gitops/analysis/analysis.proto
+++ /dev/null
@@ -1,200 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package analysis;
-
-option java_package = "com.google.devtools.build.lib.analysis";
-option java_outer_classname = "AnalysisProtos";
-
-import "gitops/blaze_query/build.proto";
-
-// Container for the action graph properties.
-message ActionGraphContainer {
- repeated Artifact artifacts = 1;
- repeated Action actions = 2;
- repeated Target targets = 3;
- repeated DepSetOfFiles dep_set_of_files = 4;
- repeated Configuration configuration = 5;
- repeated AspectDescriptor aspect_descriptors = 6;
- repeated RuleClass rule_classes = 7;
-}
-
-// Represents a single artifact, whether it's a source file or a derived output
-// file.
-message Artifact {
- // Identifier for this artifact; this is an opaque string, only valid for this
- // particular dump of the analysis.
- string id = 1;
-
- // The relative path of the file within the execution root.
- string exec_path = 2;
-
- // True iff the artifact is a tree artifact, i.e. the above exec_path refers
- // a directory.
- bool is_tree_artifact = 3;
-}
-
-// Represents a single action, which is a function from Artifact(s) to
-// Artifact(s).
-message Action {
- // The target that was responsible for the creation of the action.
- string target_id = 1;
-
- // The aspects that were responsible for the creation of the action (if any).
- // In the case of aspect-on-aspect, AspectDescriptors are listed in
- // topological order of the dependency graph.
- // e.g. [A, B] would imply that aspect A is applied on top of aspect B.
- repeated string aspect_descriptor_ids = 2;
-
- // Encodes all significant behavior that might affect the output. The key
- // must change if the work performed by the execution of this action changes.
- // Note that the key doesn't include checksums of the input files.
- string action_key = 3;
-
- // The mnemonic for this kind of action.
- string mnemonic = 4;
-
- // The configuration under which this action is executed.
- string configuration_id = 5;
-
- // The command line arguments of the action. This will be only set if
- // explicitly requested.
- repeated string arguments = 6;
-
- // The list of environment variables to be set before executing the command.
- repeated KeyValuePair environment_variables = 7;
-
- // The set of input dep sets that the action depends upon. If the action does
- // input discovery, the contents of this set might change during execution.
- repeated string input_dep_set_ids = 8;
-
- // The list of Artifact IDs that represent the output files that this action
- // will generate.
- repeated string output_ids = 9;
-
- // True iff the action does input discovery during execution.
- bool discovers_inputs = 10;
-
- // Execution info for the action. Remote execution services may use this
- // information to modify the execution environment, but actions will
- // generally not be aware of it.
- repeated KeyValuePair execution_info = 11;
-
- // The list of param files. This will be only set if explicitly requested.
- repeated ParamFile param_files = 12;
-}
-
-// Represents a single target (without configuration information) that is
-// associated with an action.
-message Target {
- // Identifier for this target; this is an opaque string, only valid for this
- // particular dump of the analysis.
- string id = 1;
-
- // Label of the target, e.g. //foo:bar.
- string label = 2;
-
- // Class of the rule.
- string rule_class_id = 3;
-}
-
-message RuleClass {
- // Identifier for this rule class; this is an opaque string, only valid for
- // this particular dump of the analysis.
- string id = 1;
-
- // Name of the rule class, e.g. cc_library.
- string name = 2;
-}
-
-// Represents an invocation specific descriptor of an aspect.
-message AspectDescriptor {
- // Identifier for this aspect descriptor; this is an opaque string, only valid
- // for the particular dump of the analysis.
- string id = 1;
-
- // The name of the corresponding aspect. For native aspects, it's the Java
- // class name, for Skylark aspects it's the bzl file followed by a % sign
- // followed by the name of the aspect.
- string name = 2;
-
- // The list of parameters bound to a particular invocation of that aspect on
- // a target. Note that aspects can be executed multiple times on the same
- // target in different order.
- repeated KeyValuePair parameters = 3;
-}
-
-message DepSetOfFiles {
- // Identifier for this named set of files; this is an opaque string, only
- // valid for the particular dump of the analysis.
- string id = 1;
-
- // Other transitively included named set of files.
- repeated string transitive_dep_set_ids = 2;
-
- // The list of input artifact IDs that are immediately contained in this set.
- repeated string direct_artifact_ids = 3;
-}
-
-message Configuration {
- // Identifier for this configuration; this is an opaque string, only valid for
- // the particular dump of the analysis.
- string id = 1;
-
- // The mnemonic representing the build configuration.
- string mnemonic = 2;
-
- // The platform string.
- string platform_name = 3;
-
- // The checksum representation of the configuration options;
- string checksum = 4;
-}
-
-message KeyValuePair {
- // The variable name.
- string key = 1;
-
- // The variable value.
- string value = 2;
-}
-
-message ConfiguredTarget {
- // The target. We use blaze_query.Target defined in build.proto instead of
- // the Target defined in this file because blaze_query.Target is much heavier
- // and will output proto results similar to what users are familiar with from
- // regular blaze query.
- blaze_query.Target target = 1;
-
- // The configuration
- Configuration configuration = 2;
-}
-
-// Container for cquery results
-message CqueryResult {
- // All the configuredtargets returns by cquery
- repeated ConfiguredTarget results = 1;
-}
-
-// Content of a param file.
-message ParamFile {
- // The exec path of the param file artifact.
- string exec_path = 1;
-
- // The arguments in the param file.
- // Each argument corresponds to a line in the param file.
- repeated string arguments = 2;
-}
diff --git a/gitops/bazel/BUILD.bazel b/gitops/bazel/BUILD.bazel
deleted file mode 100644
index 0130d137..00000000
--- a/gitops/bazel/BUILD.bazel
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2020 Adobe. All rights reserved.
-# This file is licensed to you under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License. You may obtain a copy
-# of the License at http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software distributed under
-# the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
-# OF ANY KIND, either express or implied. See the License for the specific language
-# governing permissions and limitations under the License.
-
-load("@rules_go//go:def.bzl", "go_library", "go_test")
-
-licenses(["notice"]) # Apache 2.0
-
-go_library(
- name = "bazel",
- srcs = ["bazeltargets.go"],
- importpath = "github.com/fasterci/rules_gitops/gitops/bazel",
- visibility = ["//visibility:public"],
-)
-
-go_test(
- name = "bazel_test",
- srcs = ["bazeltargets_test.go"],
- embed = [":bazel"],
-)
-
-alias(
- name = "go_default_library",
- actual = ":bazel",
- visibility = ["//visibility:public"],
-)
diff --git a/gitops/bazel/bazeltargets.go b/gitops/bazel/bazeltargets.go
deleted file mode 100644
index dd3e98d3..00000000
--- a/gitops/bazel/bazeltargets.go
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-Copyright 2020 Adobe. All rights reserved.
-This file is licensed to you under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License. You may obtain a copy
-of the License at http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed under
-the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
-OF ANY KIND, either express or implied. See the License for the specific language
-governing permissions and limitations under the License.
-*/
-package bazel
-
-import (
- "os"
- "strings"
-)
-
-// TargetToExecutable converts bazel target name to respective executable name in bazel-bin
-func TargetToExecutable(target string) string {
- if !strings.HasPrefix(target, "//") {
- return target
- }
- t := target[2:]
- var pkg, name string
- idx := strings.Index(t, ":")
- if idx >= 0 {
- pkg = t[:idx]
- name = t[idx+1:]
- } else {
- pkg = t
- lastSlash := strings.LastIndex(pkg, "/")
- if lastSlash >= 0 {
- name = pkg[lastSlash+1:]
- } else {
- name = pkg
- }
- }
-
- // Candidates in order of preference
- candidates := []string{
- "bazel-bin/" + pkg + "/" + name + "_/" + name,
- "bazel-bin/" + pkg + "/" + name + "_/" + name + ".exe",
- "bazel-bin/" + pkg + "/" + name,
- "bazel-bin/" + pkg + "/" + name + ".exe",
- }
-
- for _, c := range candidates {
- if _, err := os.Stat(c); err == nil {
- return c
- }
- }
-
- // Default fallback (standard layout)
- return "bazel-bin/" + pkg + "/" + name
-}
-
diff --git a/gitops/bazel/bazeltargets_test.go b/gitops/bazel/bazeltargets_test.go
deleted file mode 100644
index 9b8bc67f..00000000
--- a/gitops/bazel/bazeltargets_test.go
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2020 Adobe. All rights reserved.
-This file is licensed to you under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License. You may obtain a copy
-of the License at http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed under
-the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
-OF ANY KIND, either express or implied. See the License for the specific language
-governing permissions and limitations under the License.
-*/
-package bazel
-
-import (
- "os"
- "testing"
-)
-
-func TestTargetToExecutableHappypath(t *testing.T) {
- s := TargetToExecutable("//rtb/bidder:rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops")
- if s != "bazel-bin/rtb/bidder/rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops" {
- t.Error("unexpected result", s)
- }
-}
-
-func TestTargetToExecutableGoLayout(t *testing.T) {
- // Create a dummy file to simulate the go binary in bazel-bin
- dir := "bazel-bin/rtb/bidder/rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops_"
- err := os.MkdirAll(dir, 0755)
- if err != nil {
- t.Fatalf("failed to create temp dir: %v", err)
- }
- defer os.RemoveAll("bazel-bin")
-
- filePath := dir + "/rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops"
- err = os.WriteFile(filePath, []byte("dummy"), 0644)
- if err != nil {
- t.Fatalf("failed to create temp file: %v", err)
- }
-
- s := TargetToExecutable("//rtb/bidder:rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops")
- expected := "bazel-bin/rtb/bidder/rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops_/rtb-uat-k8s01-iad-1b-bidder-first-uat.gitops"
- if s != expected {
- t.Errorf("expected %s, got %s", expected, s)
- }
-}
-
diff --git a/gitops/blaze_query/BUILD.bazel b/gitops/blaze_query/BUILD.bazel
deleted file mode 100644
index 78904c8f..00000000
--- a/gitops/blaze_query/BUILD.bazel
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2020 Adobe. All rights reserved.
-# This file is licensed to you under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License. You may obtain a copy
-# of the License at http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software distributed under
-# the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
-# OF ANY KIND, either express or implied. See the License for the specific language
-# governing permissions and limitations under the License.
-
-load("@rules_go//go:def.bzl", "go_library")
-load("@rules_go//proto:def.bzl", "go_proto_library")
-load("@rules_proto//proto:defs.bzl", "proto_library")
-load("//starlark:proto.bzl", "write_go_proto_srcs")
-
-proto_library(
- name = "blaze_query_proto",
- srcs = ["build.proto"],
- visibility = ["//visibility:public"],
-)
-
-go_proto_library(
- name = "blaze_query_go_proto",
- gc_goopts = ["-trimpath=$(BINDIR)=>."],
- importpath = "github.com/fasterci/rules_gitops/gitops/blaze_query",
- proto = ":blaze_query_proto",
- visibility = ["//visibility:public"],
-)
-
-write_go_proto_srcs(
- name = "write_generated_protos",
- src = "build_query.pb.go",
- go_proto_library = ":blaze_query_go_proto",
- visibility = ["//visibility:public"],
-)
-
-go_library(
- name = "blaze_query",
- srcs = ["build_query.pb.go"],
- importpath = "github.com/fasterci/rules_gitops/gitops/blaze_query",
- visibility = ["//visibility:public"],
- deps = [
- "@org_golang_google_protobuf//reflect/protoreflect",
- "@org_golang_google_protobuf//runtime/protoimpl",
- ],
-)
-
-alias(
- name = "go_default_library",
- actual = ":blaze_query",
- visibility = ["//visibility:public"],
-)
diff --git a/gitops/blaze_query/build.proto b/gitops/blaze_query/build.proto
deleted file mode 100644
index 0f2fdb02..00000000
--- a/gitops/blaze_query/build.proto
+++ /dev/null
@@ -1,517 +0,0 @@
-// Copyright 2014 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// This file contains the protocol buffer representation of a build
-// file or 'blaze query --output=proto' call.
-
-syntax = "proto2";
-
-package blaze_query;
-
-// option cc_api_version = 2;
-// option java_api_version = 1;
-
-option java_package = "com.google.devtools.build.lib.query2.proto.proto2api";
-
-message License {
- repeated string license_type = 1;
- repeated string exception = 2;
-}
-
-message StringDictEntry {
- required string key = 1;
- required string value = 2;
-}
-
-message LabelDictUnaryEntry {
- required string key = 1;
- required string value = 2;
-}
-
-message LabelListDictEntry {
- required string key = 1;
- repeated string value = 2;
-}
-
-message LabelKeyedStringDictEntry {
- required string key = 1;
- required string value = 2;
-}
-
-message StringListDictEntry {
- required string key = 1;
- repeated string value = 2;
-}
-
-// Represents an entry attribute of a Fileset rule in a build file.
-message FilesetEntry {
- // Indicates what to do when a source file is actually a symlink.
- enum SymlinkBehavior {
- COPY = 1;
- DEREFERENCE = 2;
- }
-
- // The label pointing to the source target where files are copied from.
- required string source = 1;
-
- // The relative path within the fileset rule where files will be mapped.
- required string destination_directory = 2;
-
- // Whether the files= attribute was specified. This is necessary because
- // no files= attribute and files=[] mean different things.
- optional bool files_present = 7;
-
- // A list of file labels to include from the source directory.
- repeated string file = 3;
-
- // If this is a fileset entry representing files within the rule
- // package, this lists relative paths to files that should be excluded from
- // the set. This cannot contain values if 'file' also has values.
- repeated string exclude = 4;
-
- // This field is optional because there will be some time when the new
- // PB is used by tools depending on blaze query, but the new blaze version
- // is not yet released.
- // TODO(bazel-team): Make this field required once a version of Blaze is
- // released that outputs this field.
- optional SymlinkBehavior symlink_behavior = 5 [ default=COPY ];
-
- // The prefix to strip from the path of the files in this FilesetEntry. Note
- // that no value and the empty string as the value mean different things here.
- optional string strip_prefix = 6;
-}
-
-// A rule attribute. Each attribute must have a type and one of the various
-// value fields populated - for the most part.
-//
-// Attributes of BOOLEAN and TRISTATE type may set all of the int, bool, and
-// string values for backwards compatibility with clients that expect them to
-// be set.
-//
-// Attributes of INTEGER, STRING, LABEL, LICENSE, BOOLEAN, and TRISTATE type
-// may set *none* of the values. This can happen if the Attribute message is
-// prepared for a client that doesn't support SELECTOR_LIST, but the rule has
-// a selector list value for the attribute. (Selector lists for attributes of
-// other types--the collection types--are handled differently when prepared
-// for such a client. The possible collection values are gathered together
-// and flattened.)
-//
-// By checking the type, the appropriate value can be extracted - see the
-// comments on each type for the associated value. The order of lists comes
-// from the blaze parsing. If an attribute is of a list type, the associated
-// list should never be empty.
-message Attribute {
- reserved 12, 16;
-
- // Indicates the type of attribute.
- enum Discriminator {
- INTEGER = 1; // int_value
- STRING = 2; // string_value
- LABEL = 3; // string_value
- OUTPUT = 4; // string_value
- STRING_LIST = 5; // string_list_value
- LABEL_LIST = 6; // string_list_value
- OUTPUT_LIST = 7; // string_list_value
- DISTRIBUTION_SET = 8; // string_list_value - order is unimportant
- LICENSE = 9; // license
- STRING_DICT = 10; // string_dict_value
- FILESET_ENTRY_LIST = 11; // fileset_list_value
- LABEL_LIST_DICT = 12; // label_list_dict_value
- STRING_LIST_DICT = 13; // string_list_dict_value
- BOOLEAN = 14; // int, bool and string value
- TRISTATE = 15; // tristate, int and string value
- INTEGER_LIST = 16; // int_list_value
- UNKNOWN = 18; // unknown type, use only for build extensions
- LABEL_DICT_UNARY = 19; // label_dict_unary_value
- SELECTOR_LIST = 20; // selector_list
- LABEL_KEYED_STRING_DICT = 21; // label_keyed_string_dict
-
- DEPRECATED_STRING_DICT_UNARY = 17;
-
- }
-
- // Values for the TriState field type.
- enum Tristate {
- NO = 0;
- YES = 1;
- AUTO = 2;
- }
-
- message SelectorEntry {
- reserved 12;
-
- // The key of the selector entry. At this time, this is the label of a
- // config_setting rule, or the pseudo-label "//conditions:default".
- optional string label = 1;
-
- // True if the entry's value is the default value for the type as a
- // result of the condition value being specified as None (ie:
- // {"//condition": None}).
- optional bool is_default_value = 16;
-
- // Exactly one of the following fields (except for glob_criteria) must be
- // populated - note that the BOOLEAN and TRISTATE caveat in Attribute's
- // comment does not apply here. The type field in the SelectorList
- // containing this entry indicates which of these fields is populated,
- // in accordance with the comments on Discriminator enum values above.
- // (To be explicit: BOOLEAN populates the boolean_value field and TRISTATE
- // populates the tristate_value field.)
- optional int32 int_value = 2;
- optional string string_value = 3;
- optional bool boolean_value = 4;
- optional Tristate tristate_value = 5;
- repeated string string_list_value = 6;
- optional License license = 7;
- repeated StringDictEntry string_dict_value = 8;
- repeated FilesetEntry fileset_list_value = 9;
- repeated LabelListDictEntry label_list_dict_value = 10;
- repeated StringListDictEntry string_list_dict_value = 11;
- repeated int32 int_list_value = 13;
- repeated LabelDictUnaryEntry label_dict_unary_value = 15;
- repeated LabelKeyedStringDictEntry label_keyed_string_dict_value = 17;
-
- repeated bytes DEPRECATED_string_dict_unary_value = 14;
- }
-
- message Selector {
- // The list of (label, value) pairs in the map that defines the selector.
- // At this time, this cannot be empty, i.e. a selector has at least one
- // entry.
- repeated SelectorEntry entries = 1;
-
- // Whether or not this has any default values.
- optional bool has_default_value = 2;
-
- // The error message when no condition matches.
- optional string no_match_error = 3;
- }
-
- message SelectorList {
- // The type that this selector list evaluates to, and the type that each
- // selector in the list evaluates to. At this time, this cannot be
- // SELECTOR_LIST, i.e. selector lists do not nest.
- optional Discriminator type = 1;
-
- // The list of selector elements in this selector list. At this time, this
- // cannot be empty, i.e. a selector list is never empty.
- repeated Selector elements = 2;
- }
-
- // The name of the attribute
- required string name = 1;
-
- // Whether the attribute was explicitly specified
- optional bool explicitly_specified = 13;
-
- // If this attribute has a string value or a string list value, then this
- // may be set to indicate that the value may be treated as a label that
- // isn't a dependency of this attribute's rule.
- optional bool nodep = 20;
-
- // The type of attribute. This message is used for all of the different
- // attribute types so the discriminator helps for figuring out what is
- // stored in the message.
- required Discriminator type = 2;
-
- // If this attribute has an integer value this will be populated.
- // Boolean and TriState also use this field as [0,1] and [-1,0,1]
- // for [false, true] and [auto, no, yes] respectively.
- optional int32 int_value = 3;
-
- // If the attribute has a string value this will be populated. Label and
- // path attributes use this field as the value even though the type may
- // be LABEL or something else other than STRING.
- optional string string_value = 5;
-
- // If the attribute has a boolean value this will be populated.
- optional bool boolean_value = 14;
-
- // If the attribute is a Tristate value, this will be populated.
- optional Tristate tristate_value = 15;
-
- // The value of the attribute has a list of string values (label and path
- // note from STRING applies here as well).
- repeated string string_list_value = 6;
-
- // If this is a license attribute, the license information is stored here.
- optional License license = 7;
-
- // If this is a string dict, each entry will be stored here.
- repeated StringDictEntry string_dict_value = 8;
-
- // If the attribute is part of a Fileset, the fileset entries are stored in
- // this field.
- repeated FilesetEntry fileset_list_value = 9;
-
- // If this is a label list dict, each entry will be stored here.
- repeated LabelListDictEntry label_list_dict_value = 10;
-
- // If this is a string list dict, each entry will be stored here.
- repeated StringListDictEntry string_list_dict_value = 11;
-
- // The value of the attribute has a list of int32 values
- repeated int32 int_list_value = 17;
-
- // If this is a label dict unary, each entry will be stored here.
- repeated LabelDictUnaryEntry label_dict_unary_value = 19;
-
- // If this is a label-keyed string dict, each entry will be stored here.
- repeated LabelKeyedStringDictEntry label_keyed_string_dict_value = 22;
-
- // If this attribute's value is an expression containing one or more select
- // expressions, then its type is SELECTOR_LIST and a SelectorList will be
- // stored here.
- optional SelectorList selector_list = 21;
-
- repeated bytes DEPRECATED_string_dict_unary_value = 18;
-}
-
-// A rule instance (e.g., cc_library foo, java_binary bar).
-message Rule {
- reserved 8, 11;
-
- // The name of the rule (formatted as an absolute label, e.g. //foo/bar:baz).
- required string name = 1;
-
- // The rule class (e.g., java_library)
- required string rule_class = 2;
-
- // The BUILD file and line number of the location (formatted as
- // :) in the rule's package's BUILD file where the
- // rule instance was instantiated. The line number will be that of a rule
- // invocation or macro call (that in turn invoked a rule). See
- // https://docs.bazel.build/versions/master/skylark/macros.html#macro-creation
- optional string location = 3;
-
- // All of the attributes that describe the rule.
- repeated Attribute attribute = 4;
-
- // All of the inputs to the rule (formatted as absolute labels). These are
- // predecessors in the dependency graph.
- repeated string rule_input = 5;
-
- // All of the outputs of the rule (formatted as absolute labels). These are
- // successors in the dependency graph.
- repeated string rule_output = 6;
-
- // The set of all "features" inherited from the rule's package declaration.
- repeated string default_setting = 7;
-
- // The rule's class's public by default value.
- optional bool public_by_default = 9;
-
- // If this rule is of a skylark-defined RuleClass.
- optional bool is_skylark = 10;
-
- // Hash encapsulating the behavior of this Skylark rule. Any change to this
- // rule's definition that could change its behavior will be reflected here.
- optional string skylark_environment_hash_code = 12;
-}
-
-// Summary of all transitive dependencies of 'rule,' where each dependent
-// rule is included only once in the 'dependency' field. Gives complete
-// information to analyze the single build target labeled rule.name,
-// including optional location of target in BUILD file.
-message RuleSummary {
- required Rule rule = 1;
- repeated Rule dependency = 2;
- optional string location = 3;
-}
-
-// A package group. Aside from the name, it contains the list of packages
-// present in the group (as specified in the BUILD file).
-message PackageGroup {
- reserved 4;
-
- // The name of the package group
- required string name = 1;
-
- // The list of packages as specified in the BUILD file. Currently this is
- // only a list of packages, but some time in the future, there might be
- // some type of wildcard mechanism.
- repeated string contained_package = 2;
-
- // The list of sub package groups included in this one.
- repeated string included_package_group = 3;
-}
-
-// An environment group.
-message EnvironmentGroup {
- // The name of the environment group.
- required string name = 1;
-
- // The environments that belong to this group (as labels).
- repeated string environment = 2;
-
- // The member environments that rules implicitly support if not otherwise
- // specified.
- repeated string default = 3;
-}
-
-// A file that is an input into the build system.
-// Next-Id: 10
-message SourceFile {
- reserved 7;
-
- // The name of the source file (a label).
- required string name = 1;
-
- // The location of the source file. This is a path with line numbers, not
- // a label in the build system.
- optional string location = 2;
-
- // Labels of .bzl (Skylark) files that are transitively loaded in this BUILD
- // file. This is present only when the SourceFile represents a BUILD file that
- // loaded .bzl files.
- // TODO(bazel-team): Rename this field.
- repeated string subinclude = 3;
-
- // Labels of package groups that are mentioned in the visibility declaration
- // for this source file.
- repeated string package_group = 4;
-
- // Labels mentioned in the visibility declaration (including :__pkg__ and
- // //visibility: ones)
- repeated string visibility_label = 5;
-
- // The package-level features enabled for this package. Only present if the
- // SourceFile represents a BUILD file.
- repeated string feature = 6;
-
- // License attribute for the file.
- optional License license = 8;
-
- // True if the package contains an error. Only present if the SourceFile
- // represents a BUILD file.
- optional bool package_contains_errors = 9;
-}
-
-// A file that is the output of a build rule.
-message GeneratedFile {
- // The name of the generated file (a label).
- required string name = 1;
-
- // The label of the target that generates the file.
- required string generating_rule = 2;
-
- // The path of the output file (not a label).
- optional string location = 3;
-}
-
-// A target from a blaze query execution. Similar to the Attribute message,
-// the Discriminator is used to determine which field contains information.
-// For any given type, only one of these can be populated in a single Target.
-message Target {
- enum Discriminator {
- RULE = 1;
- SOURCE_FILE = 2;
- GENERATED_FILE = 3;
- PACKAGE_GROUP = 4;
- ENVIRONMENT_GROUP = 5;
- }
-
- // The type of target contained in the message.
- required Discriminator type = 1;
-
- // If this target represents a rule, the rule is stored here.
- optional Rule rule = 2;
-
- // A file that is not generated by the build system (version controlled
- // or created by the test harness).
- optional SourceFile source_file = 3;
-
- // A generated file that is the output of a rule.
- optional GeneratedFile generated_file = 4;
-
- // A package group.
- optional PackageGroup package_group = 5;
-
- // An environment group.
- optional EnvironmentGroup environment_group = 6;
-}
-
-// Container for all of the blaze query results.
-message QueryResult {
- // All of the targets returned by the blaze query.
- repeated Target target = 1;
-}
-
-////////////////////////////////////////////////////////////////////////////
-// Messages dealing with querying the BUILD language itself. For now, this is
-// quite simplistic: Blaze can only tell the names of the rule classes, their
-// attributes with their type.
-
-// Information about allowed rule classes for a specific attribute of a rule.
-message AllowedRuleClassInfo {
- enum AllowedRuleClasses {
- ANY = 1; // Any rule is allowed to be in this attribute
- SPECIFIED = 2; // Only the explicitly listed rules are allowed
- }
-
- required AllowedRuleClasses policy = 1;
-
- // Rule class names of rules allowed in this attribute, e.g "cc_library",
- // "py_binary". Only present if the allowed_rule_classes field is set to
- // SPECIFIED.
- repeated string allowed_rule_class = 2;
-}
-
-// This message represents a single attribute of a single rule.
-// See docs.bazel.build/versions/master/skylark/lib/attr.html.
-message AttributeDefinition {
- required string name = 1; // e.g. "name", "srcs"
- required Attribute.Discriminator type = 2;
- optional bool mandatory = 3;
- optional AllowedRuleClassInfo allowed_rule_classes = 4; // type=label*
- optional string documentation = 5;
- optional bool allow_empty = 6; // type=*_list|*_dict
- optional bool allow_single_file = 7; // type=label
- optional AttributeValue default = 9; // simple (not computed/late-bound) values only
- optional bool executable = 10; // type=label
- optional bool configurable = 11;
- optional bool nodep = 12; // label-valued edge does not establish a dependency
- optional bool cfg_is_host = 13; // edge entails a transition to "host" configuration
-}
-
-// An AttributeValue represents the value of an attribute.
-// A single field, determined by the attribute type, is populated.
-//
-// It is used only for AttributeDefinition.default. Attribute and
-// SelectorEntry do their own thing for unfortunate historical reasons.
-message AttributeValue {
- optional int32 int = 1; // type=int|tristate
- optional string string = 2; // type=string|label|output
- optional bool bool = 3; // type=bool
- repeated AttributeValue list = 4; // type=*_list|distrib
- repeated DictEntry dict = 5; // type=*_dict
-
- message DictEntry {
- required string key = 1;
- required AttributeValue value = 2;
- }
-}
-
-message RuleDefinition {
- required string name = 1;
- // Only contains documented attributes
- repeated AttributeDefinition attribute = 2;
- optional string documentation = 3;
- // Only for build extensions: label to file that defines the extension
- optional string label = 4;
-}
-
-message BuildLanguage {
- // Only contains documented rule definitions
- repeated RuleDefinition rule = 1;
-}
diff --git a/gitops/blaze_query/build_query.pb.go b/gitops/blaze_query/build_query.pb.go
deleted file mode 100644
index 7478c53f..00000000
--- a/gitops/blaze_query/build_query.pb.go
+++ /dev/null
@@ -1,2586 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// protoc-gen-go v1.36.6
-// protoc v5.27.1
-// source: gitops/blaze_query/build.proto
-
-package blaze_query
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- reflect "reflect"
- sync "sync"
- unsafe "unsafe"
-)
-
-const (
- // Verify that this generated code is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
- // Verify that runtime/protoimpl is sufficiently up-to-date.
- _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-type FilesetEntry_SymlinkBehavior int32
-
-const (
- FilesetEntry_COPY FilesetEntry_SymlinkBehavior = 1
- FilesetEntry_DEREFERENCE FilesetEntry_SymlinkBehavior = 2
-)
-
-// Enum value maps for FilesetEntry_SymlinkBehavior.
-var (
- FilesetEntry_SymlinkBehavior_name = map[int32]string{
- 1: "COPY",
- 2: "DEREFERENCE",
- }
- FilesetEntry_SymlinkBehavior_value = map[string]int32{
- "COPY": 1,
- "DEREFERENCE": 2,
- }
-)
-
-func (x FilesetEntry_SymlinkBehavior) Enum() *FilesetEntry_SymlinkBehavior {
- p := new(FilesetEntry_SymlinkBehavior)
- *p = x
- return p
-}
-
-func (x FilesetEntry_SymlinkBehavior) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (FilesetEntry_SymlinkBehavior) Descriptor() protoreflect.EnumDescriptor {
- return file_gitops_blaze_query_build_proto_enumTypes[0].Descriptor()
-}
-
-func (FilesetEntry_SymlinkBehavior) Type() protoreflect.EnumType {
- return &file_gitops_blaze_query_build_proto_enumTypes[0]
-}
-
-func (x FilesetEntry_SymlinkBehavior) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *FilesetEntry_SymlinkBehavior) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = FilesetEntry_SymlinkBehavior(num)
- return nil
-}
-
-// Deprecated: Use FilesetEntry_SymlinkBehavior.Descriptor instead.
-func (FilesetEntry_SymlinkBehavior) EnumDescriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{6, 0}
-}
-
-type Attribute_Discriminator int32
-
-const (
- Attribute_INTEGER Attribute_Discriminator = 1
- Attribute_STRING Attribute_Discriminator = 2
- Attribute_LABEL Attribute_Discriminator = 3
- Attribute_OUTPUT Attribute_Discriminator = 4
- Attribute_STRING_LIST Attribute_Discriminator = 5
- Attribute_LABEL_LIST Attribute_Discriminator = 6
- Attribute_OUTPUT_LIST Attribute_Discriminator = 7
- Attribute_DISTRIBUTION_SET Attribute_Discriminator = 8
- Attribute_LICENSE Attribute_Discriminator = 9
- Attribute_STRING_DICT Attribute_Discriminator = 10
- Attribute_FILESET_ENTRY_LIST Attribute_Discriminator = 11
- Attribute_LABEL_LIST_DICT Attribute_Discriminator = 12
- Attribute_STRING_LIST_DICT Attribute_Discriminator = 13
- Attribute_BOOLEAN Attribute_Discriminator = 14
- Attribute_TRISTATE Attribute_Discriminator = 15
- Attribute_INTEGER_LIST Attribute_Discriminator = 16
- Attribute_UNKNOWN Attribute_Discriminator = 18
- Attribute_LABEL_DICT_UNARY Attribute_Discriminator = 19
- Attribute_SELECTOR_LIST Attribute_Discriminator = 20
- Attribute_LABEL_KEYED_STRING_DICT Attribute_Discriminator = 21
- Attribute_DEPRECATED_STRING_DICT_UNARY Attribute_Discriminator = 17
-)
-
-// Enum value maps for Attribute_Discriminator.
-var (
- Attribute_Discriminator_name = map[int32]string{
- 1: "INTEGER",
- 2: "STRING",
- 3: "LABEL",
- 4: "OUTPUT",
- 5: "STRING_LIST",
- 6: "LABEL_LIST",
- 7: "OUTPUT_LIST",
- 8: "DISTRIBUTION_SET",
- 9: "LICENSE",
- 10: "STRING_DICT",
- 11: "FILESET_ENTRY_LIST",
- 12: "LABEL_LIST_DICT",
- 13: "STRING_LIST_DICT",
- 14: "BOOLEAN",
- 15: "TRISTATE",
- 16: "INTEGER_LIST",
- 18: "UNKNOWN",
- 19: "LABEL_DICT_UNARY",
- 20: "SELECTOR_LIST",
- 21: "LABEL_KEYED_STRING_DICT",
- 17: "DEPRECATED_STRING_DICT_UNARY",
- }
- Attribute_Discriminator_value = map[string]int32{
- "INTEGER": 1,
- "STRING": 2,
- "LABEL": 3,
- "OUTPUT": 4,
- "STRING_LIST": 5,
- "LABEL_LIST": 6,
- "OUTPUT_LIST": 7,
- "DISTRIBUTION_SET": 8,
- "LICENSE": 9,
- "STRING_DICT": 10,
- "FILESET_ENTRY_LIST": 11,
- "LABEL_LIST_DICT": 12,
- "STRING_LIST_DICT": 13,
- "BOOLEAN": 14,
- "TRISTATE": 15,
- "INTEGER_LIST": 16,
- "UNKNOWN": 18,
- "LABEL_DICT_UNARY": 19,
- "SELECTOR_LIST": 20,
- "LABEL_KEYED_STRING_DICT": 21,
- "DEPRECATED_STRING_DICT_UNARY": 17,
- }
-)
-
-func (x Attribute_Discriminator) Enum() *Attribute_Discriminator {
- p := new(Attribute_Discriminator)
- *p = x
- return p
-}
-
-func (x Attribute_Discriminator) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (Attribute_Discriminator) Descriptor() protoreflect.EnumDescriptor {
- return file_gitops_blaze_query_build_proto_enumTypes[1].Descriptor()
-}
-
-func (Attribute_Discriminator) Type() protoreflect.EnumType {
- return &file_gitops_blaze_query_build_proto_enumTypes[1]
-}
-
-func (x Attribute_Discriminator) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *Attribute_Discriminator) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = Attribute_Discriminator(num)
- return nil
-}
-
-// Deprecated: Use Attribute_Discriminator.Descriptor instead.
-func (Attribute_Discriminator) EnumDescriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{7, 0}
-}
-
-type Attribute_Tristate int32
-
-const (
- Attribute_NO Attribute_Tristate = 0
- Attribute_YES Attribute_Tristate = 1
- Attribute_AUTO Attribute_Tristate = 2
-)
-
-// Enum value maps for Attribute_Tristate.
-var (
- Attribute_Tristate_name = map[int32]string{
- 0: "NO",
- 1: "YES",
- 2: "AUTO",
- }
- Attribute_Tristate_value = map[string]int32{
- "NO": 0,
- "YES": 1,
- "AUTO": 2,
- }
-)
-
-func (x Attribute_Tristate) Enum() *Attribute_Tristate {
- p := new(Attribute_Tristate)
- *p = x
- return p
-}
-
-func (x Attribute_Tristate) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (Attribute_Tristate) Descriptor() protoreflect.EnumDescriptor {
- return file_gitops_blaze_query_build_proto_enumTypes[2].Descriptor()
-}
-
-func (Attribute_Tristate) Type() protoreflect.EnumType {
- return &file_gitops_blaze_query_build_proto_enumTypes[2]
-}
-
-func (x Attribute_Tristate) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *Attribute_Tristate) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = Attribute_Tristate(num)
- return nil
-}
-
-// Deprecated: Use Attribute_Tristate.Descriptor instead.
-func (Attribute_Tristate) EnumDescriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{7, 1}
-}
-
-type Target_Discriminator int32
-
-const (
- Target_RULE Target_Discriminator = 1
- Target_SOURCE_FILE Target_Discriminator = 2
- Target_GENERATED_FILE Target_Discriminator = 3
- Target_PACKAGE_GROUP Target_Discriminator = 4
- Target_ENVIRONMENT_GROUP Target_Discriminator = 5
-)
-
-// Enum value maps for Target_Discriminator.
-var (
- Target_Discriminator_name = map[int32]string{
- 1: "RULE",
- 2: "SOURCE_FILE",
- 3: "GENERATED_FILE",
- 4: "PACKAGE_GROUP",
- 5: "ENVIRONMENT_GROUP",
- }
- Target_Discriminator_value = map[string]int32{
- "RULE": 1,
- "SOURCE_FILE": 2,
- "GENERATED_FILE": 3,
- "PACKAGE_GROUP": 4,
- "ENVIRONMENT_GROUP": 5,
- }
-)
-
-func (x Target_Discriminator) Enum() *Target_Discriminator {
- p := new(Target_Discriminator)
- *p = x
- return p
-}
-
-func (x Target_Discriminator) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (Target_Discriminator) Descriptor() protoreflect.EnumDescriptor {
- return file_gitops_blaze_query_build_proto_enumTypes[3].Descriptor()
-}
-
-func (Target_Discriminator) Type() protoreflect.EnumType {
- return &file_gitops_blaze_query_build_proto_enumTypes[3]
-}
-
-func (x Target_Discriminator) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *Target_Discriminator) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = Target_Discriminator(num)
- return nil
-}
-
-// Deprecated: Use Target_Discriminator.Descriptor instead.
-func (Target_Discriminator) EnumDescriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{14, 0}
-}
-
-type AllowedRuleClassInfo_AllowedRuleClasses int32
-
-const (
- AllowedRuleClassInfo_ANY AllowedRuleClassInfo_AllowedRuleClasses = 1
- AllowedRuleClassInfo_SPECIFIED AllowedRuleClassInfo_AllowedRuleClasses = 2
-)
-
-// Enum value maps for AllowedRuleClassInfo_AllowedRuleClasses.
-var (
- AllowedRuleClassInfo_AllowedRuleClasses_name = map[int32]string{
- 1: "ANY",
- 2: "SPECIFIED",
- }
- AllowedRuleClassInfo_AllowedRuleClasses_value = map[string]int32{
- "ANY": 1,
- "SPECIFIED": 2,
- }
-)
-
-func (x AllowedRuleClassInfo_AllowedRuleClasses) Enum() *AllowedRuleClassInfo_AllowedRuleClasses {
- p := new(AllowedRuleClassInfo_AllowedRuleClasses)
- *p = x
- return p
-}
-
-func (x AllowedRuleClassInfo_AllowedRuleClasses) String() string {
- return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
-}
-
-func (AllowedRuleClassInfo_AllowedRuleClasses) Descriptor() protoreflect.EnumDescriptor {
- return file_gitops_blaze_query_build_proto_enumTypes[4].Descriptor()
-}
-
-func (AllowedRuleClassInfo_AllowedRuleClasses) Type() protoreflect.EnumType {
- return &file_gitops_blaze_query_build_proto_enumTypes[4]
-}
-
-func (x AllowedRuleClassInfo_AllowedRuleClasses) Number() protoreflect.EnumNumber {
- return protoreflect.EnumNumber(x)
-}
-
-// Deprecated: Do not use.
-func (x *AllowedRuleClassInfo_AllowedRuleClasses) UnmarshalJSON(b []byte) error {
- num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
- if err != nil {
- return err
- }
- *x = AllowedRuleClassInfo_AllowedRuleClasses(num)
- return nil
-}
-
-// Deprecated: Use AllowedRuleClassInfo_AllowedRuleClasses.Descriptor instead.
-func (AllowedRuleClassInfo_AllowedRuleClasses) EnumDescriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{16, 0}
-}
-
-type License struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- LicenseType []string `protobuf:"bytes,1,rep,name=license_type,json=licenseType" json:"license_type,omitempty"`
- Exception []string `protobuf:"bytes,2,rep,name=exception" json:"exception,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *License) Reset() {
- *x = License{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[0]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *License) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*License) ProtoMessage() {}
-
-func (x *License) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[0]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use License.ProtoReflect.Descriptor instead.
-func (*License) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *License) GetLicenseType() []string {
- if x != nil {
- return x.LicenseType
- }
- return nil
-}
-
-func (x *License) GetException() []string {
- if x != nil {
- return x.Exception
- }
- return nil
-}
-
-type StringDictEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
- Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *StringDictEntry) Reset() {
- *x = StringDictEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[1]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *StringDictEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*StringDictEntry) ProtoMessage() {}
-
-func (x *StringDictEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[1]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use StringDictEntry.ProtoReflect.Descriptor instead.
-func (*StringDictEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{1}
-}
-
-func (x *StringDictEntry) GetKey() string {
- if x != nil && x.Key != nil {
- return *x.Key
- }
- return ""
-}
-
-func (x *StringDictEntry) GetValue() string {
- if x != nil && x.Value != nil {
- return *x.Value
- }
- return ""
-}
-
-type LabelDictUnaryEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
- Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *LabelDictUnaryEntry) Reset() {
- *x = LabelDictUnaryEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[2]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *LabelDictUnaryEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*LabelDictUnaryEntry) ProtoMessage() {}
-
-func (x *LabelDictUnaryEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[2]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use LabelDictUnaryEntry.ProtoReflect.Descriptor instead.
-func (*LabelDictUnaryEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{2}
-}
-
-func (x *LabelDictUnaryEntry) GetKey() string {
- if x != nil && x.Key != nil {
- return *x.Key
- }
- return ""
-}
-
-func (x *LabelDictUnaryEntry) GetValue() string {
- if x != nil && x.Value != nil {
- return *x.Value
- }
- return ""
-}
-
-type LabelListDictEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
- Value []string `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *LabelListDictEntry) Reset() {
- *x = LabelListDictEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[3]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *LabelListDictEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*LabelListDictEntry) ProtoMessage() {}
-
-func (x *LabelListDictEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[3]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use LabelListDictEntry.ProtoReflect.Descriptor instead.
-func (*LabelListDictEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *LabelListDictEntry) GetKey() string {
- if x != nil && x.Key != nil {
- return *x.Key
- }
- return ""
-}
-
-func (x *LabelListDictEntry) GetValue() []string {
- if x != nil {
- return x.Value
- }
- return nil
-}
-
-type LabelKeyedStringDictEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
- Value *string `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *LabelKeyedStringDictEntry) Reset() {
- *x = LabelKeyedStringDictEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[4]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *LabelKeyedStringDictEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*LabelKeyedStringDictEntry) ProtoMessage() {}
-
-func (x *LabelKeyedStringDictEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[4]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use LabelKeyedStringDictEntry.ProtoReflect.Descriptor instead.
-func (*LabelKeyedStringDictEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *LabelKeyedStringDictEntry) GetKey() string {
- if x != nil && x.Key != nil {
- return *x.Key
- }
- return ""
-}
-
-func (x *LabelKeyedStringDictEntry) GetValue() string {
- if x != nil && x.Value != nil {
- return *x.Value
- }
- return ""
-}
-
-type StringListDictEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
- Value []string `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *StringListDictEntry) Reset() {
- *x = StringListDictEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[5]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *StringListDictEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*StringListDictEntry) ProtoMessage() {}
-
-func (x *StringListDictEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[5]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use StringListDictEntry.ProtoReflect.Descriptor instead.
-func (*StringListDictEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *StringListDictEntry) GetKey() string {
- if x != nil && x.Key != nil {
- return *x.Key
- }
- return ""
-}
-
-func (x *StringListDictEntry) GetValue() []string {
- if x != nil {
- return x.Value
- }
- return nil
-}
-
-type FilesetEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Source *string `protobuf:"bytes,1,req,name=source" json:"source,omitempty"`
- DestinationDirectory *string `protobuf:"bytes,2,req,name=destination_directory,json=destinationDirectory" json:"destination_directory,omitempty"`
- FilesPresent *bool `protobuf:"varint,7,opt,name=files_present,json=filesPresent" json:"files_present,omitempty"`
- File []string `protobuf:"bytes,3,rep,name=file" json:"file,omitempty"`
- Exclude []string `protobuf:"bytes,4,rep,name=exclude" json:"exclude,omitempty"`
- SymlinkBehavior *FilesetEntry_SymlinkBehavior `protobuf:"varint,5,opt,name=symlink_behavior,json=symlinkBehavior,enum=blaze_query.FilesetEntry_SymlinkBehavior,def=1" json:"symlink_behavior,omitempty"`
- StripPrefix *string `protobuf:"bytes,6,opt,name=strip_prefix,json=stripPrefix" json:"strip_prefix,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-// Default values for FilesetEntry fields.
-const (
- Default_FilesetEntry_SymlinkBehavior = FilesetEntry_COPY
-)
-
-func (x *FilesetEntry) Reset() {
- *x = FilesetEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[6]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *FilesetEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*FilesetEntry) ProtoMessage() {}
-
-func (x *FilesetEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[6]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use FilesetEntry.ProtoReflect.Descriptor instead.
-func (*FilesetEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *FilesetEntry) GetSource() string {
- if x != nil && x.Source != nil {
- return *x.Source
- }
- return ""
-}
-
-func (x *FilesetEntry) GetDestinationDirectory() string {
- if x != nil && x.DestinationDirectory != nil {
- return *x.DestinationDirectory
- }
- return ""
-}
-
-func (x *FilesetEntry) GetFilesPresent() bool {
- if x != nil && x.FilesPresent != nil {
- return *x.FilesPresent
- }
- return false
-}
-
-func (x *FilesetEntry) GetFile() []string {
- if x != nil {
- return x.File
- }
- return nil
-}
-
-func (x *FilesetEntry) GetExclude() []string {
- if x != nil {
- return x.Exclude
- }
- return nil
-}
-
-func (x *FilesetEntry) GetSymlinkBehavior() FilesetEntry_SymlinkBehavior {
- if x != nil && x.SymlinkBehavior != nil {
- return *x.SymlinkBehavior
- }
- return Default_FilesetEntry_SymlinkBehavior
-}
-
-func (x *FilesetEntry) GetStripPrefix() string {
- if x != nil && x.StripPrefix != nil {
- return *x.StripPrefix
- }
- return ""
-}
-
-type Attribute struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- ExplicitlySpecified *bool `protobuf:"varint,13,opt,name=explicitly_specified,json=explicitlySpecified" json:"explicitly_specified,omitempty"`
- Nodep *bool `protobuf:"varint,20,opt,name=nodep" json:"nodep,omitempty"`
- Type *Attribute_Discriminator `protobuf:"varint,2,req,name=type,enum=blaze_query.Attribute_Discriminator" json:"type,omitempty"`
- IntValue *int32 `protobuf:"varint,3,opt,name=int_value,json=intValue" json:"int_value,omitempty"`
- StringValue *string `protobuf:"bytes,5,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
- BooleanValue *bool `protobuf:"varint,14,opt,name=boolean_value,json=booleanValue" json:"boolean_value,omitempty"`
- TristateValue *Attribute_Tristate `protobuf:"varint,15,opt,name=tristate_value,json=tristateValue,enum=blaze_query.Attribute_Tristate" json:"tristate_value,omitempty"`
- StringListValue []string `protobuf:"bytes,6,rep,name=string_list_value,json=stringListValue" json:"string_list_value,omitempty"`
- License *License `protobuf:"bytes,7,opt,name=license" json:"license,omitempty"`
- StringDictValue []*StringDictEntry `protobuf:"bytes,8,rep,name=string_dict_value,json=stringDictValue" json:"string_dict_value,omitempty"`
- FilesetListValue []*FilesetEntry `protobuf:"bytes,9,rep,name=fileset_list_value,json=filesetListValue" json:"fileset_list_value,omitempty"`
- LabelListDictValue []*LabelListDictEntry `protobuf:"bytes,10,rep,name=label_list_dict_value,json=labelListDictValue" json:"label_list_dict_value,omitempty"`
- StringListDictValue []*StringListDictEntry `protobuf:"bytes,11,rep,name=string_list_dict_value,json=stringListDictValue" json:"string_list_dict_value,omitempty"`
- IntListValue []int32 `protobuf:"varint,17,rep,name=int_list_value,json=intListValue" json:"int_list_value,omitempty"`
- LabelDictUnaryValue []*LabelDictUnaryEntry `protobuf:"bytes,19,rep,name=label_dict_unary_value,json=labelDictUnaryValue" json:"label_dict_unary_value,omitempty"`
- LabelKeyedStringDictValue []*LabelKeyedStringDictEntry `protobuf:"bytes,22,rep,name=label_keyed_string_dict_value,json=labelKeyedStringDictValue" json:"label_keyed_string_dict_value,omitempty"`
- SelectorList *Attribute_SelectorList `protobuf:"bytes,21,opt,name=selector_list,json=selectorList" json:"selector_list,omitempty"`
- DEPRECATEDStringDictUnaryValue [][]byte `protobuf:"bytes,18,rep,name=DEPRECATED_string_dict_unary_value,json=DEPRECATEDStringDictUnaryValue" json:"DEPRECATED_string_dict_unary_value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Attribute) Reset() {
- *x = Attribute{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[7]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Attribute) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Attribute) ProtoMessage() {}
-
-func (x *Attribute) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[7]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Attribute.ProtoReflect.Descriptor instead.
-func (*Attribute) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *Attribute) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *Attribute) GetExplicitlySpecified() bool {
- if x != nil && x.ExplicitlySpecified != nil {
- return *x.ExplicitlySpecified
- }
- return false
-}
-
-func (x *Attribute) GetNodep() bool {
- if x != nil && x.Nodep != nil {
- return *x.Nodep
- }
- return false
-}
-
-func (x *Attribute) GetType() Attribute_Discriminator {
- if x != nil && x.Type != nil {
- return *x.Type
- }
- return Attribute_INTEGER
-}
-
-func (x *Attribute) GetIntValue() int32 {
- if x != nil && x.IntValue != nil {
- return *x.IntValue
- }
- return 0
-}
-
-func (x *Attribute) GetStringValue() string {
- if x != nil && x.StringValue != nil {
- return *x.StringValue
- }
- return ""
-}
-
-func (x *Attribute) GetBooleanValue() bool {
- if x != nil && x.BooleanValue != nil {
- return *x.BooleanValue
- }
- return false
-}
-
-func (x *Attribute) GetTristateValue() Attribute_Tristate {
- if x != nil && x.TristateValue != nil {
- return *x.TristateValue
- }
- return Attribute_NO
-}
-
-func (x *Attribute) GetStringListValue() []string {
- if x != nil {
- return x.StringListValue
- }
- return nil
-}
-
-func (x *Attribute) GetLicense() *License {
- if x != nil {
- return x.License
- }
- return nil
-}
-
-func (x *Attribute) GetStringDictValue() []*StringDictEntry {
- if x != nil {
- return x.StringDictValue
- }
- return nil
-}
-
-func (x *Attribute) GetFilesetListValue() []*FilesetEntry {
- if x != nil {
- return x.FilesetListValue
- }
- return nil
-}
-
-func (x *Attribute) GetLabelListDictValue() []*LabelListDictEntry {
- if x != nil {
- return x.LabelListDictValue
- }
- return nil
-}
-
-func (x *Attribute) GetStringListDictValue() []*StringListDictEntry {
- if x != nil {
- return x.StringListDictValue
- }
- return nil
-}
-
-func (x *Attribute) GetIntListValue() []int32 {
- if x != nil {
- return x.IntListValue
- }
- return nil
-}
-
-func (x *Attribute) GetLabelDictUnaryValue() []*LabelDictUnaryEntry {
- if x != nil {
- return x.LabelDictUnaryValue
- }
- return nil
-}
-
-func (x *Attribute) GetLabelKeyedStringDictValue() []*LabelKeyedStringDictEntry {
- if x != nil {
- return x.LabelKeyedStringDictValue
- }
- return nil
-}
-
-func (x *Attribute) GetSelectorList() *Attribute_SelectorList {
- if x != nil {
- return x.SelectorList
- }
- return nil
-}
-
-func (x *Attribute) GetDEPRECATEDStringDictUnaryValue() [][]byte {
- if x != nil {
- return x.DEPRECATEDStringDictUnaryValue
- }
- return nil
-}
-
-type Rule struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- RuleClass *string `protobuf:"bytes,2,req,name=rule_class,json=ruleClass" json:"rule_class,omitempty"`
- Location *string `protobuf:"bytes,3,opt,name=location" json:"location,omitempty"`
- Attribute []*Attribute `protobuf:"bytes,4,rep,name=attribute" json:"attribute,omitempty"`
- RuleInput []string `protobuf:"bytes,5,rep,name=rule_input,json=ruleInput" json:"rule_input,omitempty"`
- RuleOutput []string `protobuf:"bytes,6,rep,name=rule_output,json=ruleOutput" json:"rule_output,omitempty"`
- DefaultSetting []string `protobuf:"bytes,7,rep,name=default_setting,json=defaultSetting" json:"default_setting,omitempty"`
- PublicByDefault *bool `protobuf:"varint,9,opt,name=public_by_default,json=publicByDefault" json:"public_by_default,omitempty"`
- IsSkylark *bool `protobuf:"varint,10,opt,name=is_skylark,json=isSkylark" json:"is_skylark,omitempty"`
- SkylarkEnvironmentHashCode *string `protobuf:"bytes,12,opt,name=skylark_environment_hash_code,json=skylarkEnvironmentHashCode" json:"skylark_environment_hash_code,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Rule) Reset() {
- *x = Rule{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[8]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Rule) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Rule) ProtoMessage() {}
-
-func (x *Rule) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[8]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Rule.ProtoReflect.Descriptor instead.
-func (*Rule) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *Rule) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *Rule) GetRuleClass() string {
- if x != nil && x.RuleClass != nil {
- return *x.RuleClass
- }
- return ""
-}
-
-func (x *Rule) GetLocation() string {
- if x != nil && x.Location != nil {
- return *x.Location
- }
- return ""
-}
-
-func (x *Rule) GetAttribute() []*Attribute {
- if x != nil {
- return x.Attribute
- }
- return nil
-}
-
-func (x *Rule) GetRuleInput() []string {
- if x != nil {
- return x.RuleInput
- }
- return nil
-}
-
-func (x *Rule) GetRuleOutput() []string {
- if x != nil {
- return x.RuleOutput
- }
- return nil
-}
-
-func (x *Rule) GetDefaultSetting() []string {
- if x != nil {
- return x.DefaultSetting
- }
- return nil
-}
-
-func (x *Rule) GetPublicByDefault() bool {
- if x != nil && x.PublicByDefault != nil {
- return *x.PublicByDefault
- }
- return false
-}
-
-func (x *Rule) GetIsSkylark() bool {
- if x != nil && x.IsSkylark != nil {
- return *x.IsSkylark
- }
- return false
-}
-
-func (x *Rule) GetSkylarkEnvironmentHashCode() string {
- if x != nil && x.SkylarkEnvironmentHashCode != nil {
- return *x.SkylarkEnvironmentHashCode
- }
- return ""
-}
-
-type RuleSummary struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Rule *Rule `protobuf:"bytes,1,req,name=rule" json:"rule,omitempty"`
- Dependency []*Rule `protobuf:"bytes,2,rep,name=dependency" json:"dependency,omitempty"`
- Location *string `protobuf:"bytes,3,opt,name=location" json:"location,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *RuleSummary) Reset() {
- *x = RuleSummary{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[9]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *RuleSummary) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuleSummary) ProtoMessage() {}
-
-func (x *RuleSummary) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[9]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use RuleSummary.ProtoReflect.Descriptor instead.
-func (*RuleSummary) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{9}
-}
-
-func (x *RuleSummary) GetRule() *Rule {
- if x != nil {
- return x.Rule
- }
- return nil
-}
-
-func (x *RuleSummary) GetDependency() []*Rule {
- if x != nil {
- return x.Dependency
- }
- return nil
-}
-
-func (x *RuleSummary) GetLocation() string {
- if x != nil && x.Location != nil {
- return *x.Location
- }
- return ""
-}
-
-type PackageGroup struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- ContainedPackage []string `protobuf:"bytes,2,rep,name=contained_package,json=containedPackage" json:"contained_package,omitempty"`
- IncludedPackageGroup []string `protobuf:"bytes,3,rep,name=included_package_group,json=includedPackageGroup" json:"included_package_group,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *PackageGroup) Reset() {
- *x = PackageGroup{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[10]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *PackageGroup) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*PackageGroup) ProtoMessage() {}
-
-func (x *PackageGroup) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[10]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use PackageGroup.ProtoReflect.Descriptor instead.
-func (*PackageGroup) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{10}
-}
-
-func (x *PackageGroup) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *PackageGroup) GetContainedPackage() []string {
- if x != nil {
- return x.ContainedPackage
- }
- return nil
-}
-
-func (x *PackageGroup) GetIncludedPackageGroup() []string {
- if x != nil {
- return x.IncludedPackageGroup
- }
- return nil
-}
-
-type EnvironmentGroup struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- Environment []string `protobuf:"bytes,2,rep,name=environment" json:"environment,omitempty"`
- Default []string `protobuf:"bytes,3,rep,name=default" json:"default,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *EnvironmentGroup) Reset() {
- *x = EnvironmentGroup{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[11]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *EnvironmentGroup) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*EnvironmentGroup) ProtoMessage() {}
-
-func (x *EnvironmentGroup) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[11]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use EnvironmentGroup.ProtoReflect.Descriptor instead.
-func (*EnvironmentGroup) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{11}
-}
-
-func (x *EnvironmentGroup) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *EnvironmentGroup) GetEnvironment() []string {
- if x != nil {
- return x.Environment
- }
- return nil
-}
-
-func (x *EnvironmentGroup) GetDefault() []string {
- if x != nil {
- return x.Default
- }
- return nil
-}
-
-type SourceFile struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- Location *string `protobuf:"bytes,2,opt,name=location" json:"location,omitempty"`
- Subinclude []string `protobuf:"bytes,3,rep,name=subinclude" json:"subinclude,omitempty"`
- PackageGroup []string `protobuf:"bytes,4,rep,name=package_group,json=packageGroup" json:"package_group,omitempty"`
- VisibilityLabel []string `protobuf:"bytes,5,rep,name=visibility_label,json=visibilityLabel" json:"visibility_label,omitempty"`
- Feature []string `protobuf:"bytes,6,rep,name=feature" json:"feature,omitempty"`
- License *License `protobuf:"bytes,8,opt,name=license" json:"license,omitempty"`
- PackageContainsErrors *bool `protobuf:"varint,9,opt,name=package_contains_errors,json=packageContainsErrors" json:"package_contains_errors,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *SourceFile) Reset() {
- *x = SourceFile{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[12]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *SourceFile) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*SourceFile) ProtoMessage() {}
-
-func (x *SourceFile) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[12]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use SourceFile.ProtoReflect.Descriptor instead.
-func (*SourceFile) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{12}
-}
-
-func (x *SourceFile) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *SourceFile) GetLocation() string {
- if x != nil && x.Location != nil {
- return *x.Location
- }
- return ""
-}
-
-func (x *SourceFile) GetSubinclude() []string {
- if x != nil {
- return x.Subinclude
- }
- return nil
-}
-
-func (x *SourceFile) GetPackageGroup() []string {
- if x != nil {
- return x.PackageGroup
- }
- return nil
-}
-
-func (x *SourceFile) GetVisibilityLabel() []string {
- if x != nil {
- return x.VisibilityLabel
- }
- return nil
-}
-
-func (x *SourceFile) GetFeature() []string {
- if x != nil {
- return x.Feature
- }
- return nil
-}
-
-func (x *SourceFile) GetLicense() *License {
- if x != nil {
- return x.License
- }
- return nil
-}
-
-func (x *SourceFile) GetPackageContainsErrors() bool {
- if x != nil && x.PackageContainsErrors != nil {
- return *x.PackageContainsErrors
- }
- return false
-}
-
-type GeneratedFile struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- GeneratingRule *string `protobuf:"bytes,2,req,name=generating_rule,json=generatingRule" json:"generating_rule,omitempty"`
- Location *string `protobuf:"bytes,3,opt,name=location" json:"location,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *GeneratedFile) Reset() {
- *x = GeneratedFile{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[13]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *GeneratedFile) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*GeneratedFile) ProtoMessage() {}
-
-func (x *GeneratedFile) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[13]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use GeneratedFile.ProtoReflect.Descriptor instead.
-func (*GeneratedFile) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{13}
-}
-
-func (x *GeneratedFile) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *GeneratedFile) GetGeneratingRule() string {
- if x != nil && x.GeneratingRule != nil {
- return *x.GeneratingRule
- }
- return ""
-}
-
-func (x *GeneratedFile) GetLocation() string {
- if x != nil && x.Location != nil {
- return *x.Location
- }
- return ""
-}
-
-type Target struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Type *Target_Discriminator `protobuf:"varint,1,req,name=type,enum=blaze_query.Target_Discriminator" json:"type,omitempty"`
- Rule *Rule `protobuf:"bytes,2,opt,name=rule" json:"rule,omitempty"`
- SourceFile *SourceFile `protobuf:"bytes,3,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
- GeneratedFile *GeneratedFile `protobuf:"bytes,4,opt,name=generated_file,json=generatedFile" json:"generated_file,omitempty"`
- PackageGroup *PackageGroup `protobuf:"bytes,5,opt,name=package_group,json=packageGroup" json:"package_group,omitempty"`
- EnvironmentGroup *EnvironmentGroup `protobuf:"bytes,6,opt,name=environment_group,json=environmentGroup" json:"environment_group,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Target) Reset() {
- *x = Target{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[14]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Target) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Target) ProtoMessage() {}
-
-func (x *Target) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[14]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Target.ProtoReflect.Descriptor instead.
-func (*Target) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{14}
-}
-
-func (x *Target) GetType() Target_Discriminator {
- if x != nil && x.Type != nil {
- return *x.Type
- }
- return Target_RULE
-}
-
-func (x *Target) GetRule() *Rule {
- if x != nil {
- return x.Rule
- }
- return nil
-}
-
-func (x *Target) GetSourceFile() *SourceFile {
- if x != nil {
- return x.SourceFile
- }
- return nil
-}
-
-func (x *Target) GetGeneratedFile() *GeneratedFile {
- if x != nil {
- return x.GeneratedFile
- }
- return nil
-}
-
-func (x *Target) GetPackageGroup() *PackageGroup {
- if x != nil {
- return x.PackageGroup
- }
- return nil
-}
-
-func (x *Target) GetEnvironmentGroup() *EnvironmentGroup {
- if x != nil {
- return x.EnvironmentGroup
- }
- return nil
-}
-
-type QueryResult struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Target []*Target `protobuf:"bytes,1,rep,name=target" json:"target,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *QueryResult) Reset() {
- *x = QueryResult{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[15]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *QueryResult) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*QueryResult) ProtoMessage() {}
-
-func (x *QueryResult) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[15]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use QueryResult.ProtoReflect.Descriptor instead.
-func (*QueryResult) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{15}
-}
-
-func (x *QueryResult) GetTarget() []*Target {
- if x != nil {
- return x.Target
- }
- return nil
-}
-
-type AllowedRuleClassInfo struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Policy *AllowedRuleClassInfo_AllowedRuleClasses `protobuf:"varint,1,req,name=policy,enum=blaze_query.AllowedRuleClassInfo_AllowedRuleClasses" json:"policy,omitempty"`
- AllowedRuleClass []string `protobuf:"bytes,2,rep,name=allowed_rule_class,json=allowedRuleClass" json:"allowed_rule_class,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *AllowedRuleClassInfo) Reset() {
- *x = AllowedRuleClassInfo{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[16]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *AllowedRuleClassInfo) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AllowedRuleClassInfo) ProtoMessage() {}
-
-func (x *AllowedRuleClassInfo) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[16]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use AllowedRuleClassInfo.ProtoReflect.Descriptor instead.
-func (*AllowedRuleClassInfo) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{16}
-}
-
-func (x *AllowedRuleClassInfo) GetPolicy() AllowedRuleClassInfo_AllowedRuleClasses {
- if x != nil && x.Policy != nil {
- return *x.Policy
- }
- return AllowedRuleClassInfo_ANY
-}
-
-func (x *AllowedRuleClassInfo) GetAllowedRuleClass() []string {
- if x != nil {
- return x.AllowedRuleClass
- }
- return nil
-}
-
-type AttributeDefinition struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- Type *Attribute_Discriminator `protobuf:"varint,2,req,name=type,enum=blaze_query.Attribute_Discriminator" json:"type,omitempty"`
- Mandatory *bool `protobuf:"varint,3,opt,name=mandatory" json:"mandatory,omitempty"`
- AllowedRuleClasses *AllowedRuleClassInfo `protobuf:"bytes,4,opt,name=allowed_rule_classes,json=allowedRuleClasses" json:"allowed_rule_classes,omitempty"`
- Documentation *string `protobuf:"bytes,5,opt,name=documentation" json:"documentation,omitempty"`
- AllowEmpty *bool `protobuf:"varint,6,opt,name=allow_empty,json=allowEmpty" json:"allow_empty,omitempty"`
- AllowSingleFile *bool `protobuf:"varint,7,opt,name=allow_single_file,json=allowSingleFile" json:"allow_single_file,omitempty"`
- Default *AttributeValue `protobuf:"bytes,9,opt,name=default" json:"default,omitempty"`
- Executable *bool `protobuf:"varint,10,opt,name=executable" json:"executable,omitempty"`
- Configurable *bool `protobuf:"varint,11,opt,name=configurable" json:"configurable,omitempty"`
- Nodep *bool `protobuf:"varint,12,opt,name=nodep" json:"nodep,omitempty"`
- CfgIsHost *bool `protobuf:"varint,13,opt,name=cfg_is_host,json=cfgIsHost" json:"cfg_is_host,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *AttributeDefinition) Reset() {
- *x = AttributeDefinition{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[17]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *AttributeDefinition) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AttributeDefinition) ProtoMessage() {}
-
-func (x *AttributeDefinition) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[17]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use AttributeDefinition.ProtoReflect.Descriptor instead.
-func (*AttributeDefinition) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{17}
-}
-
-func (x *AttributeDefinition) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *AttributeDefinition) GetType() Attribute_Discriminator {
- if x != nil && x.Type != nil {
- return *x.Type
- }
- return Attribute_INTEGER
-}
-
-func (x *AttributeDefinition) GetMandatory() bool {
- if x != nil && x.Mandatory != nil {
- return *x.Mandatory
- }
- return false
-}
-
-func (x *AttributeDefinition) GetAllowedRuleClasses() *AllowedRuleClassInfo {
- if x != nil {
- return x.AllowedRuleClasses
- }
- return nil
-}
-
-func (x *AttributeDefinition) GetDocumentation() string {
- if x != nil && x.Documentation != nil {
- return *x.Documentation
- }
- return ""
-}
-
-func (x *AttributeDefinition) GetAllowEmpty() bool {
- if x != nil && x.AllowEmpty != nil {
- return *x.AllowEmpty
- }
- return false
-}
-
-func (x *AttributeDefinition) GetAllowSingleFile() bool {
- if x != nil && x.AllowSingleFile != nil {
- return *x.AllowSingleFile
- }
- return false
-}
-
-func (x *AttributeDefinition) GetDefault() *AttributeValue {
- if x != nil {
- return x.Default
- }
- return nil
-}
-
-func (x *AttributeDefinition) GetExecutable() bool {
- if x != nil && x.Executable != nil {
- return *x.Executable
- }
- return false
-}
-
-func (x *AttributeDefinition) GetConfigurable() bool {
- if x != nil && x.Configurable != nil {
- return *x.Configurable
- }
- return false
-}
-
-func (x *AttributeDefinition) GetNodep() bool {
- if x != nil && x.Nodep != nil {
- return *x.Nodep
- }
- return false
-}
-
-func (x *AttributeDefinition) GetCfgIsHost() bool {
- if x != nil && x.CfgIsHost != nil {
- return *x.CfgIsHost
- }
- return false
-}
-
-type AttributeValue struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Int *int32 `protobuf:"varint,1,opt,name=int" json:"int,omitempty"`
- String_ *string `protobuf:"bytes,2,opt,name=string" json:"string,omitempty"`
- Bool *bool `protobuf:"varint,3,opt,name=bool" json:"bool,omitempty"`
- List []*AttributeValue `protobuf:"bytes,4,rep,name=list" json:"list,omitempty"`
- Dict []*AttributeValue_DictEntry `protobuf:"bytes,5,rep,name=dict" json:"dict,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *AttributeValue) Reset() {
- *x = AttributeValue{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[18]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *AttributeValue) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AttributeValue) ProtoMessage() {}
-
-func (x *AttributeValue) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[18]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use AttributeValue.ProtoReflect.Descriptor instead.
-func (*AttributeValue) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{18}
-}
-
-func (x *AttributeValue) GetInt() int32 {
- if x != nil && x.Int != nil {
- return *x.Int
- }
- return 0
-}
-
-func (x *AttributeValue) GetString_() string {
- if x != nil && x.String_ != nil {
- return *x.String_
- }
- return ""
-}
-
-func (x *AttributeValue) GetBool() bool {
- if x != nil && x.Bool != nil {
- return *x.Bool
- }
- return false
-}
-
-func (x *AttributeValue) GetList() []*AttributeValue {
- if x != nil {
- return x.List
- }
- return nil
-}
-
-func (x *AttributeValue) GetDict() []*AttributeValue_DictEntry {
- if x != nil {
- return x.Dict
- }
- return nil
-}
-
-type RuleDefinition struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Name *string `protobuf:"bytes,1,req,name=name" json:"name,omitempty"`
- Attribute []*AttributeDefinition `protobuf:"bytes,2,rep,name=attribute" json:"attribute,omitempty"`
- Documentation *string `protobuf:"bytes,3,opt,name=documentation" json:"documentation,omitempty"`
- Label *string `protobuf:"bytes,4,opt,name=label" json:"label,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *RuleDefinition) Reset() {
- *x = RuleDefinition{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[19]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *RuleDefinition) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*RuleDefinition) ProtoMessage() {}
-
-func (x *RuleDefinition) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[19]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use RuleDefinition.ProtoReflect.Descriptor instead.
-func (*RuleDefinition) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{19}
-}
-
-func (x *RuleDefinition) GetName() string {
- if x != nil && x.Name != nil {
- return *x.Name
- }
- return ""
-}
-
-func (x *RuleDefinition) GetAttribute() []*AttributeDefinition {
- if x != nil {
- return x.Attribute
- }
- return nil
-}
-
-func (x *RuleDefinition) GetDocumentation() string {
- if x != nil && x.Documentation != nil {
- return *x.Documentation
- }
- return ""
-}
-
-func (x *RuleDefinition) GetLabel() string {
- if x != nil && x.Label != nil {
- return *x.Label
- }
- return ""
-}
-
-type BuildLanguage struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Rule []*RuleDefinition `protobuf:"bytes,1,rep,name=rule" json:"rule,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *BuildLanguage) Reset() {
- *x = BuildLanguage{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[20]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *BuildLanguage) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*BuildLanguage) ProtoMessage() {}
-
-func (x *BuildLanguage) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[20]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use BuildLanguage.ProtoReflect.Descriptor instead.
-func (*BuildLanguage) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{20}
-}
-
-func (x *BuildLanguage) GetRule() []*RuleDefinition {
- if x != nil {
- return x.Rule
- }
- return nil
-}
-
-type Attribute_SelectorEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Label *string `protobuf:"bytes,1,opt,name=label" json:"label,omitempty"`
- IsDefaultValue *bool `protobuf:"varint,16,opt,name=is_default_value,json=isDefaultValue" json:"is_default_value,omitempty"`
- IntValue *int32 `protobuf:"varint,2,opt,name=int_value,json=intValue" json:"int_value,omitempty"`
- StringValue *string `protobuf:"bytes,3,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
- BooleanValue *bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue" json:"boolean_value,omitempty"`
- TristateValue *Attribute_Tristate `protobuf:"varint,5,opt,name=tristate_value,json=tristateValue,enum=blaze_query.Attribute_Tristate" json:"tristate_value,omitempty"`
- StringListValue []string `protobuf:"bytes,6,rep,name=string_list_value,json=stringListValue" json:"string_list_value,omitempty"`
- License *License `protobuf:"bytes,7,opt,name=license" json:"license,omitempty"`
- StringDictValue []*StringDictEntry `protobuf:"bytes,8,rep,name=string_dict_value,json=stringDictValue" json:"string_dict_value,omitempty"`
- FilesetListValue []*FilesetEntry `protobuf:"bytes,9,rep,name=fileset_list_value,json=filesetListValue" json:"fileset_list_value,omitempty"`
- LabelListDictValue []*LabelListDictEntry `protobuf:"bytes,10,rep,name=label_list_dict_value,json=labelListDictValue" json:"label_list_dict_value,omitempty"`
- StringListDictValue []*StringListDictEntry `protobuf:"bytes,11,rep,name=string_list_dict_value,json=stringListDictValue" json:"string_list_dict_value,omitempty"`
- IntListValue []int32 `protobuf:"varint,13,rep,name=int_list_value,json=intListValue" json:"int_list_value,omitempty"`
- LabelDictUnaryValue []*LabelDictUnaryEntry `protobuf:"bytes,15,rep,name=label_dict_unary_value,json=labelDictUnaryValue" json:"label_dict_unary_value,omitempty"`
- LabelKeyedStringDictValue []*LabelKeyedStringDictEntry `protobuf:"bytes,17,rep,name=label_keyed_string_dict_value,json=labelKeyedStringDictValue" json:"label_keyed_string_dict_value,omitempty"`
- DEPRECATEDStringDictUnaryValue [][]byte `protobuf:"bytes,14,rep,name=DEPRECATED_string_dict_unary_value,json=DEPRECATEDStringDictUnaryValue" json:"DEPRECATED_string_dict_unary_value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Attribute_SelectorEntry) Reset() {
- *x = Attribute_SelectorEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[21]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Attribute_SelectorEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Attribute_SelectorEntry) ProtoMessage() {}
-
-func (x *Attribute_SelectorEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[21]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Attribute_SelectorEntry.ProtoReflect.Descriptor instead.
-func (*Attribute_SelectorEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{7, 0}
-}
-
-func (x *Attribute_SelectorEntry) GetLabel() string {
- if x != nil && x.Label != nil {
- return *x.Label
- }
- return ""
-}
-
-func (x *Attribute_SelectorEntry) GetIsDefaultValue() bool {
- if x != nil && x.IsDefaultValue != nil {
- return *x.IsDefaultValue
- }
- return false
-}
-
-func (x *Attribute_SelectorEntry) GetIntValue() int32 {
- if x != nil && x.IntValue != nil {
- return *x.IntValue
- }
- return 0
-}
-
-func (x *Attribute_SelectorEntry) GetStringValue() string {
- if x != nil && x.StringValue != nil {
- return *x.StringValue
- }
- return ""
-}
-
-func (x *Attribute_SelectorEntry) GetBooleanValue() bool {
- if x != nil && x.BooleanValue != nil {
- return *x.BooleanValue
- }
- return false
-}
-
-func (x *Attribute_SelectorEntry) GetTristateValue() Attribute_Tristate {
- if x != nil && x.TristateValue != nil {
- return *x.TristateValue
- }
- return Attribute_NO
-}
-
-func (x *Attribute_SelectorEntry) GetStringListValue() []string {
- if x != nil {
- return x.StringListValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetLicense() *License {
- if x != nil {
- return x.License
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetStringDictValue() []*StringDictEntry {
- if x != nil {
- return x.StringDictValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetFilesetListValue() []*FilesetEntry {
- if x != nil {
- return x.FilesetListValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetLabelListDictValue() []*LabelListDictEntry {
- if x != nil {
- return x.LabelListDictValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetStringListDictValue() []*StringListDictEntry {
- if x != nil {
- return x.StringListDictValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetIntListValue() []int32 {
- if x != nil {
- return x.IntListValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetLabelDictUnaryValue() []*LabelDictUnaryEntry {
- if x != nil {
- return x.LabelDictUnaryValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetLabelKeyedStringDictValue() []*LabelKeyedStringDictEntry {
- if x != nil {
- return x.LabelKeyedStringDictValue
- }
- return nil
-}
-
-func (x *Attribute_SelectorEntry) GetDEPRECATEDStringDictUnaryValue() [][]byte {
- if x != nil {
- return x.DEPRECATEDStringDictUnaryValue
- }
- return nil
-}
-
-type Attribute_Selector struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Entries []*Attribute_SelectorEntry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
- HasDefaultValue *bool `protobuf:"varint,2,opt,name=has_default_value,json=hasDefaultValue" json:"has_default_value,omitempty"`
- NoMatchError *string `protobuf:"bytes,3,opt,name=no_match_error,json=noMatchError" json:"no_match_error,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Attribute_Selector) Reset() {
- *x = Attribute_Selector{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[22]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Attribute_Selector) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Attribute_Selector) ProtoMessage() {}
-
-func (x *Attribute_Selector) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[22]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Attribute_Selector.ProtoReflect.Descriptor instead.
-func (*Attribute_Selector) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{7, 1}
-}
-
-func (x *Attribute_Selector) GetEntries() []*Attribute_SelectorEntry {
- if x != nil {
- return x.Entries
- }
- return nil
-}
-
-func (x *Attribute_Selector) GetHasDefaultValue() bool {
- if x != nil && x.HasDefaultValue != nil {
- return *x.HasDefaultValue
- }
- return false
-}
-
-func (x *Attribute_Selector) GetNoMatchError() string {
- if x != nil && x.NoMatchError != nil {
- return *x.NoMatchError
- }
- return ""
-}
-
-type Attribute_SelectorList struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Type *Attribute_Discriminator `protobuf:"varint,1,opt,name=type,enum=blaze_query.Attribute_Discriminator" json:"type,omitempty"`
- Elements []*Attribute_Selector `protobuf:"bytes,2,rep,name=elements" json:"elements,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *Attribute_SelectorList) Reset() {
- *x = Attribute_SelectorList{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[23]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *Attribute_SelectorList) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Attribute_SelectorList) ProtoMessage() {}
-
-func (x *Attribute_SelectorList) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[23]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use Attribute_SelectorList.ProtoReflect.Descriptor instead.
-func (*Attribute_SelectorList) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{7, 2}
-}
-
-func (x *Attribute_SelectorList) GetType() Attribute_Discriminator {
- if x != nil && x.Type != nil {
- return *x.Type
- }
- return Attribute_INTEGER
-}
-
-func (x *Attribute_SelectorList) GetElements() []*Attribute_Selector {
- if x != nil {
- return x.Elements
- }
- return nil
-}
-
-type AttributeValue_DictEntry struct {
- state protoimpl.MessageState `protogen:"open.v1"`
- Key *string `protobuf:"bytes,1,req,name=key" json:"key,omitempty"`
- Value *AttributeValue `protobuf:"bytes,2,req,name=value" json:"value,omitempty"`
- unknownFields protoimpl.UnknownFields
- sizeCache protoimpl.SizeCache
-}
-
-func (x *AttributeValue_DictEntry) Reset() {
- *x = AttributeValue_DictEntry{}
- mi := &file_gitops_blaze_query_build_proto_msgTypes[24]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
-}
-
-func (x *AttributeValue_DictEntry) String() string {
- return protoimpl.X.MessageStringOf(x)
-}
-
-func (*AttributeValue_DictEntry) ProtoMessage() {}
-
-func (x *AttributeValue_DictEntry) ProtoReflect() protoreflect.Message {
- mi := &file_gitops_blaze_query_build_proto_msgTypes[24]
- if x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
- }
- return mi.MessageOf(x)
-}
-
-// Deprecated: Use AttributeValue_DictEntry.ProtoReflect.Descriptor instead.
-func (*AttributeValue_DictEntry) Descriptor() ([]byte, []int) {
- return file_gitops_blaze_query_build_proto_rawDescGZIP(), []int{18, 0}
-}
-
-func (x *AttributeValue_DictEntry) GetKey() string {
- if x != nil && x.Key != nil {
- return *x.Key
- }
- return ""
-}
-
-func (x *AttributeValue_DictEntry) GetValue() *AttributeValue {
- if x != nil {
- return x.Value
- }
- return nil
-}
-
-var File_gitops_blaze_query_build_proto protoreflect.FileDescriptor
-
-const file_gitops_blaze_query_build_proto_rawDesc = "" +
- "\n" +
- "\x1egitops/blaze_query/build.proto\x12\vblaze_query\"J\n" +
- "\aLicense\x12!\n" +
- "\flicense_type\x18\x01 \x03(\tR\vlicenseType\x12\x1c\n" +
- "\texception\x18\x02 \x03(\tR\texception\"9\n" +
- "\x0fStringDictEntry\x12\x10\n" +
- "\x03key\x18\x01 \x02(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x02(\tR\x05value\"=\n" +
- "\x13LabelDictUnaryEntry\x12\x10\n" +
- "\x03key\x18\x01 \x02(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x02(\tR\x05value\"<\n" +
- "\x12LabelListDictEntry\x12\x10\n" +
- "\x03key\x18\x01 \x02(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x03(\tR\x05value\"C\n" +
- "\x19LabelKeyedStringDictEntry\x12\x10\n" +
- "\x03key\x18\x01 \x02(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x02(\tR\x05value\"=\n" +
- "\x13StringListDictEntry\x12\x10\n" +
- "\x03key\x18\x01 \x02(\tR\x03key\x12\x14\n" +
- "\x05value\x18\x02 \x03(\tR\x05value\"\xdb\x02\n" +
- "\fFilesetEntry\x12\x16\n" +
- "\x06source\x18\x01 \x02(\tR\x06source\x123\n" +
- "\x15destination_directory\x18\x02 \x02(\tR\x14destinationDirectory\x12#\n" +
- "\rfiles_present\x18\a \x01(\bR\ffilesPresent\x12\x12\n" +
- "\x04file\x18\x03 \x03(\tR\x04file\x12\x18\n" +
- "\aexclude\x18\x04 \x03(\tR\aexclude\x12Z\n" +
- "\x10symlink_behavior\x18\x05 \x01(\x0e2).blaze_query.FilesetEntry.SymlinkBehavior:\x04COPYR\x0fsymlinkBehavior\x12!\n" +
- "\fstrip_prefix\x18\x06 \x01(\tR\vstripPrefix\",\n" +
- "\x0fSymlinkBehavior\x12\b\n" +
- "\x04COPY\x10\x01\x12\x0f\n" +
- "\vDEREFERENCE\x10\x02\"\x9f\x16\n" +
- "\tAttribute\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x121\n" +
- "\x14explicitly_specified\x18\r \x01(\bR\x13explicitlySpecified\x12\x14\n" +
- "\x05nodep\x18\x14 \x01(\bR\x05nodep\x128\n" +
- "\x04type\x18\x02 \x02(\x0e2$.blaze_query.Attribute.DiscriminatorR\x04type\x12\x1b\n" +
- "\tint_value\x18\x03 \x01(\x05R\bintValue\x12!\n" +
- "\fstring_value\x18\x05 \x01(\tR\vstringValue\x12#\n" +
- "\rboolean_value\x18\x0e \x01(\bR\fbooleanValue\x12F\n" +
- "\x0etristate_value\x18\x0f \x01(\x0e2\x1f.blaze_query.Attribute.TristateR\rtristateValue\x12*\n" +
- "\x11string_list_value\x18\x06 \x03(\tR\x0fstringListValue\x12.\n" +
- "\alicense\x18\a \x01(\v2\x14.blaze_query.LicenseR\alicense\x12H\n" +
- "\x11string_dict_value\x18\b \x03(\v2\x1c.blaze_query.StringDictEntryR\x0fstringDictValue\x12G\n" +
- "\x12fileset_list_value\x18\t \x03(\v2\x19.blaze_query.FilesetEntryR\x10filesetListValue\x12R\n" +
- "\x15label_list_dict_value\x18\n" +
- " \x03(\v2\x1f.blaze_query.LabelListDictEntryR\x12labelListDictValue\x12U\n" +
- "\x16string_list_dict_value\x18\v \x03(\v2 .blaze_query.StringListDictEntryR\x13stringListDictValue\x12$\n" +
- "\x0eint_list_value\x18\x11 \x03(\x05R\fintListValue\x12U\n" +
- "\x16label_dict_unary_value\x18\x13 \x03(\v2 .blaze_query.LabelDictUnaryEntryR\x13labelDictUnaryValue\x12h\n" +
- "\x1dlabel_keyed_string_dict_value\x18\x16 \x03(\v2&.blaze_query.LabelKeyedStringDictEntryR\x19labelKeyedStringDictValue\x12H\n" +
- "\rselector_list\x18\x15 \x01(\v2#.blaze_query.Attribute.SelectorListR\fselectorList\x12J\n" +
- "\"DEPRECATED_string_dict_unary_value\x18\x12 \x03(\fR\x1eDEPRECATEDStringDictUnaryValue\x1a\xcf\a\n" +
- "\rSelectorEntry\x12\x14\n" +
- "\x05label\x18\x01 \x01(\tR\x05label\x12(\n" +
- "\x10is_default_value\x18\x10 \x01(\bR\x0eisDefaultValue\x12\x1b\n" +
- "\tint_value\x18\x02 \x01(\x05R\bintValue\x12!\n" +
- "\fstring_value\x18\x03 \x01(\tR\vstringValue\x12#\n" +
- "\rboolean_value\x18\x04 \x01(\bR\fbooleanValue\x12F\n" +
- "\x0etristate_value\x18\x05 \x01(\x0e2\x1f.blaze_query.Attribute.TristateR\rtristateValue\x12*\n" +
- "\x11string_list_value\x18\x06 \x03(\tR\x0fstringListValue\x12.\n" +
- "\alicense\x18\a \x01(\v2\x14.blaze_query.LicenseR\alicense\x12H\n" +
- "\x11string_dict_value\x18\b \x03(\v2\x1c.blaze_query.StringDictEntryR\x0fstringDictValue\x12G\n" +
- "\x12fileset_list_value\x18\t \x03(\v2\x19.blaze_query.FilesetEntryR\x10filesetListValue\x12R\n" +
- "\x15label_list_dict_value\x18\n" +
- " \x03(\v2\x1f.blaze_query.LabelListDictEntryR\x12labelListDictValue\x12U\n" +
- "\x16string_list_dict_value\x18\v \x03(\v2 .blaze_query.StringListDictEntryR\x13stringListDictValue\x12$\n" +
- "\x0eint_list_value\x18\r \x03(\x05R\fintListValue\x12U\n" +
- "\x16label_dict_unary_value\x18\x0f \x03(\v2 .blaze_query.LabelDictUnaryEntryR\x13labelDictUnaryValue\x12h\n" +
- "\x1dlabel_keyed_string_dict_value\x18\x11 \x03(\v2&.blaze_query.LabelKeyedStringDictEntryR\x19labelKeyedStringDictValue\x12J\n" +
- "\"DEPRECATED_string_dict_unary_value\x18\x0e \x03(\fR\x1eDEPRECATEDStringDictUnaryValueJ\x04\b\f\x10\r\x1a\x9c\x01\n" +
- "\bSelector\x12>\n" +
- "\aentries\x18\x01 \x03(\v2$.blaze_query.Attribute.SelectorEntryR\aentries\x12*\n" +
- "\x11has_default_value\x18\x02 \x01(\bR\x0fhasDefaultValue\x12$\n" +
- "\x0eno_match_error\x18\x03 \x01(\tR\fnoMatchError\x1a\x85\x01\n" +
- "\fSelectorList\x128\n" +
- "\x04type\x18\x01 \x01(\x0e2$.blaze_query.Attribute.DiscriminatorR\x04type\x12;\n" +
- "\belements\x18\x02 \x03(\v2\x1f.blaze_query.Attribute.SelectorR\belements\"\x8a\x03\n" +
- "\rDiscriminator\x12\v\n" +
- "\aINTEGER\x10\x01\x12\n" +
- "\n" +
- "\x06STRING\x10\x02\x12\t\n" +
- "\x05LABEL\x10\x03\x12\n" +
- "\n" +
- "\x06OUTPUT\x10\x04\x12\x0f\n" +
- "\vSTRING_LIST\x10\x05\x12\x0e\n" +
- "\n" +
- "LABEL_LIST\x10\x06\x12\x0f\n" +
- "\vOUTPUT_LIST\x10\a\x12\x14\n" +
- "\x10DISTRIBUTION_SET\x10\b\x12\v\n" +
- "\aLICENSE\x10\t\x12\x0f\n" +
- "\vSTRING_DICT\x10\n" +
- "\x12\x16\n" +
- "\x12FILESET_ENTRY_LIST\x10\v\x12\x13\n" +
- "\x0fLABEL_LIST_DICT\x10\f\x12\x14\n" +
- "\x10STRING_LIST_DICT\x10\r\x12\v\n" +
- "\aBOOLEAN\x10\x0e\x12\f\n" +
- "\bTRISTATE\x10\x0f\x12\x10\n" +
- "\fINTEGER_LIST\x10\x10\x12\v\n" +
- "\aUNKNOWN\x10\x12\x12\x14\n" +
- "\x10LABEL_DICT_UNARY\x10\x13\x12\x11\n" +
- "\rSELECTOR_LIST\x10\x14\x12\x1b\n" +
- "\x17LABEL_KEYED_STRING_DICT\x10\x15\x12 \n" +
- "\x1cDEPRECATED_STRING_DICT_UNARY\x10\x11\"%\n" +
- "\bTristate\x12\x06\n" +
- "\x02NO\x10\x00\x12\a\n" +
- "\x03YES\x10\x01\x12\b\n" +
- "\x04AUTO\x10\x02J\x04\b\f\x10\rJ\x04\b\x10\x10\x11\"\x8e\x03\n" +
- "\x04Rule\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x12\x1d\n" +
- "\n" +
- "rule_class\x18\x02 \x02(\tR\truleClass\x12\x1a\n" +
- "\blocation\x18\x03 \x01(\tR\blocation\x124\n" +
- "\tattribute\x18\x04 \x03(\v2\x16.blaze_query.AttributeR\tattribute\x12\x1d\n" +
- "\n" +
- "rule_input\x18\x05 \x03(\tR\truleInput\x12\x1f\n" +
- "\vrule_output\x18\x06 \x03(\tR\n" +
- "ruleOutput\x12'\n" +
- "\x0fdefault_setting\x18\a \x03(\tR\x0edefaultSetting\x12*\n" +
- "\x11public_by_default\x18\t \x01(\bR\x0fpublicByDefault\x12\x1d\n" +
- "\n" +
- "is_skylark\x18\n" +
- " \x01(\bR\tisSkylark\x12A\n" +
- "\x1dskylark_environment_hash_code\x18\f \x01(\tR\x1askylarkEnvironmentHashCodeJ\x04\b\b\x10\tJ\x04\b\v\x10\f\"\x83\x01\n" +
- "\vRuleSummary\x12%\n" +
- "\x04rule\x18\x01 \x02(\v2\x11.blaze_query.RuleR\x04rule\x121\n" +
- "\n" +
- "dependency\x18\x02 \x03(\v2\x11.blaze_query.RuleR\n" +
- "dependency\x12\x1a\n" +
- "\blocation\x18\x03 \x01(\tR\blocation\"\x8b\x01\n" +
- "\fPackageGroup\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x12+\n" +
- "\x11contained_package\x18\x02 \x03(\tR\x10containedPackage\x124\n" +
- "\x16included_package_group\x18\x03 \x03(\tR\x14includedPackageGroupJ\x04\b\x04\x10\x05\"b\n" +
- "\x10EnvironmentGroup\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x12 \n" +
- "\venvironment\x18\x02 \x03(\tR\venvironment\x12\x18\n" +
- "\adefault\x18\x03 \x03(\tR\adefault\"\xb4\x02\n" +
- "\n" +
- "SourceFile\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x12\x1a\n" +
- "\blocation\x18\x02 \x01(\tR\blocation\x12\x1e\n" +
- "\n" +
- "subinclude\x18\x03 \x03(\tR\n" +
- "subinclude\x12#\n" +
- "\rpackage_group\x18\x04 \x03(\tR\fpackageGroup\x12)\n" +
- "\x10visibility_label\x18\x05 \x03(\tR\x0fvisibilityLabel\x12\x18\n" +
- "\afeature\x18\x06 \x03(\tR\afeature\x12.\n" +
- "\alicense\x18\b \x01(\v2\x14.blaze_query.LicenseR\alicense\x126\n" +
- "\x17package_contains_errors\x18\t \x01(\bR\x15packageContainsErrorsJ\x04\b\a\x10\b\"h\n" +
- "\rGeneratedFile\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x12'\n" +
- "\x0fgenerating_rule\x18\x02 \x02(\tR\x0egeneratingRule\x12\x1a\n" +
- "\blocation\x18\x03 \x01(\tR\blocation\"\xd9\x03\n" +
- "\x06Target\x125\n" +
- "\x04type\x18\x01 \x02(\x0e2!.blaze_query.Target.DiscriminatorR\x04type\x12%\n" +
- "\x04rule\x18\x02 \x01(\v2\x11.blaze_query.RuleR\x04rule\x128\n" +
- "\vsource_file\x18\x03 \x01(\v2\x17.blaze_query.SourceFileR\n" +
- "sourceFile\x12A\n" +
- "\x0egenerated_file\x18\x04 \x01(\v2\x1a.blaze_query.GeneratedFileR\rgeneratedFile\x12>\n" +
- "\rpackage_group\x18\x05 \x01(\v2\x19.blaze_query.PackageGroupR\fpackageGroup\x12J\n" +
- "\x11environment_group\x18\x06 \x01(\v2\x1d.blaze_query.EnvironmentGroupR\x10environmentGroup\"h\n" +
- "\rDiscriminator\x12\b\n" +
- "\x04RULE\x10\x01\x12\x0f\n" +
- "\vSOURCE_FILE\x10\x02\x12\x12\n" +
- "\x0eGENERATED_FILE\x10\x03\x12\x11\n" +
- "\rPACKAGE_GROUP\x10\x04\x12\x15\n" +
- "\x11ENVIRONMENT_GROUP\x10\x05\":\n" +
- "\vQueryResult\x12+\n" +
- "\x06target\x18\x01 \x03(\v2\x13.blaze_query.TargetR\x06target\"\xc0\x01\n" +
- "\x14AllowedRuleClassInfo\x12L\n" +
- "\x06policy\x18\x01 \x02(\x0e24.blaze_query.AllowedRuleClassInfo.AllowedRuleClassesR\x06policy\x12,\n" +
- "\x12allowed_rule_class\x18\x02 \x03(\tR\x10allowedRuleClass\",\n" +
- "\x12AllowedRuleClasses\x12\a\n" +
- "\x03ANY\x10\x01\x12\r\n" +
- "\tSPECIFIED\x10\x02\"\xfa\x03\n" +
- "\x13AttributeDefinition\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x128\n" +
- "\x04type\x18\x02 \x02(\x0e2$.blaze_query.Attribute.DiscriminatorR\x04type\x12\x1c\n" +
- "\tmandatory\x18\x03 \x01(\bR\tmandatory\x12S\n" +
- "\x14allowed_rule_classes\x18\x04 \x01(\v2!.blaze_query.AllowedRuleClassInfoR\x12allowedRuleClasses\x12$\n" +
- "\rdocumentation\x18\x05 \x01(\tR\rdocumentation\x12\x1f\n" +
- "\vallow_empty\x18\x06 \x01(\bR\n" +
- "allowEmpty\x12*\n" +
- "\x11allow_single_file\x18\a \x01(\bR\x0fallowSingleFile\x125\n" +
- "\adefault\x18\t \x01(\v2\x1b.blaze_query.AttributeValueR\adefault\x12\x1e\n" +
- "\n" +
- "executable\x18\n" +
- " \x01(\bR\n" +
- "executable\x12\"\n" +
- "\fconfigurable\x18\v \x01(\bR\fconfigurable\x12\x14\n" +
- "\x05nodep\x18\f \x01(\bR\x05nodep\x12\x1e\n" +
- "\vcfg_is_host\x18\r \x01(\bR\tcfgIsHost\"\x8c\x02\n" +
- "\x0eAttributeValue\x12\x10\n" +
- "\x03int\x18\x01 \x01(\x05R\x03int\x12\x16\n" +
- "\x06string\x18\x02 \x01(\tR\x06string\x12\x12\n" +
- "\x04bool\x18\x03 \x01(\bR\x04bool\x12/\n" +
- "\x04list\x18\x04 \x03(\v2\x1b.blaze_query.AttributeValueR\x04list\x129\n" +
- "\x04dict\x18\x05 \x03(\v2%.blaze_query.AttributeValue.DictEntryR\x04dict\x1aP\n" +
- "\tDictEntry\x12\x10\n" +
- "\x03key\x18\x01 \x02(\tR\x03key\x121\n" +
- "\x05value\x18\x02 \x02(\v2\x1b.blaze_query.AttributeValueR\x05value\"\xa0\x01\n" +
- "\x0eRuleDefinition\x12\x12\n" +
- "\x04name\x18\x01 \x02(\tR\x04name\x12>\n" +
- "\tattribute\x18\x02 \x03(\v2 .blaze_query.AttributeDefinitionR\tattribute\x12$\n" +
- "\rdocumentation\x18\x03 \x01(\tR\rdocumentation\x12\x14\n" +
- "\x05label\x18\x04 \x01(\tR\x05label\"@\n" +
- "\rBuildLanguage\x12/\n" +
- "\x04rule\x18\x01 \x03(\v2\x1b.blaze_query.RuleDefinitionR\x04ruleB6\n" +
- "4com.google.devtools.build.lib.query2.proto.proto2api"
-
-var (
- file_gitops_blaze_query_build_proto_rawDescOnce sync.Once
- file_gitops_blaze_query_build_proto_rawDescData []byte
-)
-
-func file_gitops_blaze_query_build_proto_rawDescGZIP() []byte {
- file_gitops_blaze_query_build_proto_rawDescOnce.Do(func() {
- file_gitops_blaze_query_build_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_gitops_blaze_query_build_proto_rawDesc), len(file_gitops_blaze_query_build_proto_rawDesc)))
- })
- return file_gitops_blaze_query_build_proto_rawDescData
-}
-
-var file_gitops_blaze_query_build_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
-var file_gitops_blaze_query_build_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
-var file_gitops_blaze_query_build_proto_goTypes = []any{
- (FilesetEntry_SymlinkBehavior)(0), // 0: blaze_query.FilesetEntry.SymlinkBehavior
- (Attribute_Discriminator)(0), // 1: blaze_query.Attribute.Discriminator
- (Attribute_Tristate)(0), // 2: blaze_query.Attribute.Tristate
- (Target_Discriminator)(0), // 3: blaze_query.Target.Discriminator
- (AllowedRuleClassInfo_AllowedRuleClasses)(0), // 4: blaze_query.AllowedRuleClassInfo.AllowedRuleClasses
- (*License)(nil), // 5: blaze_query.License
- (*StringDictEntry)(nil), // 6: blaze_query.StringDictEntry
- (*LabelDictUnaryEntry)(nil), // 7: blaze_query.LabelDictUnaryEntry
- (*LabelListDictEntry)(nil), // 8: blaze_query.LabelListDictEntry
- (*LabelKeyedStringDictEntry)(nil), // 9: blaze_query.LabelKeyedStringDictEntry
- (*StringListDictEntry)(nil), // 10: blaze_query.StringListDictEntry
- (*FilesetEntry)(nil), // 11: blaze_query.FilesetEntry
- (*Attribute)(nil), // 12: blaze_query.Attribute
- (*Rule)(nil), // 13: blaze_query.Rule
- (*RuleSummary)(nil), // 14: blaze_query.RuleSummary
- (*PackageGroup)(nil), // 15: blaze_query.PackageGroup
- (*EnvironmentGroup)(nil), // 16: blaze_query.EnvironmentGroup
- (*SourceFile)(nil), // 17: blaze_query.SourceFile
- (*GeneratedFile)(nil), // 18: blaze_query.GeneratedFile
- (*Target)(nil), // 19: blaze_query.Target
- (*QueryResult)(nil), // 20: blaze_query.QueryResult
- (*AllowedRuleClassInfo)(nil), // 21: blaze_query.AllowedRuleClassInfo
- (*AttributeDefinition)(nil), // 22: blaze_query.AttributeDefinition
- (*AttributeValue)(nil), // 23: blaze_query.AttributeValue
- (*RuleDefinition)(nil), // 24: blaze_query.RuleDefinition
- (*BuildLanguage)(nil), // 25: blaze_query.BuildLanguage
- (*Attribute_SelectorEntry)(nil), // 26: blaze_query.Attribute.SelectorEntry
- (*Attribute_Selector)(nil), // 27: blaze_query.Attribute.Selector
- (*Attribute_SelectorList)(nil), // 28: blaze_query.Attribute.SelectorList
- (*AttributeValue_DictEntry)(nil), // 29: blaze_query.AttributeValue.DictEntry
-}
-var file_gitops_blaze_query_build_proto_depIdxs = []int32{
- 0, // 0: blaze_query.FilesetEntry.symlink_behavior:type_name -> blaze_query.FilesetEntry.SymlinkBehavior
- 1, // 1: blaze_query.Attribute.type:type_name -> blaze_query.Attribute.Discriminator
- 2, // 2: blaze_query.Attribute.tristate_value:type_name -> blaze_query.Attribute.Tristate
- 5, // 3: blaze_query.Attribute.license:type_name -> blaze_query.License
- 6, // 4: blaze_query.Attribute.string_dict_value:type_name -> blaze_query.StringDictEntry
- 11, // 5: blaze_query.Attribute.fileset_list_value:type_name -> blaze_query.FilesetEntry
- 8, // 6: blaze_query.Attribute.label_list_dict_value:type_name -> blaze_query.LabelListDictEntry
- 10, // 7: blaze_query.Attribute.string_list_dict_value:type_name -> blaze_query.StringListDictEntry
- 7, // 8: blaze_query.Attribute.label_dict_unary_value:type_name -> blaze_query.LabelDictUnaryEntry
- 9, // 9: blaze_query.Attribute.label_keyed_string_dict_value:type_name -> blaze_query.LabelKeyedStringDictEntry
- 28, // 10: blaze_query.Attribute.selector_list:type_name -> blaze_query.Attribute.SelectorList
- 12, // 11: blaze_query.Rule.attribute:type_name -> blaze_query.Attribute
- 13, // 12: blaze_query.RuleSummary.rule:type_name -> blaze_query.Rule
- 13, // 13: blaze_query.RuleSummary.dependency:type_name -> blaze_query.Rule
- 5, // 14: blaze_query.SourceFile.license:type_name -> blaze_query.License
- 3, // 15: blaze_query.Target.type:type_name -> blaze_query.Target.Discriminator
- 13, // 16: blaze_query.Target.rule:type_name -> blaze_query.Rule
- 17, // 17: blaze_query.Target.source_file:type_name -> blaze_query.SourceFile
- 18, // 18: blaze_query.Target.generated_file:type_name -> blaze_query.GeneratedFile
- 15, // 19: blaze_query.Target.package_group:type_name -> blaze_query.PackageGroup
- 16, // 20: blaze_query.Target.environment_group:type_name -> blaze_query.EnvironmentGroup
- 19, // 21: blaze_query.QueryResult.target:type_name -> blaze_query.Target
- 4, // 22: blaze_query.AllowedRuleClassInfo.policy:type_name -> blaze_query.AllowedRuleClassInfo.AllowedRuleClasses
- 1, // 23: blaze_query.AttributeDefinition.type:type_name -> blaze_query.Attribute.Discriminator
- 21, // 24: blaze_query.AttributeDefinition.allowed_rule_classes:type_name -> blaze_query.AllowedRuleClassInfo
- 23, // 25: blaze_query.AttributeDefinition.default:type_name -> blaze_query.AttributeValue
- 23, // 26: blaze_query.AttributeValue.list:type_name -> blaze_query.AttributeValue
- 29, // 27: blaze_query.AttributeValue.dict:type_name -> blaze_query.AttributeValue.DictEntry
- 22, // 28: blaze_query.RuleDefinition.attribute:type_name -> blaze_query.AttributeDefinition
- 24, // 29: blaze_query.BuildLanguage.rule:type_name -> blaze_query.RuleDefinition
- 2, // 30: blaze_query.Attribute.SelectorEntry.tristate_value:type_name -> blaze_query.Attribute.Tristate
- 5, // 31: blaze_query.Attribute.SelectorEntry.license:type_name -> blaze_query.License
- 6, // 32: blaze_query.Attribute.SelectorEntry.string_dict_value:type_name -> blaze_query.StringDictEntry
- 11, // 33: blaze_query.Attribute.SelectorEntry.fileset_list_value:type_name -> blaze_query.FilesetEntry
- 8, // 34: blaze_query.Attribute.SelectorEntry.label_list_dict_value:type_name -> blaze_query.LabelListDictEntry
- 10, // 35: blaze_query.Attribute.SelectorEntry.string_list_dict_value:type_name -> blaze_query.StringListDictEntry
- 7, // 36: blaze_query.Attribute.SelectorEntry.label_dict_unary_value:type_name -> blaze_query.LabelDictUnaryEntry
- 9, // 37: blaze_query.Attribute.SelectorEntry.label_keyed_string_dict_value:type_name -> blaze_query.LabelKeyedStringDictEntry
- 26, // 38: blaze_query.Attribute.Selector.entries:type_name -> blaze_query.Attribute.SelectorEntry
- 1, // 39: blaze_query.Attribute.SelectorList.type:type_name -> blaze_query.Attribute.Discriminator
- 27, // 40: blaze_query.Attribute.SelectorList.elements:type_name -> blaze_query.Attribute.Selector
- 23, // 41: blaze_query.AttributeValue.DictEntry.value:type_name -> blaze_query.AttributeValue
- 42, // [42:42] is the sub-list for method output_type
- 42, // [42:42] is the sub-list for method input_type
- 42, // [42:42] is the sub-list for extension type_name
- 42, // [42:42] is the sub-list for extension extendee
- 0, // [0:42] is the sub-list for field type_name
-}
-
-func init() { file_gitops_blaze_query_build_proto_init() }
-func file_gitops_blaze_query_build_proto_init() {
- if File_gitops_blaze_query_build_proto != nil {
- return
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: unsafe.Slice(unsafe.StringData(file_gitops_blaze_query_build_proto_rawDesc), len(file_gitops_blaze_query_build_proto_rawDesc)),
- NumEnums: 5,
- NumMessages: 25,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_gitops_blaze_query_build_proto_goTypes,
- DependencyIndexes: file_gitops_blaze_query_build_proto_depIdxs,
- EnumInfos: file_gitops_blaze_query_build_proto_enumTypes,
- MessageInfos: file_gitops_blaze_query_build_proto_msgTypes,
- }.Build()
- File_gitops_blaze_query_build_proto = out.File
- file_gitops_blaze_query_build_proto_goTypes = nil
- file_gitops_blaze_query_build_proto_depIdxs = nil
-}
diff --git a/gitops/exec/exec.go b/gitops/exec/exec.go
index 3be02e50..087589b7 100644
--- a/gitops/exec/exec.go
+++ b/gitops/exec/exec.go
@@ -12,9 +12,11 @@ governing permissions and limitations under the License.
package exec
import (
+ "context"
"log"
"os/exec"
"strings"
+ "time"
)
// Ex is a shortcut for executing the command in specified dir
@@ -29,6 +31,25 @@ func Ex(dir, name string, arg ...string) (output string, err error) {
return string(b), err
}
+// ExWithTimeout executes a command in a specified directory with a given timeout.
+func ExWithTimeout(timeout time.Duration, dir, name string, arg ...string) (output string, err error) {
+ log.Println("executing:", name, strings.Join(arg, " "))
+ var cmd *exec.Cmd
+ if timeout > 0 {
+ ctx, cancel := context.WithTimeout(context.Background(), timeout)
+ defer cancel()
+ cmd = exec.CommandContext(ctx, name, arg...)
+ } else {
+ cmd = exec.Command(name, arg...)
+ }
+ if dir != "" {
+ cmd.Dir = dir
+ }
+ b, err := cmd.CombinedOutput()
+ log.Printf("%s", string(b))
+ return string(b), err
+}
+
// Mustex executes the command name arg... in directory dir
// it will exit with fatal error if execution was not successful
func Mustex(dir, name string, arg ...string) string {
@@ -37,5 +58,14 @@ func Mustex(dir, name string, arg ...string) string {
log.Fatalf("ERROR: %s", err)
}
return ret
+}
+// MustexWithTimeout executes the command name arg... in directory dir with a timeout.
+// it will exit with fatal error if execution was not successful.
+func MustexWithTimeout(timeout time.Duration, dir, name string, arg ...string) string {
+ ret, err := ExWithTimeout(timeout, dir, name, arg...)
+ if err != nil {
+ log.Fatalf("ERROR: %s", err)
+ }
+ return ret
}
diff --git a/gitops/git/BUILD.bazel b/gitops/git/BUILD.bazel
index 63cd59f6..2d495ba6 100644
--- a/gitops/git/BUILD.bazel
+++ b/gitops/git/BUILD.bazel
@@ -8,7 +8,7 @@
# OF ANY KIND, either express or implied. See the License for the specific language
# governing permissions and limitations under the License.
-load("@rules_go//go:def.bzl", "go_library")
+load("@rules_go//go:def.bzl", "go_library", "go_test")
licenses(["notice"]) # Apache 2.0
@@ -28,3 +28,13 @@ alias(
actual = ":git",
visibility = ["//visibility:public"],
)
+
+go_test(
+ name = "git_test",
+ srcs = ["git_test.go"],
+ embed = [":git"],
+ deps = [
+ "//gitops/commitmsg",
+ "//gitops/exec",
+ ],
+)
diff --git a/gitops/git/git.go b/gitops/git/git.go
index dae4b9c3..c29b6c3b 100644
--- a/gitops/git/git.go
+++ b/gitops/git/git.go
@@ -13,16 +13,21 @@ package git
import (
"bufio"
+ "context"
+ "flag"
"fmt"
"log"
"os"
oe "os/exec"
"path/filepath"
"strings"
+ "time"
"github.com/fasterci/rules_gitops/gitops/exec"
)
+var Timeout = flag.Duration("git_timeout", 5*time.Minute, "Timeout for git operations")
+
// Clone clones a repository. Pass the full repository name, such as
// "https://aleksey.pesternikov@bitbucket.tubemogul.info/scm/tm/repo.git" as the repo.
// Cloned directory will be clean of local changes with primaryBranch branch checked out.
@@ -39,16 +44,16 @@ func Clone(repo, dir, mirrorDir, primaryBranch, gitopsPath string) (*Repo, error
args = append(args, "--reference", mirrorDir)
}
args = append(args, repo, dir)
- exec.Mustex("", "git", args...)
+ exec.MustexWithTimeout(*Timeout, "", "git", args...)
// Enable sparse-checkout when restricting to a subdir
if !isRootPath(gitopsPath) {
- exec.Mustex(dir, "git", "config", "--local", "core.sparsecheckout", "true")
+ exec.MustexWithTimeout(*Timeout, dir, "git", "config", "--local", "core.sparsecheckout", "true")
genPath := fmt.Sprintf("%s/\n", gitopsPath)
if err := os.WriteFile(filepath.Join(dir, ".git/info/sparse-checkout"), []byte(genPath), 0644); err != nil {
return nil, fmt.Errorf("unable to create .git/info/sparse-checkout: %w", err)
}
}
- exec.Mustex(dir, "git", "checkout", primaryBranch)
+ exec.MustexWithTimeout(*Timeout, dir, "git", "checkout", primaryBranch)
return &Repo{
Dir: dir,
@@ -69,10 +74,10 @@ func CloneOrCheckout(repo, dir, mirrorDir, primaryBranch, gitopsPath, branchPref
args = append(args, "--reference", mirrorDir)
}
args = append(args, repo, dir)
- exec.Mustex("", "git", args...)
+ exec.MustexWithTimeout(*Timeout, "", "git", args...)
// Enable sparse-checkout when restricting to a subdir
if !isRootPath(gitopsPath) {
- exec.Mustex(dir, "git", "config", "--local", "core.sparsecheckout", "true")
+ exec.MustexWithTimeout(*Timeout, dir, "git", "config", "--local", "core.sparsecheckout", "true")
genPath := fmt.Sprintf("%s/\n", gitopsPath)
if err := os.WriteFile(filepath.Join(dir, ".git/info/sparse-checkout"), []byte(genPath), 0644); err != nil {
return nil, fmt.Errorf("unable to create .git/info/sparse-checkout: %w", err)
@@ -80,13 +85,13 @@ func CloneOrCheckout(repo, dir, mirrorDir, primaryBranch, gitopsPath, branchPref
}
} else {
//existing repo
- exec.Mustex(dir, "git", "remote", "set-url", "origin", repo)
- exec.Mustex(dir, "git", "reset", "--hard")
+ exec.MustexWithTimeout(*Timeout, dir, "git", "remote", "set-url", "origin", repo)
+ exec.MustexWithTimeout(*Timeout, dir, "git", "reset", "--hard")
}
- exec.Mustex(dir, "git", "checkout", "-f", primaryBranch)
+ exec.MustexWithTimeout(*Timeout, dir, "git", "checkout", "-f", primaryBranch)
if !newRepo {
- exec.Mustex(dir, "git", "fetch", "origin", "--prune")
- exec.Mustex(dir, "git", "reset", "--hard", "origin/"+primaryBranch)
+ exec.MustexWithTimeout(*Timeout, dir, "git", "fetch", "origin", "--prune")
+ exec.MustexWithTimeout(*Timeout, dir, "git", "reset", "--hard", "origin/"+primaryBranch)
DeleteLocalBranches(dir, branchPrefix)
}
@@ -98,7 +103,7 @@ func CloneOrCheckout(repo, dir, mirrorDir, primaryBranch, gitopsPath, branchPref
// DeleteLocalBranches removes local branches by prefix.
func DeleteLocalBranches(dir, branchprefix string) {
- branches := exec.Mustex(dir, "git", "for-each-ref", "--format", "%(refname)", "refs/heads/"+branchprefix)
+ branches := exec.MustexWithTimeout(*Timeout, dir, "git", "for-each-ref", "--format", "%(refname)", "refs/heads/"+branchprefix)
// returned format:
// refs/heads/deploy/dev
// refs/heads/deploy/prod
@@ -108,7 +113,7 @@ func DeleteLocalBranches(dir, branchprefix string) {
ref := strings.TrimSpace(line)
if strings.HasPrefix(ref, "refs/heads/"+branchprefix) {
ref = strings.TrimPrefix(ref, "refs/heads/")
- exec.Mustex(dir, "git", "branch", "-D", ref)
+ exec.MustexWithTimeout(*Timeout, dir, "git", "branch", "-D", ref)
}
}
@@ -131,17 +136,17 @@ func (r *Repo) Clean() error {
// Fetch branches from the remote repository based on a specified pattern.
// The branches will be be added to the list tracked remote branches ready to be pushed.
func (r *Repo) Fetch(pattern string) {
- exec.Mustex(r.Dir, "git", "remote", "set-branches", "--add", r.RemoteName, pattern)
- exec.Mustex(r.Dir, "git", "fetch", "--force", "--filter=blob:none", "--no-tags", r.RemoteName)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "remote", "set-branches", "--add", r.RemoteName, pattern)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "fetch", "--force", "--filter=blob:none", "--no-tags", r.RemoteName)
}
// SwitchToBranch switch the repo to specified branch and checkout primaryBranch files over it.
// if branch does not exist it will be created
func (r *Repo) SwitchToBranch(branch, primaryBranch string) (new bool) {
- if _, err := exec.Ex(r.Dir, "git", "checkout", branch); err != nil {
+ if _, err := exec.ExWithTimeout(*Timeout, r.Dir, "git", "checkout", branch); err != nil {
// error checking out, create new
- exec.Mustex(r.Dir, "git", "branch", branch, primaryBranch)
- exec.Mustex(r.Dir, "git", "checkout", branch)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "branch", branch, primaryBranch)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "checkout", branch)
return true
}
return false
@@ -149,14 +154,14 @@ func (r *Repo) SwitchToBranch(branch, primaryBranch string) (new bool) {
// RecreateBranch discards a branch content and reset it from primaryBranch.
func (r *Repo) RecreateBranch(branch, primaryBranch string) {
- exec.Mustex(r.Dir, "git", "checkout", primaryBranch)
- exec.Mustex(r.Dir, "git", "branch", "-f", branch, primaryBranch)
- exec.Mustex(r.Dir, "git", "checkout", branch)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "checkout", primaryBranch)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "branch", "-f", branch, primaryBranch)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "checkout", branch)
}
// GetLastCommitMessage fetches the commit message from the most recent change of the branch
func (r *Repo) GetLastCommitMessage() (msg string) {
- msg, err := exec.Ex(r.Dir, "git", "log", "-1", "--pretty=%B")
+ msg, err := exec.ExWithTimeout(*Timeout, r.Dir, "git", "log", "-1", "--pretty=%B")
if err != nil {
return ""
}
@@ -166,25 +171,25 @@ func (r *Repo) GetLastCommitMessage() (msg string) {
// Commit all changes to the current branch. returns true if there were any changes
func (r *Repo) Commit(message, gitopsPath string) bool {
if isRootPath(gitopsPath) {
- exec.Mustex(r.Dir, "git", "add", ".")
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "add", ".")
} else {
- exec.Mustex(r.Dir, "git", "add", gitopsPath)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "add", gitopsPath)
}
if r.IsClean() {
return false
}
- exec.Mustex(r.Dir, "git", "commit", "-a", "-m", message)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "commit", "-a", "-m", message)
return true
}
// RestoreFile restores the specified file in the repository to its original state
func (r *Repo) RestoreFile(fileName string) {
- exec.Mustex(r.Dir, "git", "checkout", "--", fileName)
+ exec.MustexWithTimeout(*Timeout, r.Dir, "git", "checkout", "--", fileName)
}
// GetChangedFiles returns a list of files that have been changed in the repository
func (r *Repo) GetChangedFiles() []string {
- s, err := exec.Ex(r.Dir, "git", "diff", "--name-only")
+ s, err := exec.ExWithTimeout(*Timeout, r.Dir, "git", "diff", "--name-only")
if err != nil {
log.Fatalf("ERROR: %s", err)
}
@@ -201,7 +206,14 @@ func (r *Repo) GetChangedFiles() []string {
// IsClean returns true if there is no local changes (nothing to commit)
func (r *Repo) IsClean() bool {
- cmd := oe.Command("git", "status", "--porcelain")
+ var cmd *oe.Cmd
+ if *Timeout > 0 {
+ ctx, cancel := context.WithTimeout(context.Background(), *Timeout)
+ defer cancel()
+ cmd = oe.CommandContext(ctx, "git", "status", "--porcelain")
+ } else {
+ cmd = oe.Command("git", "status", "--porcelain")
+ }
cmd.Dir = r.Dir
b, err := cmd.CombinedOutput()
if err != nil {
@@ -214,7 +226,7 @@ func (r *Repo) IsClean() bool {
// all changes should be already commited
func (r *Repo) Push(branches []string) error {
args := append([]string{"push", r.RemoteName, "--force-with-lease", "--set-upstream"}, branches...)
- _, err := exec.Ex(r.Dir, "git", args...)
+ _, err := exec.ExWithTimeout(*Timeout, r.Dir, "git", args...)
return err
}
diff --git a/gitops/git/git_test.go b/gitops/git/git_test.go
index c2c4dc7a..41e98e90 100644
--- a/gitops/git/git_test.go
+++ b/gitops/git/git_test.go
@@ -6,8 +6,10 @@ import (
"path/filepath"
"strings"
"testing"
+ "time"
"github.com/fasterci/rules_gitops/gitops/commitmsg"
+ "github.com/fasterci/rules_gitops/gitops/exec"
)
func mustRun(t *testing.T, dir string, name string, args ...string) string {
@@ -26,7 +28,14 @@ func createMockRemote(t *testing.T, files map[string]string) string {
t.Fatalf("failed to create temp remote dir: %v", err)
}
- mustRun(t, remoteDir, "git", "init", "--initial-branch=master")
+ // Try using --initial-branch=master (Git 2.28.0+)
+ initCmd := oe.Command("git", "init", "--initial-branch=master")
+ initCmd.Dir = remoteDir
+ if _, err := initCmd.CombinedOutput(); err != nil {
+ // Fallback for older Git versions
+ mustRun(t, remoteDir, "git", "init")
+ mustRun(t, remoteDir, "git", "symbolic-ref", "HEAD", "refs/heads/master")
+ }
mustRun(t, remoteDir, "git", "config", "user.name", "Test User")
mustRun(t, remoteDir, "git", "config", "user.email", "test@example.com")
@@ -468,7 +477,8 @@ func TestPushForceWithLeaseOnDeletedBranch(t *testing.T) {
// Scenario 1: With pushRetryMax = 0, the push should fail.
t.Run("retry_max_0_fails", func(t *testing.T) {
remoteDir := createMockRemote(t, map[string]string{
- "readme.md": "documentation",
+ "readme.md": "documentation",
+ "cloud/app.yaml": "image: app:v0",
})
defer os.RemoveAll(remoteDir)
@@ -494,7 +504,8 @@ func TestPushForceWithLeaseOnDeletedBranch(t *testing.T) {
// Scenario 2: With pushRetryMax = 1, the push should succeed on the second attempt.
t.Run("retry_max_1_succeeds", func(t *testing.T) {
remoteDir := createMockRemote(t, map[string]string{
- "readme.md": "documentation",
+ "readme.md": "documentation",
+ "cloud/app.yaml": "image: app:v0",
})
defer os.RemoveAll(remoteDir)
@@ -533,4 +544,51 @@ func TestPushForceWithLeaseOnDeletedBranch(t *testing.T) {
})
}
+func TestGitTimeout(t *testing.T) {
+ // 1. Verify exec.ExWithTimeout fails with extremely short timeout
+ _, err := exec.ExWithTimeout(1*time.Microsecond, "", "git", "version")
+ if err == nil {
+ t.Fatal("expected command to fail due to timeout, but got no error")
+ }
+ if !strings.Contains(err.Error(), "killed") && !strings.Contains(err.Error(), "deadline exceeded") && !strings.Contains(err.Error(), "canceled") {
+ t.Errorf("expected timeout/killed/deadline exceeded error, got: %v", err)
+ }
+
+ // 2. Verify git.Repo.Push fails and returns error when Timeout is exceeded
+ files := map[string]string{
+ "cloud/app.yaml": "image: app:v1",
+ }
+ remoteDir := createMockRemote(t, files)
+ defer os.RemoveAll(remoteDir)
+
+ localDir, err := os.MkdirTemp("", "push-timeout-*")
+ if err != nil {
+ t.Fatalf("failed to create temp clone dir: %v", err)
+ }
+ defer os.RemoveAll(localDir)
+
+ repo, err := Clone(remoteDir, localDir, "", "master", "cloud")
+ if err != nil {
+ t.Fatalf("failed to clone: %v", err)
+ }
+ configureGitUser(t, localDir)
+
+ // Save original timeout and restore it afterwards
+ origTimeout := *Timeout
+ defer func() {
+ *Timeout = origTimeout
+ }()
+
+ // Set timeout to 1 microsecond - guaranteed to time out on push
+ *Timeout = 1 * time.Microsecond
+
+ err = repo.Push([]string{"master"})
+ if err == nil {
+ t.Fatal("expected push to fail due to timeout, but it succeeded")
+ }
+ if !strings.Contains(err.Error(), "killed") && !strings.Contains(err.Error(), "deadline exceeded") && !strings.Contains(err.Error(), "canceled") {
+ t.Errorf("expected push to fail with timeout/killed/deadline exceeded error, got: %v", err)
+ }
+}
+
diff --git a/gitops/prer/BUILD.bazel b/gitops/prer/BUILD.bazel
index 056f4f55..55b3b510 100644
--- a/gitops/prer/BUILD.bazel
+++ b/gitops/prer/BUILD.bazel
@@ -18,15 +18,12 @@ go_library(
importpath = "github.com/fasterci/rules_gitops/gitops/prer",
visibility = ["//visibility:private"],
deps = [
- "//gitops/analysis",
- "//gitops/bazel",
"//gitops/commitmsg",
"//gitops/exec",
"//gitops/git",
"//gitops/git/bitbucket",
"//gitops/git/github",
"//gitops/git/gitlab",
- "@org_golang_google_protobuf//proto",
"@org_golang_x_sync//errgroup",
],
)
diff --git a/gitops/prer/create_gitops_prs.go b/gitops/prer/create_gitops_prs.go
index 19daaedb..4aa1a7dd 100644
--- a/gitops/prer/create_gitops_prs.go
+++ b/gitops/prer/create_gitops_prs.go
@@ -12,17 +12,17 @@ governing permissions and limitations under the License.
package main
import (
+ "encoding/json"
"flag"
"fmt"
"io"
"log"
"os"
oe "os/exec"
+ "path/filepath"
"strings"
"sync"
- "github.com/fasterci/rules_gitops/gitops/analysis"
- "github.com/fasterci/rules_gitops/gitops/bazel"
"github.com/fasterci/rules_gitops/gitops/commitmsg"
"github.com/fasterci/rules_gitops/gitops/exec"
"github.com/fasterci/rules_gitops/gitops/git"
@@ -30,7 +30,6 @@ import (
"github.com/fasterci/rules_gitops/gitops/git/github"
"github.com/fasterci/rules_gitops/gitops/git/gitlab"
"golang.org/x/sync/errgroup"
- "google.golang.org/protobuf/proto"
)
func init() {
@@ -73,6 +72,7 @@ var (
gitopsRuleName SliceFlags
gitopsRuleAttr SliceFlags
dryRun = flag.Bool("dry_run", false, "Do not create PRs, just print what would be done")
+ dryPush = flag.Bool("dry_push", false, "Do not push, just print what would be done")
resolvedPushes SliceFlags
resolvedBinaries SliceFlags
pushRetryMax = flag.Int("push_retry_max", 2, "maximum number of push retries on race conditions")
@@ -88,9 +88,26 @@ func init() {
flag.StringVar(&gitopsdir, "gitopsdir", "", "do not use temporary directory for gitops, use this directory instead")
}
-func bazelQuery(query string) *analysis.CqueryResult {
+type GitopsTarget struct {
+ Target string `json:"target"`
+ Binary string `json:"executable"`
+ DeploymentBranch string `json:"deployment_branch"`
+}
+
+func cleanTarget(target string) string {
+ if strings.HasPrefix(target, "@@//") {
+ return target[2:]
+ }
+ if strings.HasPrefix(target, "@//") {
+ return target[1:]
+ }
+ return target
+}
+
+func bazelQueryTargets(query string) []GitopsTarget {
log.Println("Executing bazel cquery ", query)
- cmd := oe.Command(*bazelCmd, "cquery", query, "--output=proto")
+ starlarkExpr := `json.encode(struct(deployment_branch = getattr(([providers(target)[p] for p in providers(target) if hasattr(providers(target)[p], 'deployment_branch')] + [None])[0], 'deployment_branch', ''), target = str(target.label), executable = target.files_to_run.executable.path if target.files_to_run.executable else ''))`
+ cmd := oe.Command(*bazelCmd, "cquery", "--implicit_deps=false", query, "--output=starlark", "--starlark:expr="+starlarkExpr)
stderr, err := cmd.StderrPipe()
if err != nil {
log.Fatal(err)
@@ -98,15 +115,47 @@ func bazelQuery(query string) *analysis.CqueryResult {
go func() {
io.Copy(os.Stderr, stderr)
}()
- buildproto, err := cmd.Output()
+ out, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
- qr := &analysis.CqueryResult{}
- if err := proto.Unmarshal(buildproto, qr); err != nil {
+ var targets []GitopsTarget
+ for _, line := range strings.Split(string(out), "\n") {
+ line = strings.TrimSpace(line)
+ if line == "" {
+ continue
+ }
+ var gt GitopsTarget
+ if err := json.Unmarshal([]byte(line), >); err != nil {
+ log.Fatalf("failed to unmarshal JSON line %q: %v", line, err)
+ }
+ targets = append(targets, gt)
+ }
+ return targets
+}
+
+func bazelQueryPaths(query string) []string {
+ log.Println("Executing bazel cquery ", query)
+ cmd := oe.Command(*bazelCmd, "cquery", "--implicit_deps=false", query, "--output=starlark", `--starlark:expr=target.files.to_list()[0].path if target.files.to_list() else ''`)
+ stderr, err := cmd.StderrPipe()
+ if err != nil {
log.Fatal(err)
}
- return qr
+ go func() {
+ io.Copy(os.Stderr, stderr)
+ }()
+ out, err := cmd.Output()
+ if err != nil {
+ log.Fatal(err)
+ }
+ var paths []string
+ for _, line := range strings.Split(string(out), "\n") {
+ line = strings.TrimSpace(line)
+ if line != "" {
+ paths = append(paths, line)
+ }
+ }
+ return paths
}
func main() {
@@ -132,27 +181,28 @@ func main() {
log.Fatalf("unknown vcs host: %s", *gitHost)
}
- releaseTrains := make(map[string][]string)
+ releaseTrains := make(map[string][]GitopsTarget)
if len(resolvedBinaries) > 0 {
for _, rb := range resolvedBinaries {
releaseTrain, bin, found := strings.Cut(rb, ":")
if !found {
log.Fatalf("resolved_binaries: invalid resolved_binary format: %s", rb)
}
- releaseTrains[releaseTrain] = append(releaseTrains[releaseTrain], bin)
+ releaseTrains[releaseTrain] = append(releaseTrains[releaseTrain], GitopsTarget{Target: bin, Binary: bin})
}
} else {
-
q := fmt.Sprintf("attr(deployment_branch, \".+\", attr(release_branch_prefix, \"%s\", kind(gitops, %s)))", *releaseBranch, *target)
- qr := bazelQuery(q)
- for _, t := range qr.Results {
- var releaseTrain string
- for _, a := range t.Target.GetRule().GetAttribute() {
- if a.GetName() == "deployment_branch" {
- releaseTrain = a.GetStringValue()
- }
+ results := bazelQueryTargets(q)
+ if *dryRun {
+ log.Printf("Found Targets: %v", results)
+ }
+ for _, t := range results {
+ targetName := cleanTarget(t.Target)
+ if t.DeploymentBranch != "" {
+ releaseTrains[t.DeploymentBranch] = append(releaseTrains[t.DeploymentBranch], GitopsTarget{Target: targetName, Binary: t.Binary, DeploymentBranch: t.DeploymentBranch})
+ } else {
+ log.Printf("No deployment branch for %s, Skipping", t.Target)
}
- releaseTrains[releaseTrain] = append(releaseTrains[releaseTrain], t.Target.Rule.GetName())
}
if (len(releaseTrains)) == 0 {
log.Println("No matching targets found")
@@ -163,7 +213,7 @@ func main() {
for train, targets := range releaseTrains {
fmt.Println(train)
for _, t := range targets {
- fmt.Println(" ", t)
+ fmt.Println(" ", t.Target)
}
}
@@ -198,7 +248,7 @@ func main() {
msg := workdir.GetLastCommitMessage()
targetset := make(map[string]bool)
for _, t := range targets {
- targetset[t] = true
+ targetset[t.Target] = true
}
oldtargets := commitmsg.ExtractTargets(msg)
for _, t := range oldtargets {
@@ -209,14 +259,15 @@ func main() {
}
}
}
+ var targetNames []string
for _, target := range targets {
- log.Println("train", train, "target", target)
- bin := bazel.TargetToExecutable(target)
- exec.Mustex("", bin, "--nopush", "--deployment_root", gitopsdir)
+ log.Println("train", train, "target", target.Target)
+ exec.Mustex("", target.Binary, "--nopush", "--deployment_root", gitopsdir)
+ targetNames = append(targetNames, target.Target)
}
- if workdir.Commit(fmt.Sprintf("GitOps for release branch %s from %s commit %s\n%s", *releaseBranch, *branchName, *gitCommit, commitmsg.Generate(targets)), *gitopsPath) {
+ if workdir.Commit(fmt.Sprintf("GitOps for release branch %s from %s commit %s\n%s", *releaseBranch, *branchName, *gitCommit, commitmsg.Generate(targetNames)), *gitopsPath) {
log.Println("branch", branch, "has changes, push is required")
- updatedGitopsTargets = append(updatedGitopsTargets, targets...)
+ updatedGitopsTargets = append(updatedGitopsTargets, targetNames...)
updatedGitopsBranches = append(updatedGitopsBranches, branch)
}
}
@@ -261,42 +312,49 @@ func main() {
}
query := strings.Join(qv, " union ")
- qr := bazelQuery(query)
- targetsCh := make(chan string)
+ paths := bazelQueryPaths(query)
+ pathsCh := make(chan string)
var wg sync.WaitGroup
wg.Add(*pushParallelism)
for i := 0; i < *pushParallelism; i++ {
go func() {
defer wg.Done()
- for target := range targetsCh {
- bin := bazel.TargetToExecutable(target)
- fi, err := os.Stat(bin)
- if err == nil && fi.Mode().IsRegular() {
- exec.Mustex("", bin)
- } else {
- log.Println("target", target, "is not a file, running as a command")
-
- args := []string{"run"}
-
- if len(bazelFlags) > 0 {
- for _, bazelFlag := range bazelFlags {
- bazelFlagArgs := strings.Split(bazelFlag, " ")
-
- args = append(args, bazelFlagArgs...)
+ for path := range pathsCh {
+ executed := false
+ absPath, err := filepath.Abs(path)
+ if err == nil {
+ runfilesDir := absPath + ".runfiles"
+ if fi, err := os.Stat(runfilesDir); err == nil && fi.IsDir() {
+ workspaceDir := filepath.Join(runfilesDir, "_main")
+ if fi, err := os.Stat(workspaceDir); err != nil || !fi.IsDir() {
+ workspaceDir = filepath.Join(runfilesDir, "rules_gitops")
+ }
+ if fi, err := os.Stat(workspaceDir); err == nil && fi.IsDir() {
+ log.Printf("Executing %s in %s", absPath, workspaceDir)
+ if !*dryPush {
+ exec.Mustex(workspaceDir, absPath)
+ } else {
+ log.Printf("Skipping execution of %s in %s (dry run)", absPath, workspaceDir)
+ }
+ executed = true
}
}
-
- args = append(args, target)
-
- exec.Mustex("", *bazelCmd, args...)
+ }
+ if !executed {
+ fi, err := os.Stat(path)
+ if err == nil && fi.Mode().IsRegular() {
+ exec.Mustex("", path)
+ } else {
+ log.Fatalf("push binary path %s is not a regular file, cannot run it", path)
+ }
}
}
}()
}
- for _, t := range qr.Results {
- targetsCh <- t.Target.Rule.GetName()
+ for _, p := range paths {
+ pathsCh <- p
}
- close(targetsCh)
+ close(pathsCh)
wg.Wait()
}
diff --git a/gitops/prer/prer_test.sh b/gitops/prer/prer_test.sh
new file mode 100755
index 00000000..7d48be8a
--- /dev/null
+++ b/gitops/prer/prer_test.sh
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+set -e
+set -x
+
+# Make sure we are running from the repository root
+WORKSPACE_ROOT=$(git rev-parse --show-toplevel)
+cd "$WORKSPACE_ROOT"
+echo "Workspace root is $WORKSPACE_ROOT"
+
+# Build the create_gitops_prs tool first to make sure it's up to date
+bazel build //gitops/prer:create_gitops_prs
+
+# Find the built binary
+if [ -x "bazel-bin/gitops/prer/create_gitops_prs_/create_gitops_prs" ]; then
+ PRER_BIN="bazel-bin/gitops/prer/create_gitops_prs_/create_gitops_prs"
+elif [ -x "bazel-bin/gitops/prer/create_gitops_prs" ]; then
+ PRER_BIN="bazel-bin/gitops/prer/create_gitops_prs"
+else
+ echo "create_gitops_prs binary not found or not executable"
+ exit 1
+fi
+
+# Capture output
+OUTPUT_FILE=$(mktemp)
+trap 'rm -f "$OUTPUT_FILE"' EXIT
+
+echo "Running create_gitops_prs in dry run mode..."
+"./$PRER_BIN" \
+ --workspace="$WORKSPACE_ROOT" \
+ --git_repo="$WORKSPACE_ROOT" \
+ --release_branch="gitops_test_release_branch" \
+ --gitops_pr_into="main" \
+ --target="//gitops/testing/..." \
+ --dry_run \
+ --dry_push > "$OUTPUT_FILE" 2>&1
+
+cat "$OUTPUT_FILE"
+
+# Define expected gitops targets
+EXPECTED_TARGETS=(
+ "//gitops/testing:external_image_label.gitops"
+ "//gitops/testing:label.gitops"
+ "//gitops/testing:legacy_alias.gitops"
+ "//gitops/testing:legacy_label.gitops"
+ "//gitops/testing:legacy_renamed_alias.gitops"
+)
+
+# Define expected push binaries (relative paths under workspace bazel-out/.../bin)
+EXPECTED_PUSH_BINARIES=(
+ "gitops/testing/external_image_docker_io.push"
+ "gitops/testing/push_skylib_kustomize_tests_image_docker_io.push.sh"
+ "gitops/testing/pushed_image_docker_io.push"
+ "gitops/testing/push_pushed_image.sh"
+)
+
+echo "Verifying gitops targets..."
+for target in "${EXPECTED_TARGETS[@]}"; do
+ if ! grep -q "target $target" "$OUTPUT_FILE"; then
+ echo "ERROR: Expected gitops target '$target' not found in output" >&2
+ exit 1
+ fi
+done
+
+echo "Verifying push binaries..."
+for push_bin in "${EXPECTED_PUSH_BINARIES[@]}"; do
+ escaped_workspace=$(echo "$WORKSPACE_ROOT" | sed 's/\./\\./g')
+ escaped_bin=$(echo "$push_bin" | sed 's/\./\\./g')
+ pattern="Skipping execution of $escaped_workspace/bazel-out/[^/]+/bin/$escaped_bin in "
+ if ! grep -Eq "$pattern" "$OUTPUT_FILE"; then
+ echo "ERROR: Expected push binary '$push_bin' was not executed/skipped in output" >&2
+ exit 1
+ fi
+done
+
+echo "Verification successful!"
+
diff --git a/go.mod b/go.mod
index 7d72933d..93a20bf0 100644
--- a/go.mod
+++ b/go.mod
@@ -12,7 +12,6 @@ require (
github.com/xanzy/go-gitlab v0.80.2
golang.org/x/oauth2 v0.30.0
golang.org/x/sync v0.14.0
- google.golang.org/protobuf v1.36.6
k8s.io/api v0.32.5
k8s.io/apimachinery v0.32.5
k8s.io/client-go v0.32.5
@@ -64,6 +63,7 @@ require (
golang.org/x/term v0.25.0 // indirect
golang.org/x/text v0.19.0 // indirect
golang.org/x/time v0.7.0 // indirect
+ google.golang.org/protobuf v1.36.6 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
diff --git a/starlark/BUILD.bazel b/starlark/BUILD.bazel
deleted file mode 100644
index e69de29b..00000000
diff --git a/starlark/proto.bzl b/starlark/proto.bzl
deleted file mode 100644
index 514d1cd7..00000000
--- a/starlark/proto.bzl
+++ /dev/null
@@ -1,85 +0,0 @@
-"""
-Rules for generating Go source files from proto files.
-
-based on https://github.com/bazelbuild/rules_go/issues/2111#issuecomment-1355927231
-"""
-
-load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
-load("@rules_go//go:def.bzl", "GoInfo")
-load("@rules_go//proto:compiler.bzl", "GoProtoCompiler")
-
-def _output_go_library_srcs_impl(ctx):
- srcs_of_library = []
- importpath = ""
- for src in ctx.attr.deps:
- lib = src[GoInfo]
- if importpath and lib.importpath != importpath:
- fail(
- "importpath of all deps must match, got {} and {}",
- importpath,
- lib.importpath,
- )
- importpath = lib.importpath
- srcs_of_library.extend(lib.srcs)
-
- if len(srcs_of_library) != 1:
- fail("expected exactly one src for library, got {}", len(srcs_of_library))
-
- if not ctx.attr.out:
- fail("must specify out for now")
-
- # Run a command to copy the src file to the out location.
- _copy(ctx, srcs_of_library[0], ctx.outputs.out)
-
-def _copy(ctx, in_file, out_file):
- # based on https://github.com/bazelbuild/examples/blob/main/rules/shell_command/rules.bzl
- ctx.actions.run_shell(
- # Input files visible to the action.
- inputs = [in_file],
- # Output files that must be created by the action.
- outputs = [out_file],
- progress_message = "Copying {} to {}".format(in_file.path, out_file.path),
- arguments = [in_file.path, out_file.path],
- command = """cp "$1" "$2" """,
- )
-
-output_go_library_srcs = rule(
- implementation = _output_go_library_srcs_impl,
- attrs = {
- "compiler": attr.label(
- providers = [GoProtoCompiler],
- default = "@rules_go//proto:go_proto",
- ),
- "deps": attr.label_list(
- providers = [GoInfo],
- aspects = [],
- ),
- "out": attr.output(
- doc = ("Name of output .go file. If not specified, the file name " +
- "of the generated source file will be used."),
- mandatory = False,
- ),
- "_go_context_data": attr.label(
- default = "@rules_go//:go_context_data",
- ),
- },
- toolchains = ["@rules_go//go:toolchain"],
-)
-
-def write_go_proto_srcs(name, go_proto_library, src, visibility = None):
- generated_src = "__generated_" + src
- output_go_library_srcs(
- name = name + "_generated",
- deps = [go_proto_library],
- out = generated_src,
- visibility = ["//visibility:private"],
- )
-
- write_source_files(
- name = name,
- files = {
- src: generated_src,
- },
- diff_test = True,
- visibility = visibility,
- )