From 449d5e4bc839badb90527e8b2314c817e06d1d2b Mon Sep 17 00:00:00 2001 From: "jiyeong.seok" Date: Wed, 9 Oct 2024 21:33:30 +0900 Subject: [PATCH] Support swift package.resolved v3 Signed-off-by: jiyeong.seok --- src/fosslight_dependency/_package_manager.py | 2 +- src/fosslight_dependency/package_manager/Swift.py | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/fosslight_dependency/_package_manager.py b/src/fosslight_dependency/_package_manager.py index bf6c8d5f..ffe32806 100644 --- a/src/fosslight_dependency/_package_manager.py +++ b/src/fosslight_dependency/_package_manager.py @@ -303,7 +303,7 @@ def version_refine(oss_version): def connect_github(github_token): - if github_token is not None: + if len(github_token) > 0: g = Github(github_token) else: g = Github() diff --git a/src/fosslight_dependency/package_manager/Swift.py b/src/fosslight_dependency/package_manager/Swift.py index a3c8309e..2f5d1f2b 100644 --- a/src/fosslight_dependency/package_manager/Swift.py +++ b/src/fosslight_dependency/package_manager/Swift.py @@ -98,7 +98,7 @@ def parse_dep_tree_json(self, rel_json): return ret def parse_oss_information(self, f_name): - json_ver = 1 + json_ver = 2 purl_dict = {} with open(f_name, 'r', encoding='utf8') as json_file: @@ -107,11 +107,12 @@ def parse_oss_information(self, f_name): if json_ver == 1: json_data = json_raw["object"]["pins"] - elif json_ver == 2: + elif json_ver == 2 or json_ver == 3: json_data = json_raw["pins"] else: - logger.error(f'Not supported Package.resolved version {json_ver}') - return + logger.warning(f'Not supported Package.resolved version {json_ver}') + logger.warning('Try to parse as version 2(or 3)') + json_data = json_raw["pins"] g = connect_github(self.github_token) @@ -121,7 +122,7 @@ def parse_oss_information(self, f_name): if json_ver == 1: oss_origin_name = key['package'] oss_item.homepage = key['repositoryURL'] - elif json_ver == 2: + else: oss_origin_name = key['identity'] oss_item.homepage = key['location']