Skip to content

Commit 0fc4e5e

Browse files
authored
CM-17794 SCA CLI - Support Maven (#97)
1 parent 1970b3b commit 0fc4e5e

2 files changed

Lines changed: 23 additions & 19 deletions

File tree

cli/helpers/maven/base_restore_maven_dependencies.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ def __init__(self, context: click.Context, is_git_diff: bool,
3333
self.command_timeout = command_timeout
3434

3535
def restore(self, document: Document) -> Optional[Document]:
36-
restore_dependencies_document = None
37-
if self.is_project(document):
38-
restore_dependencies_document = self.try_restore_dependencies(document)
36+
restore_dependencies_document = self.try_restore_dependencies(document)
3937
return restore_dependencies_document
4038

4139
def get_manifest_file_path(self, document: Document) -> str:

cli/helpers/sca_code_scanner.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,29 +70,35 @@ def get_project_file_ecosystem(document: Document) -> Optional[str]:
7070
return None
7171

7272

73+
def try_restore_dependencies(context: click.Context, documents_to_add: List[Document], restore_dependencies,
74+
document: Document):
75+
if restore_dependencies.is_project(document):
76+
restore_dependencies_document = restore_dependencies.restore(document)
77+
if restore_dependencies_document is None:
78+
logger.warning('Error occurred while trying to generate dependencies tree. %s',
79+
{'filename': document.path})
80+
return
81+
82+
if restore_dependencies_document.content is None:
83+
logger.warning('Error occurred while trying to generate dependencies tree. %s',
84+
{'filename': document.path})
85+
restore_dependencies_document.content = ''
86+
else:
87+
is_monitor_action = context.obj.get('monitor')
88+
project_path = context.params.get('path')
89+
manifest_file_path = get_manifest_file_path(document, is_monitor_action, project_path)
90+
logger.debug(f"Succeeded to generate dependencies tree on path: {manifest_file_path}")
91+
documents_to_add.append(restore_dependencies_document)
92+
93+
7394
def add_dependencies_tree_document(context: click.Context, documents_to_scan: List[Document],
7495
is_git_diff: bool = False) -> None:
7596
documents_to_add: List[Document] = []
7697
restore_dependencies_list = restore_handlers(context, is_git_diff)
7798

7899
for restore_dependencies in restore_dependencies_list:
79100
for document in documents_to_scan:
80-
restore_dependencies_document = restore_dependencies.restore(document)
81-
if restore_dependencies_document is None:
82-
logger.warning('Error occurred while trying to generate dependencies tree. %s',
83-
{'filename': document.path})
84-
continue
85-
86-
if restore_dependencies_document.content is None:
87-
logger.warning('Error occurred while trying to generate dependencies tree. %s',
88-
{'filename': document.path})
89-
restore_dependencies_document.content = ''
90-
else:
91-
is_monitor_action = context.obj.get('monitor')
92-
project_path = context.params.get('path')
93-
manifest_file_path = get_manifest_file_path(document, is_monitor_action, project_path)
94-
logger.debug(f"Succeeded to generate dependencies tree on path: {manifest_file_path}")
95-
documents_to_add.append(restore_dependencies_document)
101+
try_restore_dependencies(context, documents_to_add, restore_dependencies, document)
96102

97103
documents_to_scan.extend(documents_to_add)
98104

0 commit comments

Comments
 (0)