diff options
author | Catalin Stratu <catalinstratu45@gmail.com> | 2022-03-15 11:23:14 +0200 |
---|---|---|
committer | Catalin Stratu <catalinstratu45@gmail.com> | 2022-03-15 11:24:39 +0200 |
commit | f7ea935382e82acded9629df367cf9f4c92db7ff (patch) | |
tree | c9178ada14fecf765f9a95224b329b8eed3705d8 /builder/builder2v1 | |
parent | bc89f8d4e27d92ba8943026f6d628d243891c366 (diff) | |
download | spdx-tools-f7ea935382e82acded9629df367cf9f4c92db7ff.tar.gz |
Fixes patch for WINDOWS OS
Signed-off-by: Catalin Stratu <catalinstratu45@gmail.com>
Diffstat (limited to 'builder/builder2v1')
-rw-r--r-- | builder/builder2v1/build_package.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/builder/builder2v1/build_package.go b/builder/builder2v1/build_package.go index 2093516..e59e676 100644 --- a/builder/builder2v1/build_package.go +++ b/builder/builder2v1/build_package.go @@ -8,6 +8,7 @@ import ( "github.com/spdx/tools-golang/utils" "path/filepath" "regexp" + "runtime" ) // BuildPackageSection2_1 creates an SPDX Package (version 2.1), returning @@ -22,18 +23,27 @@ func BuildPackageSection2_1(packageName string, dirRoot string, pathsIgnore []st if err != nil { return nil, err } + osType := runtime.GOOS re, ok := regexp.Compile("/+") if ok != nil { return nil, err } + + dirRootLen := 0 + if osType == "windows" { + dirRootLen = len(dirRoot) + } + files := map[spdx.ElementID]*spdx.File2_1{} fileNumber := 0 - //dirRootLen := len(dirRoot) for _, fp := range filepaths { - newFileName := fp - newFilePatch := filepath.FromSlash("." + newFileName) - fmt.Println(newFilePatch) + newFilePatch := "" + if osType == "windows" { + newFilePatch = filepath.FromSlash("." + fp[dirRootLen:]) + } else { + newFilePatch = filepath.FromSlash("./" + fp) + } newFile, err := BuildFileSection2_1(re.ReplaceAllLiteralString(newFilePatch, string(filepath.Separator)), dirRoot, fileNumber) if err != nil { return nil, err |