@@ -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+
119178build-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) " \
0 commit comments