forked from opiproject/godpu
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
75 lines (60 loc) · 3.38 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2023 Dell Inc, or its subsidiaries.
ROOT_DIR='.'
PROJECTNAME=$(shell basename "$(PWD)")
# Make is verbose in Linux. Make it silent.
MAKEFLAGS += --silent
go-compile: go-get go-build
tools:
go get golang.org/x/tools/cmd/goimports
go get github.com/kisielk/errcheck
go get github.com/axw/gocov/gocov
go get github.com/matm/gocov-html
go get github.com/tools/godep
go get github.com/mitchellh/gox
go get github.com/onsi/ginkgo
go get -u golang.org/x/lint/golint
go install golang.org/x/tools/cmd/goimports
go install github.com/kisielk/errcheck
go install github.com/vektra/mockery/v2@latest
go-build:
@echo " > Building binaries..."
@CGO_ENABLED=0 go build -o ${PROJECTNAME} .
go-get:
@echo " > Checking if there are any missing dependencies..."
@CGO_ENABLED=0 go get .
go-test:
@echo " > Running ginkgo test suites..."
# can replace with a recursive command ginkgo suites are defined for all packages
ginkgo grpc inventory storage network
go-vet:
@CGO_ENABLED=0 go vet -v ./...
go-errors:
errcheck -ignoretests -blank ./...
go-lint:
golint ./...
go-imports:
goimports -l -w .
go-fmt:
@CGO_ENABLED=0 go fmt ./...
mock-generate:
@echo " > Starting mock code generation..."
# Generate mocks for exported interfaces
mockery --config=mocks/.mockery.yaml --name=Connector --dir=grpc
mockery --config=mocks/.mockery.yaml --name=InvClient --dir=inventory
mockery --config=mocks/.mockery.yaml --name=EvpnClient --dir=network
# Generate mocks for imported protobuf clients too
mockery --config=mocks/.mockery.yaml --name=IPsecServiceClient --srcpkg=github.com/opiproject/opi-api/security/v1/gen/go
mockery --config=mocks/.mockery.yaml --name=InventorySvcClient --srcpkg=github.com/opiproject/opi-api/inventory/v1/gen/go
mockery --config=mocks/.mockery.yaml --name=SviServiceClient --srcpkg=github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=VrfServiceClient --srcpkg=github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=BridgePortServiceClient --srcpkg=github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=LogicalBridgeServiceClient --srcpkg=github.com/opiproject/opi-api/network/evpn-gw/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=MiddleendEncryptionServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=MiddleendQosVolumeServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=NvmeRemoteControllerServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=NullVolumeServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=AioVolumeServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=FrontendNvmeServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=FrontendVirtioBlkServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go
mockery --config=mocks/.mockery.yaml --name=FrontendVirtioScsiServiceClient --srcpkg=github.com/opiproject/opi-api/storage/v1alpha1/gen/go