X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=cmd%2Fbinapi-generator%2Futil.go;fp=cmd%2Fbinapi-generator%2Futil.go;h=0000000000000000000000000000000000000000;hb=d1f24d37bd447b64e402298bb8eb2479681facf9;hp=87389630f671d6d3b5468d3ff14b616956dc5a22;hpb=1548c7e12531e3d055567d761c580a1c7ff0ac40;p=govpp.git diff --git a/cmd/binapi-generator/util.go b/cmd/binapi-generator/util.go deleted file mode 100644 index 8738963..0000000 --- a/cmd/binapi-generator/util.go +++ /dev/null @@ -1,81 +0,0 @@ -// Copyright (c) 2020 Cisco and/or its affiliates. -// -// 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. - -package main - -import ( - "io/ioutil" - "os/exec" - "path" - "strings" - - "github.com/sirupsen/logrus" -) - -const ( - versionScriptPath = "./src/scripts/version" - defaultVppApiDir = "/usr/share/vpp/api" -) - -func ResolveVppVersion(inputDir string) string { - // assuming VPP package is installed - if inputDir == defaultVppApiDir { - // resolve VPP version using dpkg - cmd := exec.Command("dpkg-query", "-f", "${Version}", "-W", "vpp") - out, err := cmd.CombinedOutput() - if err != nil { - logrus.Warnf("resolving VPP version from installed package failed: %v", err) - logrus.Warnf("command output: %s", out) - } else { - version := strings.TrimSpace(string(out)) - logrus.Debugf("resolved VPP version from installed package: %v", version) - return version - } - } - // check if inside VPP git repo - if inputDir != "" { - repo := findVppGitRepo(inputDir) - if repo != "" { - cmd := exec.Command(versionScriptPath) - cmd.Dir = repo - out, err := cmd.CombinedOutput() - if err != nil { - logrus.Warnf("resolving VPP version from version script failed: %v", err) - logrus.Warnf("command output: %s", out) - } else { - version := strings.TrimSpace(string(out)) - logrus.Debugf("resolved VPP version from version script: %v", version) - return version - } - } - file, err := ioutil.ReadFile(path.Join(inputDir, "VPP_VERSION")) - if err == nil { - return strings.TrimSpace(string(file)) - } - } - logrus.Warnf("VPP version could not be resolved, you can set it manually using VPP_API_VERSION env var") - return "unknown" -} - -func findVppGitRepo(dir string) string { - cmd := exec.Command("git", "rev-parse", "--show-toplevel") - cmd.Dir = dir - out, err := cmd.CombinedOutput() - if err != nil { - logrus.Warnf("checking VPP git repo failed: %v", err) - logrus.Warnf("command output: %s", out) - return "" - } - return strings.TrimSpace(string(out)) -}