fixes for windows

This commit is contained in:
Greg Gauthier 2024-07-09 21:29:11 +01:00
parent c2508127b4
commit fd70f428ae
3 changed files with 22 additions and 32 deletions

View File

@ -1,21 +0,0 @@
image: golang:1.15
pipelines:
default:
- parallel:
- step:
name: Test and Build
script:
- go mod vendor
- go mod tidy
- go test -v
- mkdir build
- ./build.sh
- export BUILDPATH="build/$(uname)/gostations"
- curl -X POST --user "${BITBUCKET_USERNAME}:${BITBUCKET_APP_PASSWORD}" "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"${BUILDPATH}"
- step:
name: Lint code
image: golangci/golangci-lint:v1.31.0
script:
- golangci-lint run -v

View File

@ -4,10 +4,21 @@ import (
"fmt" "fmt"
"os" "os"
"os/exec" "os/exec"
"runtime"
) )
func isInstalled(name string) bool { func isInstalled(name string) bool {
cmd := exec.Command("/bin/sh", "-c", "command -v " + name) var cmd *exec.Cmd
// check for the operating system
if runtime.GOOS == "windows" {
// 'where' command is used on Windows to locate executables
cmd = exec.Command("where.exe", name)
} else {
// 'command' is used on Unix systems
cmd = exec.Command("/bin/sh", "-c", "command -v "+name)
}
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {
return false return false
} }

View File

@ -8,18 +8,18 @@ import (
var version string var version string
func showVersion(){ func showVersion() {
fmt.Println(version) fmt.Println(version)
} }
func precheck(){ func precheck() {
if !isInstalled(player()){ if !isInstalled(player()) {
fmt.Printf("%s is either not installed, or not on your $PATH. Cannot continue.\n", player()) fmt.Printf("%s is either not installed, or not on your $PATH. Cannot continue.\n", player())
os.Exit(1) os.Exit(1)
} }
} }
func main(){ func main() {
argCount := len(os.Args[1:]) argCount := len(os.Args[1:])
var ( var (
@ -42,7 +42,7 @@ func main(){
flag.StringVar(&country, "c", "", "Home country.") flag.StringVar(&country, "c", "", "Home country.")
flag.StringVar(&state, "s", "", "Home state (if in the United States).") flag.StringVar(&state, "s", "", "Home state (if in the United States).")
flag.StringVar(&tags, "t", "", "Tag (or comma-separated tag list)") flag.StringVar(&tags, "t", "", "Tag (or comma-separated tag list)")
flag.BoolVar(&notok, "x", false,"If toggled, will show stations that are down") flag.BoolVar(&notok, "x", false, "If toggled, will show stations that are down")
flag.BoolVar(&version, "v", false, "Show version.") flag.BoolVar(&version, "v", false, "Show version.")
flag.Parse() flag.Parse()