Skip to content

Commit

Permalink
makefile: fixed to use code-generator
Browse files Browse the repository at this point in the history
Using the new version of kubernetes code-generator to generate listers,
clients and informers.
  • Loading branch information
ricardomaraschini committed Jul 19, 2022
1 parent b9502be commit 41ddae5
Showing 1 changed file with 19 additions and 66 deletions.
85 changes: 19 additions & 66 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
GOPKG = github.com/quay/container-security-operator
GENDIR = /tmp/code-generator

.PHONY: all
all: install
Expand All @@ -15,6 +16,14 @@ run: build
installcrds:
kubectl create -f bundle/imagemanifestvuln.crd.yaml

.PHONY: get-code-generator
get-code-generator:
rm -rf $(GENDIR) || true
git clone --depth=1 \
--branch v0.24.0 \
https://github.com/kubernetes/code-generator.git \
$(GENDIR)

.PHONY: devenv
devenv: installcrds
kubectl apply -f bundle/examples/
Expand All @@ -23,71 +32,15 @@ devenv: installcrds
vendor:
go mod vendor

.PHONY: deepcopy
deepcopy:
deepcopy-gen \
-i github.com/quay/container-security-operator/apis/secscan/v1alpha1 \
-v=4 \
--logtostderr \
--output-file-base zz_generated.deepcopy
go fmt apis/secscan/v1alpha1/zz_generated.deepcopy.go

.PHONY: openapi
openapi:
openapi-gen \
-i github.com/quay/container-security-operator/apis/secscan/v1alpha1,k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/api/core/v1 \
-v=4 \
-p github.com/quay/container-security-operator/apis/secscan/v1alpha1
go fmt apis/secscan/v1alpha1/openapi_generated.go

.PHONY: clientset
clientset:
client-gen \
-v=4 \
--input-base "" \
--clientset-name "versioned" \
--input "$(GOPKG)/apis/secscan/v1alpha1" \
--output-package "$(GOPKG)/generated"

.PHONY: listers
listers:
lister-gen \
-v=4 \
--input-dirs "$(GOPKG)/apis/secscan/v1alpha1" \
--output-package "$(GOPKG)/generated/listers"

.PHONY: informers
informers:
informer-gen \
-v=4 \
--versioned-clientset-package "$(GOPKG)/generated/versioned" \
--listers-package "$(GOPKG)/generated/listers" \
--input-dirs "$(GOPKG)/apis/secscan/v1alpha1" \
--output-package "$(GOPKG)/generated/informers"

.PHONY: codegen
codegen: deepcopy \
clientset \
listers \
informers \
openapi

.PHONY: codegen-container
codegen-container: BUILD_CODEGEN_IMAGE
docker run --rm --name codegen \
-v $(PWD):$(REPO_ROOT) \
-w $(REPO_ROOT) \
$(CODEGEN_IMAGE) \
make codegen


# =====================
# Code generators image
# =====================
REPO_ROOT = /go/src/$(GOPKG)
CODEGEN_IMAGE = container-security-operator:codegen
codegen:
$(GENDIR)/generate-groups.sh all \
$(GOPKG)/generated \
$(GOPKG) \
apis/secscan:v1alpha1\
--go-header-file=$(GENDIR)/hack/boilerplate.go.txt \
--output-base=/tmp
mv /tmp/$(GOPKG)/apis/secscan/v1alpha1/zz_generated.deepcopy.go apis/secscan/v1alpha1/
rm -rf generated
mv /tmp/$(GOPKG)/generated .

# https://github.com/kubernetes/code-generator
.PHONY: BUILD_CODEGEN_IMAGE
BUILD_CODEGEN_IMAGE:
docker build -f Dockerfile.codegen -t $(CODEGEN_IMAGE) .

0 comments on commit 41ddae5

Please sign in to comment.