diff --git a/cmd/generate-fix/internal/helpers.go b/cmd/generate-fix/internal/helpers.go index 13d94bf7f..a0f4a4fed 100644 --- a/cmd/generate-fix/internal/helpers.go +++ b/cmd/generate-fix/internal/helpers.go @@ -1,3 +1,5 @@ +// +build !windows + package internal import ( diff --git a/cmd/generate-fix/internal/helpers_windows.go b/cmd/generate-fix/internal/helpers_windows.go new file mode 100644 index 000000000..f601a5b41 --- /dev/null +++ b/cmd/generate-fix/internal/helpers_windows.go @@ -0,0 +1,24 @@ +// +build windows + +package internal + +import ( + "os" + "path/filepath" + "strings" +) + +// getImportPathRoot returns the root path to use in import statements. +// The root path is determined by stripping "$GOPATH/src/" from the current +// working directory. For example, when generating code within the QuickFIX/Go +// source tree, the returned root path will be "github.com/quickfixgo/quickfix". +func getImportPathRoot() string { + pwd, err := os.Getwd() + if err != nil { + panic(err) + } + //goSrcPath := `C:\Users\Administrator\go\src\` + goSrcPath := filepath.Join(os.Getenv("USERPROFILE"), "Go", "src") + importPathRoot := filepath.ToSlash(strings.Replace(pwd, goSrcPath, "", 1)) + return strings.TrimLeft(importPathRoot, "/") +} diff --git a/cmd/generate-fix/internal/helpers_windows_test.go b/cmd/generate-fix/internal/helpers_windows_test.go new file mode 100644 index 000000000..cc7e11290 --- /dev/null +++ b/cmd/generate-fix/internal/helpers_windows_test.go @@ -0,0 +1,10 @@ +package internal + +import ( + "fmt" + "testing" +) + +func TestGetImportPathRoot(t *testing.T) { + fmt.Println("this is import :", getImportPathRoot()) +}