Skip to content

Commit 5e9b89f

Browse files
authored
Add detection summary message (cover sheet) (#191)
Signed-off-by: jiyeong.seok <[email protected]>
1 parent 34efe4a commit 5e9b89f

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ lxml
44
virtualenv
55
pyyaml
66
lastversion
7-
fosslight_util>=1.4.39
7+
fosslight_util>=1.4.40
88
PyGithub
99
requirements-parser
1010
defusedxml

src/fosslight_dependency/run_dependency_scanner.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from fosslight_util.output_format import check_output_format, write_output_file
2121
if platform.system() != 'Windows':
2222
from fosslight_util.write_spdx import write_spdx
23+
from fosslight_util.cover import CoverItem
2324

2425
# Package Name
2526
_PKG_NAME = "fosslight_dependency"
@@ -158,21 +159,40 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
158159
finally:
159160
if not ret:
160161
logger.warning("Dependency scanning terminated because the package manager was not found.")
161-
return False, sheet_list
162+
ret = False
162163
else:
163164
found_package_manager[package_manager] = ''
164165

165166
pass_key = 'PASS'
167+
success_pm = []
168+
fail_pm = []
166169
for pm, manifest_file_name in found_package_manager.items():
167170
if manifest_file_name == pass_key:
168171
continue
169172
ret, package_sheet_list = analyze_dependency(pm, input_dir, output_path, pip_activate_cmd, pip_deactivate_cmd,
170173
output_custom_dir, app_name, github_token, manifest_file_name, direct)
171174
if ret:
175+
success_pm.append(f"{pm} ({', '.join(manifest_file_name)})")
172176
sheet_list[_sheet_name].extend(package_sheet_list)
173177
if pm == const.GRADLE:
174178
if const.ANDROID in found_package_manager.keys():
175179
found_package_manager[const.ANDROID] = pass_key
180+
else:
181+
fail_pm.append(f"{pm} ({', '.join(manifest_file_name)})")
182+
cover = CoverItem(tool_name=_PKG_NAME,
183+
start_time=_start_time,
184+
input_path=input_dir)
185+
cover_comment_arr = []
186+
if len(found_package_manager.keys()) > 0:
187+
if len(success_pm) > 0:
188+
cover_comment_arr.append(f"Analyzed Package manager: {', '.join(success_pm)}")
189+
if len(fail_pm) > 0:
190+
info_msg = 'Check https://fosslight.org/fosslight-guide-en/scanner/3_dependency.html#-prerequisite.'
191+
cover_comment_arr.append(f"Analysis failed Package manager: {', '.join(fail_pm)} ({info_msg})")
192+
else:
193+
cover_comment_arr.append("No Package manager detected.")
194+
195+
cover.comment = ' / '.join(cover_comment_arr)
176196

177197
output_file_without_ext = os.path.join(output_path, output_file)
178198
if format.startswith('spdx'):
@@ -184,12 +204,14 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
184204
logger.error('Windows not support spdx format.')
185205
else:
186206
success_write, err_msg, result_file = write_output_file(output_file_without_ext, output_extension,
187-
sheet_list, EXTENDED_HEADER)
207+
sheet_list, EXTENDED_HEADER, '', cover)
188208
if success_write:
189209
if result_file:
190-
logger.info(f"Writing Output file({result_file}), success:{success_write}")
210+
logger.info(f"Output file: {result_file}")
191211
else:
192212
logger.warning(f"{err_msg}")
213+
for i in cover_comment_arr:
214+
logger.info(i.strip())
193215
else:
194216
ret = False
195217
logger.error(f"Fail to generate result file. msg:({err_msg})")

0 commit comments

Comments
 (0)