You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.7 KiB
82 lines
2.7 KiB
# Copyright © 2023 OpenIMSDK.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# ==============================================================================
|
|
# Makefile helper functions for generate necessary files and docs
|
|
# https://cloud.redhat.com/blog/kubernetes-deep-dive-code-generation-customresources
|
|
# ! The stock of code generated by `make gen` should be idempotent
|
|
#
|
|
# Questions about go mod instead of go path: https://github.com/kubernetes/kubernetes/issues/117181
|
|
# ==============================================================================
|
|
# Makefile helper functions for generate necessary files
|
|
#
|
|
|
|
.PHONY: gen.run
|
|
#gen.run: gen.errcode gen.docgo
|
|
gen.run: gen.clean gen.errcode gen.docgo.doc
|
|
|
|
.PHONY: gen.errcode
|
|
gen.errcode: gen.errcode.code gen.errcode.doc
|
|
|
|
.PHONY: gen.errcode.code
|
|
gen.errcode.code: tools.verify.codegen
|
|
@echo "===========> Generating iam error code go source files"
|
|
@codegen -type=int ${ROOT_DIR}/internal/pkg/code
|
|
|
|
.PHONY: gen.errcode.doc
|
|
gen.errcode.doc: tools.verify.codegen
|
|
@echo "===========> Generating error code markdown documentation"
|
|
@codegen -type=int -doc \
|
|
-output ${ROOT_DIR}/docs/guide/zh-CN/api/error_code_generated.md ${ROOT_DIR}/internal/pkg/code
|
|
|
|
.PHONY: gen.ca.%
|
|
gen.ca.%:
|
|
$(eval CA := $(word 1,$(subst ., ,$*)))
|
|
@echo "===========> Generating CA files for $(CA)"
|
|
@${ROOT_DIR}/scripts/gencerts.sh generate-iam-cert $(OUTPUT_DIR)/cert $(CA)
|
|
|
|
.PHONY: gen.ca
|
|
gen.ca: $(addprefix gen.ca., $(CERTIFICATES))
|
|
|
|
.PHONY: gen.docgo.doc
|
|
gen.docgo.doc:
|
|
@echo "===========> Generating missing doc.go for go packages"
|
|
@${ROOT_DIR}/scripts/gendoc.sh
|
|
|
|
.PHONY: gen.docgo.check
|
|
gen.docgo.check: gen.docgo.doc
|
|
@n="$$(git ls-files --others '*/doc.go' | wc -l)"; \
|
|
if test "$$n" -gt 0; then \
|
|
git ls-files --others '*/doc.go' | sed -e 's/^/ /'; \
|
|
echo "$@: untracked doc.go file(s) exist in working directory" >&2 ; \
|
|
false ; \
|
|
fi
|
|
|
|
.PHONY: gen.docgo.add
|
|
gen.docgo.add:
|
|
@git ls-files --others '*/doc.go' | $(XARGS) -- git add
|
|
|
|
.PHONY: gen.defaultconfigs
|
|
gen.defaultconfigs:
|
|
@${ROOT_DIR}/scripts/gen_default_config.sh
|
|
|
|
.PHONY: gen.clean
|
|
gen.clean:
|
|
@rm -rf ./api/client/{clientset,informers,listers}
|
|
@$(FIND) -type f -name '*_generated.go' -delete
|
|
|
|
## gen.help: show help for gen
|
|
.PHONY: gen.help
|
|
gen.help: script/make-rules/gen.mk
|
|
$(call smallhelp)
|