Skip to content

Commit 430a891

Browse files
committed
Add ability to generate MultiNodeEnvironment CRD, client, and deepcopy
Signed-off-by: Kevin Klues <[email protected]>
1 parent f38d9e3 commit 430a891

File tree

3 files changed

+67
-2
lines changed

3 files changed

+67
-2
lines changed

Makefile

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,26 +101,87 @@ coverage: test
101101
cat $(COVERAGE_FILE) | grep -v "_mock.go" > $(COVERAGE_FILE).no-mocks
102102
go tool cover -func=$(COVERAGE_FILE).no-mocks
103103

104-
generate: generate-deepcopy fmt
104+
generate: generate-crds fmt
105105

106-
generate-deepcopy: .remove-deepcopy
106+
generate-crds: generate-deepcopy
107+
for dir in $(CLIENT_SOURCES); do \
108+
controller-gen crd:crdVersions=v1 \
109+
paths=$(CURDIR)/$${dir} \
110+
output:crd:dir=$(CURDIR)/deployments/helm/$(DRIVER_NAME)/crds; \
111+
done
112+
113+
114+
generate-deepcopy: generate-informers
107115
for dir in $(DEEPCOPY_SOURCES); do \
108116
controller-gen \
109117
object:headerFile=$(CURDIR)/hack/boilerplate.go.txt,year=$(shell date +"%Y") \
110118
paths=$(CURDIR)/$${dir}/ \
111119
output:object:dir=$(CURDIR)/$${dir}; \
112120
done
113121

122+
generate-informers: vendor generate-listers
123+
informer-gen \
124+
--go-header-file=$(CURDIR)/hack/boilerplate.go.txt \
125+
--output-package "$(MODULE)/$(PKG_BASE)/informers" \
126+
--input-dirs "$(shell for api in $(CLIENT_APIS); do echo -n "$(MODULE)/$(API_BASE)/$$api,"; done | sed 's/,$$//')" \
127+
--output-base "$(CURDIR)/pkg/tmp_informers" \
128+
--versioned-clientset-package "$(MODULE)/$(PKG_BASE)/clientset/versioned" \
129+
--listers-package "$(MODULE)/$(PKG_BASE)/listers"
130+
mkdir -p $(CURDIR)/$(PKG_BASE)
131+
mv $(CURDIR)/pkg/tmp_informers/$(MODULE)/$(PKG_BASE)/informers \
132+
$(CURDIR)/$(PKG_BASE)/informers
133+
rm -rf $(CURDIR)/pkg/tmp_informers
134+
135+
generate-listers: generate-clientset
136+
lister-gen \
137+
--go-header-file=$(CURDIR)/hack/boilerplate.go.txt \
138+
--output-package "$(MODULE)/$(PKG_BASE)/listers" \
139+
--input-dirs "$(shell for api in $(CLIENT_APIS); do echo -n "$(MODULE)/$(API_BASE)/$$api,"; done | sed 's/,$$//')" \
140+
--output-base "$(CURDIR)/pkg/tmp_listers"
141+
mkdir -p $(CURDIR)/$(PKG_BASE)
142+
mv $(CURDIR)/pkg/tmp_listers/$(MODULE)/$(PKG_BASE)/listers \
143+
$(CURDIR)/$(PKG_BASE)/listers
144+
rm -rf $(CURDIR)/pkg/tmp_listers
145+
146+
generate-clientset: .remove-informers .remove-listers .remove-clientset .remove-deepcopy .remove-crds
147+
client-gen \
148+
--go-header-file=$(CURDIR)/hack/boilerplate.go.txt \
149+
--clientset-name "versioned" \
150+
--build-tag "ignore_autogenerated" \
151+
--output-package "$(MODULE)/$(PKG_BASE)/clientset" \
152+
--input-base "$(MODULE)/$(API_BASE)" \
153+
--output-base "$(CURDIR)/pkg/tmp_clientset" \
154+
--input "$(shell echo $(CLIENT_APIS) | tr ' ' ',')" \
155+
--plural-exceptions "$(shell echo $(PLURAL_EXCEPTIONS) | tr ' ' ',')"
156+
mkdir -p $(CURDIR)/$(PKG_BASE)
157+
mv $(CURDIR)/pkg/tmp_clientset/$(MODULE)/$(PKG_BASE)/clientset \
158+
$(CURDIR)/$(PKG_BASE)/clientset
159+
rm -rf $(CURDIR)/pkg/tmp_clientset
160+
161+
.remove-crds:
162+
rm -rf $(CURDIR)/deployments/helm/$(DRIVER_NAME)/crds
163+
114164
.remove-deepcopy:
115165
for dir in $(DEEPCOPY_SOURCES); do \
116166
rm -f $(CURDIR)/$${dir}/zz_generated.deepcopy.go; \
117167
done
118168

169+
.remove-clientset:
170+
rm -rf $(CURDIR)/$(PKG_BASE)/clientset
171+
172+
.remove-listers:
173+
rm -rf $(CURDIR)/$(PKG_BASE)/listers
174+
175+
.remove-informers:
176+
rm -rf $(CURDIR)/$(PKG_BASE)/informers
177+
119178
build-image:
120179
$(DOCKER) build \
121180
--progress=plain \
122181
--build-arg GOLANG_VERSION="$(GOLANG_VERSION)" \
123182
--build-arg CLIENT_GEN_VERSION="$(CLIENT_GEN_VERSION)" \
183+
--build-arg LISTER_GEN_VERSION="$(LISTER_GEN_VERSION)" \
184+
--build-arg INFORMER_GEN_VERSION="$(INFORMER_GEN_VERSION)" \
124185
--build-arg CONTROLLER_GEN_VERSION="$(CONTROLLER_GEN_VERSION)" \
125186
--build-arg GOLANGCI_LINT_VERSION="$(GOLANGCI_LINT_VERSION)" \
126187
--build-arg MOQ_VERSION="$(MOQ_VERSION)" \

common.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,5 @@ CLIENT_APIS := gpu/v1alpha1
2121
CLIENT_SOURCES += $(patsubst %, $(API_BASE)/%, $(CLIENT_APIS))
2222

2323
DEEPCOPY_SOURCES = $(CLIENT_SOURCES)
24+
25+
PLURAL_EXCEPTIONS = ""

versions.mk

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ CUDA_VERSION ?= 12.3.2
2727

2828
# These variables are only needed when building a local image
2929
CLIENT_GEN_VERSION ?= v0.29.2
30+
LISTER_GEN_VERSION ?= v0.29.2
31+
INFORMER_GEN_VERSION ?= v0.29.2
3032
CONTROLLER_GEN_VERSION ?= v0.14.0
3133
GOLANGCI_LINT_VERSION ?= v1.52.0
3234
MOQ_VERSION ?= v0.4.0

0 commit comments

Comments
 (0)