@@ -13,16 +13,14 @@ PKG := github.com/operator-framework/operator-lifecycle-manager
13
13
MOD_FLAGS := $(shell (go version | grep -q -E "1\.1[1-9]") && echo -mod=vendor)
14
14
CMDS := $(shell go list $(MOD_FLAGS ) ./cmd/...)
15
15
TCMDS := $(shell go list $(MOD_FLAGS ) ./test/e2e/...)
16
- CODEGEN_INTERNAL := ./vendor/k8s.io/code-generator/generate_internal_groups.sh
17
- MOCKGEN := ./scripts/generate_mocks.sh
18
- # counterfeiter := $(GOBIN)/counterfeiter
19
- # mockgen := $(GOBIN)/mockgen
16
+ MOCKGEN := ./scripts/update_mockgen.sh
17
+ CODEGEN := ./scripts/update_codegen.sh
20
18
IMAGE_REPO := quay.io/operator-framework/olm
21
19
IMAGE_TAG ?= "dev"
22
20
SPECIFIC_UNIT_TEST := $(if $(TEST ) ,-run $(TEST ) ,)
23
21
LOCAL_NAMESPACE := "olm"
24
22
export GO111MODULE =on
25
- CONTROLLER_GEN := go run ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen
23
+ CONTROLLER_GEN := go run -mod=vendor ./vendor/sigs.k8s.io/controller-tools/cmd/controller-gen
26
24
YQ_INTERNAL := go run ./vendor/github.com/mikefarah/yq/v2/
27
25
28
26
# ART builds are performed in dist-git, with content (but not commits) copied
@@ -141,59 +139,32 @@ clean:
141
139
@rm -rf test/e2e/log
142
140
@rm -rf e2e.namespace
143
141
144
- # Must be run in gopath: https://github.com/kubernetes/kubernetes/issues/67566
145
- # use container-codegen
146
- codegen : export GO111MODULE := off
147
- codegen :
148
- cp scripts/generate_internal_groups.sh vendor/k8s.io/code-generator/generate_internal_groups.sh
149
- mkdir -p vendor/k8s.io/code-generator/hack
150
- cp boilerplate.go.txt vendor/k8s.io/code-generator/hack/boilerplate.go.txt
151
- go run vendor/k8s.io/kube-openapi/cmd/openapi-gen/openapi-gen.go --logtostderr -i ./vendor/k8s.io/apimachinery/pkg/runtime,./vendor/k8s.io/apimachinery/pkg/apis/meta/v1,./vendor/k8s.io/apimachinery/pkg/version,./pkg/package-server/apis/operators/v1,./pkg/package-server/apis/apps/v1alpha1,./pkg/api/apis/operators/v1alpha1,./pkg/lib/version -p $(PKG ) /pkg/package-server/apis/openapi -O zz_generated.openapi -h boilerplate.go.txt -r /dev/null
152
- $(CODEGEN_INTERNAL ) deepcopy,conversion,client,lister,informer $(PKG ) /pkg/api/client $(PKG ) /pkg/api/apis $(PKG ) /pkg/api/apis " operators:v1alpha1,v1"
153
- $(CODEGEN_INTERNAL ) all $(PKG ) /pkg/package-server/client $(PKG ) /pkg/package-server/apis $(PKG ) /pkg/package-server/apis " operators:v1 apps:v1alpha1"
142
+
143
+ # Generate manifests for CRDs
144
+ manifests : vendor
154
145
$(CONTROLLER_GEN ) schemapatch:manifests=./deploy/chart/templates paths=./pkg/api/apis/operators/v1alpha1/... output:dir=./deploy/chart/templates
155
146
$(CONTROLLER_GEN ) schemapatch:manifests=./deploy/chart/templates paths=./pkg/api/apis/operators/v1/... output:dir=./deploy/chart/templates
156
147
$(YQ_INTERNAL ) w --inplace deploy/chart/templates/0000_50_olm_03-clusterserviceversion.crd.yaml spec.validation.openAPIV3Schema.properties.spec.properties.install.properties.spec.properties.deployments.items.properties.spec.properties.template.properties.metadata.x-kubernetes-preserve-unknown-fields true
157
- container-codegen :
158
- docker build -t olm:codegen -f codegen.Dockerfile .
159
- docker run --name temp-codegen olm:codegen /bin/true
160
- docker cp temp-codegen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/. ./pkg/api/client
161
- docker cp temp-codegen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/api/apis/. ./pkg/api/apis
162
- docker cp temp-codegen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/apis/. ./pkg/package-server/apis
163
- docker cp temp-codegen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/client/. ./pkg/package-server/client
164
- docker rm temp-codegen
165
-
166
- container-mockgen :
167
- docker build -t olm:mockgen -f mockgen.Dockerfile . --no-cache
168
- docker run --name temp-mockgen olm:mockgen /bin/true
169
- docker cp temp-mockgen:/operator-lifecycle-manager/pkg/api/wrappers/wrappersfakes/. ./pkg/api/wrappers/wrappersfakes
170
- docker cp temp-mockgen:/operator-lifecycle-manager/pkg/lib/operatorlister/operatorlisterfakes/. ./pkg/lib/operatorlister/operatorlisterfakes
171
- docker cp temp-mockgen:/operator-lifecycle-manager/pkg/lib/operatorclient/operatorclientmocks/. ./pkg/lib/operatorclient/operatorclientmocks
172
- docker cp temp-mockgen:/operator-lifecycle-manager/pkg/fakes/. ./pkg/fakes
173
- docker cp temp-mockgen:/operator-lifecycle-manager/pkg/controller/registry/resolver/fakes/. ./pkg/controller/registry/resolver/fakes
174
- docker cp temp-mockgen:/operator-lifecycle-manager/pkg/package-server/client/fakes/. ./pkg/package-server/client/fakes
175
- docker rm temp-mockgen
176
-
177
- verify : verify-codegen
178
-
179
- # Must be run in gopath: https://github.com/kubernetes/kubernetes/issues/67566
180
- verify-codegen : codegen
181
- git diff --exit-code
182
148
183
- verify-release : ver=$(shell cat OLM_VERSION)
184
- verify-release :
185
- rm -rf manifests
186
- mkdir manifests
187
- ./scripts/package_release.sh $(ver ) manifests deploy/ocp/values.yaml
188
- # requires gnu sed if on mac
189
- find ./manifests -type f -exec sed -i " /^#/d" {} \;
190
- find ./manifests -type f -exec sed -i " 1{/---/d}" {} \;
191
- git diff --exit-code
149
+ # Generate clients, listers, and informers
150
+ codegen :
151
+ $(CODEGEN )
192
152
153
+ # Generate mock types.
193
154
mockgen :
194
155
$(MOCKGEN )
195
156
196
- gen-all : container-codegen container-mockgen
157
+ # Generates everything.
158
+ gen-all : codegen mockgen manifests
159
+
160
+ diff :
161
+ git diff --exit-code
162
+
163
+ verify-codegen : codegen diff
164
+ verify-mockgen : mockgen diff
165
+ verify-manifests : manifests diff
166
+ verify : verify-codegen verify-mockgen verify-manifests
167
+
197
168
198
169
# before running release, bump the version in OLM_VERSION and push to master,
199
170
# then tag those builds in quay with the version in OLM_VERSION
@@ -209,6 +180,8 @@ release:
209
180
find ./manifests -type f -exec sed -i " /^#/d" {} \;
210
181
find ./manifests -type f -exec sed -i " 1{/---/d}" {} \;
211
182
183
+ verify-release : release diff
184
+
212
185
package : olmref=$(shell docker inspect --format='{{index .RepoDigests 0}}' quay.io/operator-framework/olm:$(ver ) )
213
186
package :
214
187
ifndef target
@@ -226,10 +199,6 @@ ifeq ($(quickstart), true)
226
199
./scripts/package_quickstart.sh deploy/$(target)/manifests/$(ver) deploy/$(target)/quickstart/olm.yaml deploy/$(target)/quickstart/crds.yaml deploy/$(target)/quickstart/install.sh
227
200
endif
228
201
229
- # #########################
230
- # OLM - Commands #
231
- # #########################
232
-
233
202
.PHONY : run-console-local
234
203
run-console-local :
235
204
@echo Running script to run the OLM console locally:
0 commit comments