Skip to content

Commit d8565c7

Browse files
committed
Fix the spdx windows issue
Signed-off-by: jiyeong.seok <[email protected]>
1 parent d81904c commit d8565c7

File tree

2 files changed

+26
-20
lines changed

2 files changed

+26
-20
lines changed

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ coloredlogs
88
python3-wget
99
beautifulsoup4
1010
jsonmerge
11-
spdx-tools
11+
spdx-tools>=0.8.2;sys_platform!="win32"
1212
setuptools>=65.5.1 # not directly required, pinned by Snyk to avoid a vulnerability
1313
numpy; python_version < '3.8'
1414
numpy>=1.22.2; python_version >= '3.8'

src/fosslight_util/write_spdx.py

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,6 @@
88
import logging
99
import re
1010
from pathlib import Path
11-
from spdx_tools.common.spdx_licensing import spdx_licensing
12-
from spdx_tools.spdx.model import (
13-
Actor,
14-
ActorType,
15-
Checksum,
16-
ChecksumAlgorithm,
17-
CreationInfo,
18-
Document,
19-
File,
20-
Package,
21-
Relationship,
22-
RelationshipType,
23-
SpdxNoAssertion,
24-
SpdxNone
25-
)
26-
from spdx_tools.spdx.validation.document_validator import validate_full_spdx_document
27-
from spdx_tools.spdx.writer.write_anything import write_file
2811
from datetime import datetime
2912
from fosslight_util.spdx_licenses import get_spdx_licenses_json, get_license_from_nick
3013
from fosslight_util.constant import (LOGGER_NAME, FOSSLIGHT_DEPENDENCY, FOSSLIGHT_SCANNER,
@@ -33,6 +16,27 @@
3316

3417
logger = logging.getLogger(LOGGER_NAME)
3518

19+
try:
20+
from spdx_tools.common.spdx_licensing import spdx_licensing
21+
from spdx_tools.spdx.model import (
22+
Actor,
23+
ActorType,
24+
Checksum,
25+
ChecksumAlgorithm,
26+
CreationInfo,
27+
Document,
28+
File,
29+
Package,
30+
Relationship,
31+
RelationshipType,
32+
SpdxNoAssertion,
33+
SpdxNone
34+
)
35+
from spdx_tools.spdx.validation.document_validator import validate_full_spdx_document
36+
from spdx_tools.spdx.writer.write_anything import write_file
37+
except Exception:
38+
logger.info('No import spdx-tools')
39+
3640

3741
def get_license_list_version():
3842
version = 'N/A'
@@ -87,6 +91,7 @@ def write_spdx(output_file_without_ext, output_extension, scan_item, spdx_versio
8791
checksums=[Checksum(ChecksumAlgorithm.SHA1, file_item.checksum)])
8892
file_license = []
8993
file_copyright = []
94+
file_comment = []
9095
for oss_item in file_item.oss_items:
9196
oss_licenses = []
9297
declared_oss_licenses = []
@@ -100,6 +105,7 @@ def write_spdx(output_file_without_ext, output_extension, scan_item, spdx_versio
100105
except Exception:
101106
logger.debug(f'No spdx license name: {oi}')
102107
lic_comment.append(oi)
108+
file_comment.append(oi)
103109
if oss_licenses:
104110
file_license.extend(oss_licenses)
105111
if oss_item.copyright != '':
@@ -157,8 +163,8 @@ def write_spdx(output_file_without_ext, output_extension, scan_item, spdx_versio
157163
file.license_info_in_file = file_license
158164
if file_copyright:
159165
file.copyright_text = '\n'.join(file_copyright)
160-
if lic_comment:
161-
file.license_comment = ' '.join(lic_comment)
166+
if file_comment:
167+
file.license_comment = ' '.join(file_comment)
162168
doc.files.append(file)
163169

164170
if len(doc.packages) > 0:

0 commit comments

Comments
 (0)