Completely rebuild the tree generation logic.

This commit is contained in:
2023-02-21 10:29:42 +00:00
parent e39c93e9ea
commit e037788677
10 changed files with 448 additions and 110 deletions
+7 -5
View File
@@ -24,10 +24,8 @@ import (
type ManagedJobDependencies struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default=""
Group string `json:"group"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=""
Job string `json:"job"`
Name string `json:"name"`
Status string `json:"status"`
}
type ManagedJobDefinition struct {
@@ -48,8 +46,9 @@ type ManagedJobDefinition struct {
// +kubebuilder:validation:Optional
// +kubebuilder:default=pending
Status string `json:"status"`
// +kubebuilder:validation:Optional
// +optional
Dependencies ManagedJobDependencies `json:"dependencies"`
Dependencies []*ManagedJobDependencies `json:"dependencies"`
// +optional
CompiledParams ManagedJobParameters `json:"compiledParams"`
}
@@ -68,6 +67,9 @@ type ManagedJobGroup struct {
// +kubebuilder:validation:Optional
Params ManagedJobParameters `json:"params"`
// +kubebuilder:validation:Optional
// +optional
Dependencies []*ManagedJobDependencies `json:"dependencies"`
// +kubebuilder:validation:Optional
// +kubebuilder:default=pending
Status string `json:"status"`
}
+22 -1
View File
@@ -61,7 +61,17 @@ func (in *ManagedJobDefinition) DeepCopyInto(out *ManagedJobDefinition) {
copy(*out, *in)
}
in.Params.DeepCopyInto(&out.Params)
out.Dependencies = in.Dependencies
if in.Dependencies != nil {
in, out := &in.Dependencies, &out.Dependencies
*out = make([]*ManagedJobDependencies, len(*in))
for i := range *in {
if (*in)[i] != nil {
in, out := &(*in)[i], &(*out)[i]
*out = new(ManagedJobDependencies)
**out = **in
}
}
}
in.CompiledParams.DeepCopyInto(&out.CompiledParams)
}
@@ -105,6 +115,17 @@ func (in *ManagedJobGroup) DeepCopyInto(out *ManagedJobGroup) {
}
}
in.Params.DeepCopyInto(&out.Params)
if in.Dependencies != nil {
in, out := &in.Dependencies, &out.Dependencies
*out = make([]*ManagedJobDependencies, len(*in))
for i := range *in {
if (*in)[i] != nil {
in, out := &(*in)[i], &(*out)[i]
*out = new(ManagedJobDependencies)
**out = **in
}
}
}
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedJobGroup.