diff --git a/Makefile b/Makefile index 2d7e3e717..5bb64d4a5 100644 --- a/Makefile +++ b/Makefile @@ -68,6 +68,9 @@ GOLANGCI_LINT_VERSION=1.49.0 RUN_GINKGO = go run -mod=vendor github.com/onsi/ginkgo/v2/ginkgo +# making sure that mockgen binary version is the same as github.com/golang/mock library version +GO_MOCK_LIBRARY_VERSION = $(shell go list -mod=readonly -m -f '{{.Version}}' github.com/golang/mock) + default: bin .PHONY: help @@ -127,8 +130,9 @@ clean: @rm -rf $(FILES) .PHONY: goget-tools -goget-tools: - (cd / && go install -mod=mod github.com/golangci/golangci-lint/cmd/golangci-lint@v$(GOLANGCI_LINT_VERSION)) +goget-tools: ## Install binaries of the tools used by odo (current list: golangci-lint, mockgen) + cd / && go install -mod=mod github.com/golangci/golangci-lint/cmd/golangci-lint@v$(GOLANGCI_LINT_VERSION) + cd / && go install -mod=mod github.com/golang/mock/mockgen@$(GO_MOCK_LIBRARY_VERSION) .PHONY: goget-ginkgo goget-ginkgo: diff --git a/scripts/mockgen.sh b/scripts/mockgen.sh index 85efcfcbc..9bcc93733 100755 --- a/scripts/mockgen.sh +++ b/scripts/mockgen.sh @@ -1,92 +1,97 @@ #!/usr/bin/env bash -# Use this script to regererate generated mock files +# Use this script to regenerate generated mock files # after changing signatures of interfaces in these packages -mockgen -source=pkg/kclient/interface.go \ +gomockVersion=$(go list -mod=readonly -m -f '{{.Version}}' github.com/golang/mock) +mockgen="go run -mod=readonly github.com/golang/mock/mockgen@$gomockVersion" + +echo Using mockgen "$($mockgen --version)" + +$mockgen -source=pkg/kclient/interface.go \ -package kclient \ -destination pkg/kclient/mock_Client.go -mockgen -source=pkg/storage/storage.go \ +$mockgen -source=pkg/storage/storage.go \ -package storage \ -destination pkg/storage/mock_Client.go -mockgen -source=pkg/devfile/image/image.go \ +$mockgen -source=pkg/devfile/image/image.go \ -package image \ -destination pkg/devfile/image/mock_Backend.go -mockgen -source=pkg/odo/cmdline/cmdline.go \ +$mockgen -source=pkg/odo/cmdline/cmdline.go \ -package cmdline \ -destination pkg/odo/cmdline/mock.go -mockgen -source=pkg/project/project.go \ +$mockgen -source=pkg/project/project.go \ -package project \ -destination pkg/project/mock.go -mockgen -source=pkg/preference/preference.go \ +$mockgen -source=pkg/preference/preference.go \ -package preference \ -destination pkg/preference/mock.go -mockgen -source=pkg/auth/interface.go \ +$mockgen -source=pkg/auth/interface.go \ -package auth \ -destination pkg/auth/mock.go -mockgen -source=pkg/init/backend/interface.go \ +$mockgen -source=pkg/init/backend/interface.go \ -package backend \ -destination pkg/init/backend/mock.go -mockgen -source=pkg/init/asker/interface.go \ +$mockgen -source=pkg/init/asker/interface.go \ -package asker \ -destination pkg/init/asker/mock.go -mockgen -source=pkg/init/interface.go \ +$mockgen -source=pkg/init/interface.go \ -package init \ -destination pkg/init/mock.go -mockgen -source=pkg/registry/interface.go \ +$mockgen -source=pkg/registry/interface.go \ -package registry \ -destination pkg/registry/mock.go -mockgen -source=pkg/deploy/interface.go \ +$mockgen -source=pkg/deploy/interface.go \ -package deploy \ -destination pkg/deploy/mock.go -mockgen -source=pkg/libdevfile/libdevfile.go \ +$mockgen -source=pkg/libdevfile/libdevfile.go \ -package libdevfile \ -destination pkg/libdevfile/handler_mock.go -mockgen -source=pkg/watch/interface.go \ +$mockgen -source=pkg/watch/interface.go \ -package watch \ -destination pkg/watch/mock.go -mockgen -source=pkg/component/delete/interface.go \ +$mockgen -source=pkg/component/delete/interface.go \ -package delete \ -destination pkg/component/delete/mock.go -mockgen -source=pkg/dev/interface.go \ +$mockgen -source=pkg/dev/interface.go \ -package dev \ -destination pkg/dev/mock.go -mockgen -source=pkg/alizer/interface.go \ +$mockgen -source=pkg/alizer/interface.go \ -package alizer \ -destination pkg/alizer/mock.go -mockgen -source=pkg/binding/interface.go \ +$mockgen -source=pkg/binding/interface.go \ -package binding \ -destination pkg/binding/mock.go -mockgen -source=pkg/binding/backend/interface.go \ +$mockgen -source=pkg/binding/backend/interface.go \ -package backend \ -destination pkg/binding/backend/mock.go -mockgen -source=pkg/sync/interface.go \ +$mockgen -source=pkg/sync/interface.go \ -package sync \ -destination pkg/sync/mock.go -mockgen -source=pkg/exec/interface.go \ +$mockgen -source=pkg/exec/interface.go \ -package exec \ -destination pkg/exec/mock.go -mockgen -source=pkg/podman/interface.go \ +$mockgen -source=pkg/podman/interface.go \ -package podman \ -destination pkg/podman/mock.go