diff options
Diffstat (limited to 'builder')
-rw-r--r-- | builder/build.go | 25 | ||||
-rw-r--r-- | builder/build_test.go | 102 | ||||
-rw-r--r-- | builder/builder2v1/build_creation_info.go | 9 | ||||
-rw-r--r-- | builder/builder2v1/build_file.go | 17 | ||||
-rw-r--r-- | builder/builder2v1/build_file_test.go | 10 | ||||
-rw-r--r-- | builder/builder2v1/build_package.go | 14 | ||||
-rw-r--r-- | builder/builder2v1/build_package_test.go | 14 | ||||
-rw-r--r-- | builder/builder2v1/build_relationship.go | 11 | ||||
-rw-r--r-- | builder/builder2v1/build_relationship_test.go | 6 | ||||
-rw-r--r-- | builder/builder2v2/build_creation_info.go | 9 | ||||
-rw-r--r-- | builder/builder2v2/build_file.go | 17 | ||||
-rw-r--r-- | builder/builder2v2/build_file_test.go | 10 | ||||
-rw-r--r-- | builder/builder2v2/build_package.go | 14 | ||||
-rw-r--r-- | builder/builder2v2/build_package_test.go | 14 | ||||
-rw-r--r-- | builder/builder2v2/build_relationship.go | 11 | ||||
-rw-r--r-- | builder/builder2v2/build_relationship_test.go | 6 |
16 files changed, 151 insertions, 138 deletions
diff --git a/builder/build.go b/builder/build.go index 235e91d..1594a04 100644 --- a/builder/build.go +++ b/builder/build.go @@ -6,9 +6,12 @@ package builder import ( "fmt" + "github.com/spdx/tools-golang/builder/builder2v1" "github.com/spdx/tools-golang/builder/builder2v2" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_1" + "github.com/spdx/tools-golang/spdx/v2_2" ) // ===== 2.1 builder ===== @@ -48,7 +51,7 @@ type Config2_1 struct { // - packageName: name of package / directory // - dirRoot: path to directory to be analyzed // - config: Config object -func Build2_1(packageName string, dirRoot string, config *Config2_1) (*spdx.Document2_1, error) { +func Build2_1(packageName string, dirRoot string, config *Config2_1) (*v2_1.Document, error) { // build Package section first -- will include Files and make the // package verification code available pkg, err := builder2v1.BuildPackageSection2_1(packageName, dirRoot, config.PathsIgnored) @@ -66,15 +69,15 @@ func Build2_1(packageName string, dirRoot string, config *Config2_1) (*spdx.Docu return nil, err } - doc := &spdx.Document2_1{ + doc := &v2_1.Document{ SPDXVersion: "SPDX-2.1", DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), + SPDXIdentifier: common.ElementID("DOCUMENT"), DocumentName: packageName, DocumentNamespace: fmt.Sprintf("%s%s-%s", config.NamespacePrefix, packageName, pkg.PackageVerificationCode), CreationInfo: ci, - Packages: []*spdx.Package2_1{pkg}, - Relationships: []*spdx.Relationship2_1{rln}, + Packages: []*v2_1.Package{pkg}, + Relationships: []*v2_1.Relationship{rln}, } return doc, nil @@ -117,7 +120,7 @@ type Config2_2 struct { // - packageName: name of package / directory // - dirRoot: path to directory to be analyzed // - config: Config object -func Build2_2(packageName string, dirRoot string, config *Config2_2) (*spdx.Document2_2, error) { +func Build2_2(packageName string, dirRoot string, config *Config2_2) (*v2_2.Document, error) { // build Package section first -- will include Files and make the // package verification code available pkg, err := builder2v2.BuildPackageSection2_2(packageName, dirRoot, config.PathsIgnored) @@ -135,15 +138,15 @@ func Build2_2(packageName string, dirRoot string, config *Config2_2) (*spdx.Docu return nil, err } - doc := &spdx.Document2_2{ + doc := &v2_2.Document{ SPDXVersion: "SPDX-2.2", DataLicense: "CC0-1.0", - SPDXIdentifier: spdx.ElementID("DOCUMENT"), + SPDXIdentifier: common.ElementID("DOCUMENT"), DocumentName: packageName, DocumentNamespace: fmt.Sprintf("%s%s-%s", config.NamespacePrefix, packageName, pkg.PackageVerificationCode), CreationInfo: ci, - Packages: []*spdx.Package2_2{pkg}, - Relationships: []*spdx.Relationship2_2{rln}, + Packages: []*v2_2.Package{pkg}, + Relationships: []*v2_2.Relationship{rln}, } return doc, nil diff --git a/builder/build_test.go b/builder/build_test.go index be4fd42..ff881de 100644 --- a/builder/build_test.go +++ b/builder/build_test.go @@ -6,7 +6,7 @@ import ( "fmt" "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== 2.1 Builder top-level Document test ===== @@ -21,7 +21,7 @@ func TestBuild2_1CreatesDocument(t *testing.T) { } config.TestValues["Created"] = "2018-10-19T04:38:00Z" - wantVerificationCode := spdx.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} + wantVerificationCode := common.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} doc, err := Build2_1("project1", dirRoot, config) if err != nil { @@ -41,7 +41,7 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if doc.DataLicense != "CC0-1.0" { t.Errorf("expected %s, got %s", "CC0-1.0", doc.DataLicense) } - if doc.SPDXIdentifier != spdx.ElementID("DOCUMENT") { + if doc.SPDXIdentifier != common.ElementID("DOCUMENT") { t.Errorf("expected %s, got %v", "DOCUMENT", doc.SPDXIdentifier) } if doc.DocumentName != "project1" { @@ -78,7 +78,7 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if pkg.PackageName != "project1" { t.Errorf("expected %v, got %v", "project1", pkg.PackageName) } - if pkg.PackageSPDXIdentifier != spdx.ElementID("Package-project1") { + if pkg.PackageSPDXIdentifier != common.ElementID("Package-project1") { t.Errorf("expected %v, got %v", "Package-project1", pkg.PackageSPDXIdentifier) } if pkg.PackageDownloadLocation != "NOASSERTION" { @@ -123,21 +123,21 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if fileEmpty.FileName != "./emptyfile.testdata.txt" { t.Errorf("expected %v, got %v", "./emptyfile.testdata.txt", fileEmpty.FileName) } - if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") { + if fileEmpty.FileSPDXIdentifier != common.ElementID("File0") { t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier) } for _, checksum := range fileEmpty.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "da39a3ee5e6b4b0d3255bfef95601890afd80709" { t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" { t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "d41d8cd98f00b204e9800998ecf8427e" { t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", checksum.Value) } @@ -166,21 +166,21 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if file1.FileName != "./file1.testdata.txt" { t.Errorf("expected %v, got %v", "./file1.testdata.txt", file1.FileName) } - if file1.FileSPDXIdentifier != spdx.ElementID("File1") { + if file1.FileSPDXIdentifier != common.ElementID("File1") { t.Errorf("expected %v, got %v", "File1", file1.FileSPDXIdentifier) } for _, checksum := range file1.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "024f870eb6323f532515f7a09d5646a97083b819" { t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" { t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "37c8208479dfe42d2bb29debd6e32d4a" { t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", checksum.Value) } @@ -208,21 +208,21 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if file3.FileName != "./file3.testdata.txt" { t.Errorf("expected %v, got %v", "./file3.testdata.txt", file3.FileName) } - if file3.FileSPDXIdentifier != spdx.ElementID("File2") { + if file3.FileSPDXIdentifier != common.ElementID("File2") { t.Errorf("expected %v, got %v", "File2", file3.FileSPDXIdentifier) } for _, checksum := range file3.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "a46114b70e163614f01c64adf44cdd438f158fce" { t.Errorf("expected %v, got %v", "a46114b70e163614f01c64adf44cdd438f158fce", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4" { t.Errorf("expected %v, got %v", "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "3e02d3ab9c58eec6911dbba37570934f" { t.Errorf("expected %v, got %v", "3e02d3ab9c58eec6911dbba37570934f", checksum.Value) } @@ -250,21 +250,21 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if file4.FileName != "./folder1/file4.testdata.txt" { t.Errorf("expected %v, got %v", "./folder1/file4.testdata.txt", file4.FileName) } - if file4.FileSPDXIdentifier != spdx.ElementID("File3") { + if file4.FileSPDXIdentifier != common.ElementID("File3") { t.Errorf("expected %v, got %v", "File3", file4.FileSPDXIdentifier) } for _, checksum := range file4.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "e623d7d7d782a7c8323c4d436acee4afab34320f" { t.Errorf("expected %v, got %v", "e623d7d7d782a7c8323c4d436acee4afab34320f", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59" { t.Errorf("expected %v, got %v", "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "96e6a25d35df5b1c477710ef4d0c7210" { t.Errorf("expected %v, got %v", "96e6a25d35df5b1c477710ef4d0c7210", checksum.Value) } @@ -292,21 +292,21 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if lastfile.FileName != "./lastfile.testdata.txt" { t.Errorf("expected %v, got %v", "./lastfile.testdata.txt", lastfile.FileName) } - if lastfile.FileSPDXIdentifier != spdx.ElementID("File4") { + if lastfile.FileSPDXIdentifier != common.ElementID("File4") { t.Errorf("expected %v, got %v", "File4", lastfile.FileSPDXIdentifier) } for _, checksum := range lastfile.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "26d6221d682d9ba59116f9753a701f34271c8ce1" { t.Errorf("expected %v, got %v", "26d6221d682d9ba59116f9753a701f34271c8ce1", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805" { t.Errorf("expected %v, got %v", "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "f60baa793870d9085461ad6bbab50b7f" { t.Errorf("expected %v, got %v", "f60baa793870d9085461ad6bbab50b7f", checksum.Value) } @@ -337,10 +337,10 @@ func TestBuild2_1CreatesDocument(t *testing.T) { if rln == nil { t.Fatalf("expected non-nil Relationship, got nil") } - if rln.RefA != spdx.MakeDocElementID("", "DOCUMENT") { + if rln.RefA != common.MakeDocElementID("", "DOCUMENT") { t.Errorf("expected %v, got %v", "DOCUMENT", rln.RefA) } - if rln.RefB != spdx.MakeDocElementID("", "Package-project1") { + if rln.RefB != common.MakeDocElementID("", "Package-project1") { t.Errorf("expected %v, got %v", "Package-project1", rln.RefB) } if rln.Relationship != "DESCRIBES" { @@ -432,7 +432,7 @@ func TestBuild2_2CreatesDocument(t *testing.T) { } config.TestValues["Created"] = "2018-10-19T04:38:00Z" - wantVerificationCode := spdx.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} + wantVerificationCode := common.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} doc, err := Build2_2("project1", dirRoot, config) if err != nil { @@ -452,7 +452,7 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if doc.DataLicense != "CC0-1.0" { t.Errorf("expected %s, got %s", "CC0-1.0", doc.DataLicense) } - if doc.SPDXIdentifier != spdx.ElementID("DOCUMENT") { + if doc.SPDXIdentifier != common.ElementID("DOCUMENT") { t.Errorf("expected %s, got %v", "DOCUMENT", doc.SPDXIdentifier) } if doc.DocumentName != "project1" { @@ -489,7 +489,7 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if pkg.PackageName != "project1" { t.Errorf("expected %v, got %v", "project1", pkg.PackageName) } - if pkg.PackageSPDXIdentifier != spdx.ElementID("Package-project1") { + if pkg.PackageSPDXIdentifier != common.ElementID("Package-project1") { t.Errorf("expected %v, got %v", "Package-project1", pkg.PackageSPDXIdentifier) } if pkg.PackageDownloadLocation != "NOASSERTION" { @@ -534,20 +534,20 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if fileEmpty.FileName != "./emptyfile.testdata.txt" { t.Errorf("expected %v, got %v", "./emptyfile.testdata.txt", fileEmpty.FileName) } - if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") { + if fileEmpty.FileSPDXIdentifier != common.ElementID("File0") { t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier) } for _, checksum := range fileEmpty.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "da39a3ee5e6b4b0d3255bfef95601890afd80709" { t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" { t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "d41d8cd98f00b204e9800998ecf8427e" { t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", checksum.Value) } @@ -575,20 +575,20 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if file1.FileName != "./file1.testdata.txt" { t.Errorf("expected %v, got %v", "./file1.testdata.txt", file1.FileName) } - if file1.FileSPDXIdentifier != spdx.ElementID("File1") { + if file1.FileSPDXIdentifier != common.ElementID("File1") { t.Errorf("expected %v, got %v", "File1", file1.FileSPDXIdentifier) } for _, checksum := range file1.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "024f870eb6323f532515f7a09d5646a97083b819" { t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" { t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "37c8208479dfe42d2bb29debd6e32d4a" { t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", checksum.Value) } @@ -616,20 +616,20 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if file3.FileName != "./file3.testdata.txt" { t.Errorf("expected %v, got %v", "./file3.testdata.txt", file3.FileName) } - if file3.FileSPDXIdentifier != spdx.ElementID("File2") { + if file3.FileSPDXIdentifier != common.ElementID("File2") { t.Errorf("expected %v, got %v", "File2", file3.FileSPDXIdentifier) } for _, checksum := range file3.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "a46114b70e163614f01c64adf44cdd438f158fce" { t.Errorf("expected %v, got %v", "a46114b70e163614f01c64adf44cdd438f158fce", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4" { t.Errorf("expected %v, got %v", "9fc181b9892720a15df1a1e561860318db40621bd4040ccdf18e110eb01d04b4", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "3e02d3ab9c58eec6911dbba37570934f" { t.Errorf("expected %v, got %v", "3e02d3ab9c58eec6911dbba37570934f", checksum.Value) } @@ -657,20 +657,20 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if file4.FileName != "./folder1/file4.testdata.txt" { t.Errorf("expected %v, got %v", "./folder1/file4.testdata.txt", file4.FileName) } - if file4.FileSPDXIdentifier != spdx.ElementID("File3") { + if file4.FileSPDXIdentifier != common.ElementID("File3") { t.Errorf("expected %v, got %v", "File3", file4.FileSPDXIdentifier) } for _, checksum := range file4.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "e623d7d7d782a7c8323c4d436acee4afab34320f" { t.Errorf("expected %v, got %v", "e623d7d7d782a7c8323c4d436acee4afab34320f", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59" { t.Errorf("expected %v, got %v", "574fa42c5e0806c0f8906a44884166540206f021527729407cd5326838629c59", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "96e6a25d35df5b1c477710ef4d0c7210" { t.Errorf("expected %v, got %v", "96e6a25d35df5b1c477710ef4d0c7210", checksum.Value) } @@ -698,20 +698,20 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if lastfile.FileName != "./lastfile.testdata.txt" { t.Errorf("expected %v, got %v", "/lastfile.testdata.txt", lastfile.FileName) } - if lastfile.FileSPDXIdentifier != spdx.ElementID("File4") { + if lastfile.FileSPDXIdentifier != common.ElementID("File4") { t.Errorf("expected %v, got %v", "File4", lastfile.FileSPDXIdentifier) } for _, checksum := range lastfile.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "26d6221d682d9ba59116f9753a701f34271c8ce1" { t.Errorf("expected %v, got %v", "26d6221d682d9ba59116f9753a701f34271c8ce1", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805" { t.Errorf("expected %v, got %v", "0a4bdaf990e9b330ff72022dd78110ae98b60e08337cf2105b89856373416805", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "f60baa793870d9085461ad6bbab50b7f" { t.Errorf("expected %v, got %v", "f60baa793870d9085461ad6bbab50b7f", checksum.Value) } @@ -742,10 +742,10 @@ func TestBuild2_2CreatesDocument(t *testing.T) { if rln == nil { t.Fatalf("expected non-nil Relationship, got nil") } - if rln.RefA != spdx.MakeDocElementID("", "DOCUMENT") { + if rln.RefA != common.MakeDocElementID("", "DOCUMENT") { t.Errorf("expected %v, got %v", "DOCUMENT", rln.RefA) } - if rln.RefB != spdx.MakeDocElementID("", "Package-project1") { + if rln.RefB != common.MakeDocElementID("", "Package-project1") { t.Errorf("expected %v, got %v", "Package-project1", rln.RefB) } if rln.Relationship != "DESCRIBES" { diff --git a/builder/builder2v1/build_creation_info.go b/builder/builder2v1/build_creation_info.go index c838b92..e128fb9 100644 --- a/builder/builder2v1/build_creation_info.go +++ b/builder/builder2v1/build_creation_info.go @@ -5,7 +5,8 @@ package builder2v1 import ( "time" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_1" ) // BuildCreationInfoSection2_1 creates an SPDX Package (version 2.1), returning that @@ -13,9 +14,9 @@ import ( // - creatorType: one of Person, Organization or Tool // - creator: creator string // - testValues: for testing only; call with nil when using in production -func BuildCreationInfoSection2_1(creatorType string, creator string, testValues map[string]string) (*spdx.CreationInfo2_1, error) { +func BuildCreationInfoSection2_1(creatorType string, creator string, testValues map[string]string) (*v2_1.CreationInfo, error) { // build creator slices - creators := []spdx.Creator{ + creators := []common.Creator{ // add builder as a tool { Creator: "github.com/spdx/tools-golang/builder", @@ -35,7 +36,7 @@ func BuildCreationInfoSection2_1(creatorType string, creator string, testValues created = testVal } - ci := &spdx.CreationInfo2_1{ + ci := &v2_1.CreationInfo{ Creators: creators, Created: created, } diff --git a/builder/builder2v1/build_file.go b/builder/builder2v1/build_file.go index 7e9e52e..57cc2bc 100644 --- a/builder/builder2v1/build_file.go +++ b/builder/builder2v1/build_file.go @@ -6,7 +6,8 @@ import ( "fmt" "path/filepath" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_1" "github.com/spdx/tools-golang/utils" ) @@ -15,7 +16,7 @@ import ( // - filePath: path to file, relative to prefix // - prefix: relative directory for filePath // - fileNumber: integer index (unique within package) to use in identifier -func BuildFileSection2_1(filePath string, prefix string, fileNumber int) (*spdx.File2_1, error) { +func BuildFileSection2_1(filePath string, prefix string, fileNumber int) (*v2_1.File, error) { // build the full file path p := filepath.Join(prefix, filePath) @@ -29,20 +30,20 @@ func BuildFileSection2_1(filePath string, prefix string, fileNumber int) (*spdx. i := fmt.Sprintf("File%d", fileNumber) // now build the File section - f := &spdx.File2_1{ + f := &v2_1.File{ FileName: filePath, - FileSPDXIdentifier: spdx.ElementID(i), - Checksums: []spdx.Checksum{ + FileSPDXIdentifier: common.ElementID(i), + Checksums: []common.Checksum{ { - Algorithm: spdx.SHA1, + Algorithm: common.SHA1, Value: ssha1, }, { - Algorithm: spdx.SHA256, + Algorithm: common.SHA256, Value: ssha256, }, { - Algorithm: spdx.MD5, + Algorithm: common.MD5, Value: smd5, }, }, diff --git a/builder/builder2v1/build_file_test.go b/builder/builder2v1/build_file_test.go index cea297b..5da0390 100644 --- a/builder/builder2v1/build_file_test.go +++ b/builder/builder2v1/build_file_test.go @@ -5,7 +5,7 @@ package builder2v1 import ( "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== File section builder tests ===== @@ -25,21 +25,21 @@ func TestBuilder2_1CanBuildFileSection(t *testing.T) { if file1.FileName != "/file1.testdata.txt" { t.Errorf("expected %v, got %v", "/file1.testdata.txt", file1.FileName) } - if file1.FileSPDXIdentifier != spdx.ElementID("File17") { + if file1.FileSPDXIdentifier != common.ElementID("File17") { t.Errorf("expected %v, got %v", "File17", file1.FileSPDXIdentifier) } for _, checksum := range file1.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "024f870eb6323f532515f7a09d5646a97083b819" { t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" { t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "37c8208479dfe42d2bb29debd6e32d4a" { t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", checksum.Value) } diff --git a/builder/builder2v1/build_package.go b/builder/builder2v1/build_package.go index f39bb53..7d8ddbb 100644 --- a/builder/builder2v1/build_package.go +++ b/builder/builder2v1/build_package.go @@ -4,11 +4,13 @@ package builder2v1 import ( "fmt" - "github.com/spdx/tools-golang/spdx" - "github.com/spdx/tools-golang/utils" "path/filepath" "regexp" "runtime" + + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_1" + "github.com/spdx/tools-golang/utils" ) // BuildPackageSection2_1 creates an SPDX Package (version 2.1), returning @@ -16,7 +18,7 @@ import ( // - packageName: name of package / directory // - dirRoot: path to directory to be analyzed // - pathsIgnore: slice of strings for filepaths to ignore -func BuildPackageSection2_1(packageName string, dirRoot string, pathsIgnore []string) (*spdx.Package2_1, error) { +func BuildPackageSection2_1(packageName string, dirRoot string, pathsIgnore []string) (*v2_1.Package, error) { // build the file section first, so we'll have it available // for calculating the package verification code filepaths, err := utils.GetAllFilePaths(dirRoot, pathsIgnore) @@ -35,7 +37,7 @@ func BuildPackageSection2_1(packageName string, dirRoot string, pathsIgnore []st dirRootLen = len(dirRoot) } - files := []*spdx.File2_1{} + files := []*v2_1.File{} fileNumber := 0 for _, fp := range filepaths { newFilePatch := "" @@ -58,9 +60,9 @@ func BuildPackageSection2_1(packageName string, dirRoot string, pathsIgnore []st } // now build the package section - pkg := &spdx.Package2_1{ + pkg := &v2_1.Package{ PackageName: packageName, - PackageSPDXIdentifier: spdx.ElementID(fmt.Sprintf("Package-%s", packageName)), + PackageSPDXIdentifier: common.ElementID(fmt.Sprintf("Package-%s", packageName)), PackageDownloadLocation: "NOASSERTION", FilesAnalyzed: true, IsFilesAnalyzedTagPresent: true, diff --git a/builder/builder2v1/build_package_test.go b/builder/builder2v1/build_package_test.go index 1458637..959ae65 100644 --- a/builder/builder2v1/build_package_test.go +++ b/builder/builder2v1/build_package_test.go @@ -5,7 +5,7 @@ package builder2v1 import ( "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== Package section builder tests ===== @@ -13,7 +13,7 @@ func TestBuilder2_1CanBuildPackageSection(t *testing.T) { packageName := "project1" dirRoot := "../../testdata/project1/" - wantVerificationCode := spdx.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} + wantVerificationCode := common.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} pkg, err := BuildPackageSection2_1(packageName, dirRoot, nil) if err != nil { @@ -26,7 +26,7 @@ func TestBuilder2_1CanBuildPackageSection(t *testing.T) { if pkg.PackageName != "project1" { t.Errorf("expected %v, got %v", "project1", pkg.PackageName) } - if pkg.PackageSPDXIdentifier != spdx.ElementID("Package-project1") { + if pkg.PackageSPDXIdentifier != common.ElementID("Package-project1") { t.Errorf("expected %v, got %v", "Package-project1", pkg.PackageSPDXIdentifier) } if pkg.PackageDownloadLocation != "NOASSERTION" { @@ -68,20 +68,20 @@ func TestBuilder2_1CanBuildPackageSection(t *testing.T) { if fileEmpty.FileName != "./emptyfile.testdata.txt" { t.Errorf("expected %v, got %v", "./emptyfile.testdata.txt", fileEmpty.FileName) } - if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") { + if fileEmpty.FileSPDXIdentifier != common.ElementID("File0") { t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier) } for _, checksum := range fileEmpty.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "da39a3ee5e6b4b0d3255bfef95601890afd80709" { t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" { t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "d41d8cd98f00b204e9800998ecf8427e" { t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", checksum.Value) } diff --git a/builder/builder2v1/build_relationship.go b/builder/builder2v1/build_relationship.go index 7c780e6..9f11d58 100644 --- a/builder/builder2v1/build_relationship.go +++ b/builder/builder2v1/build_relationship.go @@ -5,17 +5,18 @@ package builder2v1 import ( "fmt" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_1" ) // BuildRelationshipSection2_1 creates an SPDX Relationship (version 2.1) // solely for the document "DESCRIBES" package relationship, returning that // relationship or error if any is encountered. Arguments: // - packageName: name of package / directory -func BuildRelationshipSection2_1(packageName string) (*spdx.Relationship2_1, error) { - rln := &spdx.Relationship2_1{ - RefA: spdx.MakeDocElementID("", "DOCUMENT"), - RefB: spdx.MakeDocElementID("", fmt.Sprintf("Package-%s", packageName)), +func BuildRelationshipSection2_1(packageName string) (*v2_1.Relationship, error) { + rln := &v2_1.Relationship{ + RefA: common.MakeDocElementID("", "DOCUMENT"), + RefB: common.MakeDocElementID("", fmt.Sprintf("Package-%s", packageName)), Relationship: "DESCRIBES", } diff --git a/builder/builder2v1/build_relationship_test.go b/builder/builder2v1/build_relationship_test.go index 384f5b3..a24dedc 100644 --- a/builder/builder2v1/build_relationship_test.go +++ b/builder/builder2v1/build_relationship_test.go @@ -5,7 +5,7 @@ package builder2v1 import ( "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== Relationship section builder tests ===== @@ -20,10 +20,10 @@ func TestBuilder2_1CanBuildRelationshipSection(t *testing.T) { if rln == nil { t.Fatalf("expected non-nil relationship, got nil") } - if rln.RefA != spdx.MakeDocElementID("", "DOCUMENT") { + if rln.RefA != common.MakeDocElementID("", "DOCUMENT") { t.Errorf("expected %v, got %v", "DOCUMENT", rln.RefA) } - if rln.RefB != spdx.MakeDocElementID("", "Package-project17") { + if rln.RefB != common.MakeDocElementID("", "Package-project17") { t.Errorf("expected %v, got %v", "Package-project17", rln.RefB) } if rln.Relationship != "DESCRIBES" { diff --git a/builder/builder2v2/build_creation_info.go b/builder/builder2v2/build_creation_info.go index c24d2d3..74b43fb 100644 --- a/builder/builder2v2/build_creation_info.go +++ b/builder/builder2v2/build_creation_info.go @@ -5,7 +5,8 @@ package builder2v2 import ( "time" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_2" ) // BuildCreationInfoSection2_2 creates an SPDX Package (version 2.2), returning that @@ -16,9 +17,9 @@ import ( // - creatorType: one of Person, Organization or Tool // - creator: creator string // - testValues: for testing only; call with nil when using in production -func BuildCreationInfoSection2_2(creatorType string, creator string, testValues map[string]string) (*spdx.CreationInfo2_2, error) { +func BuildCreationInfoSection2_2(creatorType string, creator string, testValues map[string]string) (*v2_2.CreationInfo, error) { // build creator slices - creators := []spdx.Creator{ + creators := []common.Creator{ // add builder as a tool { Creator: "github.com/spdx/tools-golang/builder", @@ -38,7 +39,7 @@ func BuildCreationInfoSection2_2(creatorType string, creator string, testValues created = testVal } - ci := &spdx.CreationInfo2_2{ + ci := &v2_2.CreationInfo{ Creators: creators, Created: created, } diff --git a/builder/builder2v2/build_file.go b/builder/builder2v2/build_file.go index efdd979..4e69f58 100644 --- a/builder/builder2v2/build_file.go +++ b/builder/builder2v2/build_file.go @@ -6,7 +6,8 @@ import ( "fmt" "path/filepath" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_2" "github.com/spdx/tools-golang/utils" ) @@ -15,7 +16,7 @@ import ( // - filePath: path to file, relative to prefix // - prefix: relative directory for filePath // - fileNumber: integer index (unique within package) to use in identifier -func BuildFileSection2_2(filePath string, prefix string, fileNumber int) (*spdx.File2_2, error) { +func BuildFileSection2_2(filePath string, prefix string, fileNumber int) (*v2_2.File, error) { // build the full file path p := filepath.Join(prefix, filePath) @@ -29,20 +30,20 @@ func BuildFileSection2_2(filePath string, prefix string, fileNumber int) (*spdx. i := fmt.Sprintf("File%d", fileNumber) // now build the File section - f := &spdx.File2_2{ + f := &v2_2.File{ FileName: filePath, - FileSPDXIdentifier: spdx.ElementID(i), - Checksums: []spdx.Checksum{ + FileSPDXIdentifier: common.ElementID(i), + Checksums: []common.Checksum{ { - Algorithm: spdx.SHA1, + Algorithm: common.SHA1, Value: ssha1, }, { - Algorithm: spdx.SHA256, + Algorithm: common.SHA256, Value: ssha256, }, { - Algorithm: spdx.MD5, + Algorithm: common.MD5, Value: smd5, }, }, diff --git a/builder/builder2v2/build_file_test.go b/builder/builder2v2/build_file_test.go index 74a6a6a..8691583 100644 --- a/builder/builder2v2/build_file_test.go +++ b/builder/builder2v2/build_file_test.go @@ -5,7 +5,7 @@ package builder2v2 import ( "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== File section builder tests ===== @@ -25,21 +25,21 @@ func TestBuilder2_2CanBuildFileSection(t *testing.T) { if file1.FileName != "/file1.testdata.txt" { t.Errorf("expected %v, got %v", "/file1.testdata.txt", file1.FileName) } - if file1.FileSPDXIdentifier != spdx.ElementID("File17") { + if file1.FileSPDXIdentifier != common.ElementID("File17") { t.Errorf("expected %v, got %v", "File17", file1.FileSPDXIdentifier) } for _, checksum := range file1.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "024f870eb6323f532515f7a09d5646a97083b819" { t.Errorf("expected %v, got %v", "024f870eb6323f532515f7a09d5646a97083b819", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf" { t.Errorf("expected %v, got %v", "b14e44284ca477b4c0db34b15ca4c454b2947cce7883e22321cf2984050e15bf", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "37c8208479dfe42d2bb29debd6e32d4a" { t.Errorf("expected %v, got %v", "37c8208479dfe42d2bb29debd6e32d4a", checksum.Value) } diff --git a/builder/builder2v2/build_package.go b/builder/builder2v2/build_package.go index 9c460da..7cccf63 100644 --- a/builder/builder2v2/build_package.go +++ b/builder/builder2v2/build_package.go @@ -4,11 +4,13 @@ package builder2v2 import ( "fmt" - "github.com/spdx/tools-golang/spdx" - "github.com/spdx/tools-golang/utils" "path/filepath" "regexp" "runtime" + + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_2" + "github.com/spdx/tools-golang/utils" ) // BuildPackageSection2_2 creates an SPDX Package (version 2.2), returning @@ -16,7 +18,7 @@ import ( // - packageName: name of package / directory // - dirRoot: path to directory to be analyzed // - pathsIgnore: slice of strings for filepaths to ignore -func BuildPackageSection2_2(packageName string, dirRoot string, pathsIgnore []string) (*spdx.Package2_2, error) { +func BuildPackageSection2_2(packageName string, dirRoot string, pathsIgnore []string) (*v2_2.Package, error) { // build the file section first, so we'll have it available // for calculating the package verification code filepaths, err := utils.GetAllFilePaths(dirRoot, pathsIgnore) @@ -35,7 +37,7 @@ func BuildPackageSection2_2(packageName string, dirRoot string, pathsIgnore []st dirRootLen = len(dirRoot) } - files := []*spdx.File2_2{} + files := []*v2_2.File{} fileNumber := 0 for _, fp := range filepaths { newFilePatch := "" @@ -59,9 +61,9 @@ func BuildPackageSection2_2(packageName string, dirRoot string, pathsIgnore []st } // now build the package section - pkg := &spdx.Package2_2{ + pkg := &v2_2.Package{ PackageName: packageName, - PackageSPDXIdentifier: spdx.ElementID(fmt.Sprintf("Package-%s", packageName)), + PackageSPDXIdentifier: common.ElementID(fmt.Sprintf("Package-%s", packageName)), PackageDownloadLocation: "NOASSERTION", FilesAnalyzed: true, IsFilesAnalyzedTagPresent: true, diff --git a/builder/builder2v2/build_package_test.go b/builder/builder2v2/build_package_test.go index 3ab88d2..8a21416 100644 --- a/builder/builder2v2/build_package_test.go +++ b/builder/builder2v2/build_package_test.go @@ -5,7 +5,7 @@ package builder2v2 import ( "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== Package section builder tests ===== @@ -13,7 +13,7 @@ func TestBuilder2_2CanBuildPackageSection(t *testing.T) { packageName := "project1" dirRoot := "../../testdata/project1/" - wantVerificationCode := spdx.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} + wantVerificationCode := common.PackageVerificationCode{Value: "fc9ac4a370af0a471c2e52af66d6b4cf4e2ba12b"} pkg, err := BuildPackageSection2_2(packageName, dirRoot, nil) if err != nil { @@ -26,7 +26,7 @@ func TestBuilder2_2CanBuildPackageSection(t *testing.T) { if pkg.PackageName != "project1" { t.Errorf("expected %v, got %v", "project1", pkg.PackageName) } - if pkg.PackageSPDXIdentifier != spdx.ElementID("Package-project1") { + if pkg.PackageSPDXIdentifier != common.ElementID("Package-project1") { t.Errorf("expected %v, got %v", "Package-project1", pkg.PackageSPDXIdentifier) } if pkg.PackageDownloadLocation != "NOASSERTION" { @@ -68,20 +68,20 @@ func TestBuilder2_2CanBuildPackageSection(t *testing.T) { if fileEmpty.FileName != "./emptyfile.testdata.txt" { t.Errorf("expected %v, got %v", "./emptyfile.testdata.txt", fileEmpty.FileName) } - if fileEmpty.FileSPDXIdentifier != spdx.ElementID("File0") { + if fileEmpty.FileSPDXIdentifier != common.ElementID("File0") { t.Errorf("expected %v, got %v", "File0", fileEmpty.FileSPDXIdentifier) } for _, checksum := range fileEmpty.Checksums { switch checksum.Algorithm { - case spdx.SHA1: + case common.SHA1: if checksum.Value != "da39a3ee5e6b4b0d3255bfef95601890afd80709" { t.Errorf("expected %v, got %v", "da39a3ee5e6b4b0d3255bfef95601890afd80709", checksum.Value) } - case spdx.SHA256: + case common.SHA256: if checksum.Value != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" { t.Errorf("expected %v, got %v", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", checksum.Value) } - case spdx.MD5: + case common.MD5: if checksum.Value != "d41d8cd98f00b204e9800998ecf8427e" { t.Errorf("expected %v, got %v", "d41d8cd98f00b204e9800998ecf8427e", checksum.Value) } diff --git a/builder/builder2v2/build_relationship.go b/builder/builder2v2/build_relationship.go index 5eaf9de..1dd8f2b 100644 --- a/builder/builder2v2/build_relationship.go +++ b/builder/builder2v2/build_relationship.go @@ -5,17 +5,18 @@ package builder2v2 import ( "fmt" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" + "github.com/spdx/tools-golang/spdx/v2_2" ) // BuildRelationshipSection2_2 creates an SPDX Relationship (version 2.2) // solely for the document "DESCRIBES" package relationship, returning that // relationship or error if any is encountered. Arguments: // - packageName: name of package / directory -func BuildRelationshipSection2_2(packageName string) (*spdx.Relationship2_2, error) { - rln := &spdx.Relationship2_2{ - RefA: spdx.MakeDocElementID("", "DOCUMENT"), - RefB: spdx.MakeDocElementID("", fmt.Sprintf("Package-%s", packageName)), +func BuildRelationshipSection2_2(packageName string) (*v2_2.Relationship, error) { + rln := &v2_2.Relationship{ + RefA: common.MakeDocElementID("", "DOCUMENT"), + RefB: common.MakeDocElementID("", fmt.Sprintf("Package-%s", packageName)), Relationship: "DESCRIBES", } diff --git a/builder/builder2v2/build_relationship_test.go b/builder/builder2v2/build_relationship_test.go index 4e8ba99..126ddbe 100644 --- a/builder/builder2v2/build_relationship_test.go +++ b/builder/builder2v2/build_relationship_test.go @@ -5,7 +5,7 @@ package builder2v2 import ( "testing" - "github.com/spdx/tools-golang/spdx" + "github.com/spdx/tools-golang/spdx/common" ) // ===== Relationship section builder tests ===== @@ -20,10 +20,10 @@ func TestBuilder2_2CanBuildRelationshipSection(t *testing.T) { if rln == nil { t.Fatalf("expected non-nil relationship, got nil") } - if rln.RefA != spdx.MakeDocElementID("", "DOCUMENT") { + if rln.RefA != common.MakeDocElementID("", "DOCUMENT") { t.Errorf("expected %v, got %v", "DOCUMENT", rln.RefA) } - if rln.RefB != spdx.MakeDocElementID("", "Package-project17") { + if rln.RefB != common.MakeDocElementID("", "Package-project17") { t.Errorf("expected %v, got %v", "Package-project17", rln.RefB) } if rln.Relationship != "DESCRIBES" { |