forked from openconfig/featureprofiles
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
42 lines (36 loc) · 1.97 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
# Copyright 2022 Google LLC
# 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
# https://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.
openconfig_public:
tools/clone_oc_public.sh openconfig_public
.PHONY: validate_paths
validate_paths: openconfig_public proto/feature_go_proto/feature.pb.go
go run -v tools/validate_paths.go \
--feature_root=$(CURDIR)/feature/ \
--yang_roots=$(CURDIR)/openconfig_public/release/models/,$(CURDIR)/openconfig_public/third_party/ \
--yang_skip_roots=$(CURDIR)/openconfig_public/release/models/wifi
proto/feature_go_proto/feature.pb.go: proto/feature.proto
mkdir -p proto/feature_go_proto
protoc --proto_path=proto --go_out=./ --go_opt=Mfeature.proto=proto/feature_go_proto feature.proto
proto/metadata_go_proto/metadata.pb.go: proto/metadata.proto
mkdir -p proto/metadata_go_proto
# Set directory to hold symlink
mkdir -p protobuf-import
# Remove any existing symlinks & empty directories
find protobuf-import -type l -delete
find protobuf-import -type d -empty -delete
# Download the required dependencies
go mod download
# Get ondatra modules we use and create required directory structure
go list -f 'protobuf-import/{{ .Path }}' -m github.com/openconfig/ondatra | xargs -L1 dirname | sort | uniq | xargs mkdir -p
# Create symlink
go list -f '{{ .Dir }} protobuf-import/{{ .Path }}' -m github.com/openconfig/ondatra | xargs -L1 -- ln -s
protoc -I='protobuf-import' --proto_path=proto --go_out=./ --go_opt=Mmetadata.proto=proto/metadata_go_proto metadata.proto
goimports -w proto/metadata_go_proto/metadata.pb.go