fosslight-dependency 4.1.7__py3-none-any.whl → 4.1.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. fosslight_dependency/_package_manager.py +21 -95
  2. fosslight_dependency/package_manager/Carthage.py +4 -6
  3. fosslight_dependency/package_manager/Nuget.py +6 -10
  4. fosslight_dependency/package_manager/Pub.py +2 -5
  5. fosslight_dependency/package_manager/Pypi.py +3 -8
  6. fosslight_dependency/package_manager/Swift.py +1 -1
  7. fosslight_dependency/package_manager/Unity.py +3 -6
  8. fosslight_dependency/run_dependency_scanner.py +51 -30
  9. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/METADATA +3 -3
  10. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/RECORD +17 -20
  11. fosslight_dependency/third_party/askalono/askalono.exe +0 -0
  12. fosslight_dependency/third_party/askalono/askalono_macos +0 -0
  13. fosslight_dependency/third_party/nomos/nomossa +0 -0
  14. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/Apache-2.0.txt +0 -0
  15. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/LICENSE +0 -0
  16. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/LicenseRef-3rd_party_licenses.txt +0 -0
  17. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/MIT.txt +0 -0
  18. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/WHEEL +0 -0
  19. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/entry_points.txt +0 -0
  20. {fosslight_dependency-4.1.7.dist-info → fosslight_dependency-4.1.8.dist-info}/top_level.txt +0 -0
@@ -4,7 +4,6 @@
4
4
  # SPDX-License-Identifier: Apache-2.0
5
5
 
6
6
  import os
7
- import sys
8
7
  import logging
9
8
  import platform
10
9
  import re
@@ -12,9 +11,10 @@ import base64
12
11
  import subprocess
13
12
  import shutil
14
13
  import stat
14
+ from packageurl.contrib import url2purl
15
+ from askalono import identify
15
16
  import fosslight_util.constant as constant
16
17
  import fosslight_dependency.constant as const
17
- from packageurl.contrib import url2purl
18
18
 
19
19
  try:
20
20
  from github import Github
@@ -23,13 +23,9 @@ except Exception:
23
23
 
24
24
  logger = logging.getLogger(constant.LOGGER_NAME)
25
25
 
26
- # binary url to check license text
27
- _license_scanner_linux = os.path.join('third_party', 'nomos', 'nomossa')
28
- _license_scanner_macos = os.path.join('third_party', 'askalono', 'askalono_macos')
29
- _license_scanner_windows = os.path.join('third_party', 'askalono', 'askalono.exe')
30
-
31
26
  gradle_config = ['runtimeClasspath', 'runtime']
32
27
  android_config = ['releaseRuntimeClasspath']
28
+ ASKALONO_THRESHOLD = 0.7
33
29
 
34
30
 
35
31
  class PackageManager:
@@ -54,7 +50,6 @@ class PackageManager:
54
50
  self.dep_items = []
55
51
 
56
52
  self.platform = platform.system()
57
- self.license_scanner_bin = check_license_scanner(self.platform)
58
53
 
59
54
  def __del__(self):
60
55
  self.input_package_list_file = []
@@ -113,7 +108,7 @@ class PackageManager:
113
108
  cmd_gradle = "./gradlew"
114
109
  else:
115
110
  ret_task = False
116
- logger.warning('No gradlew file exists. (skip to find dependencies relationship.')
111
+ logger.warning('No gradlew file exists (Skip to find dependencies relationship.).')
117
112
  if ret_plugin:
118
113
  logger.warning('Also it cannot run android-dependency-scanning plugin.')
119
114
  if ret_task:
@@ -126,11 +121,10 @@ class PackageManager:
126
121
  self.parse_dependency_tree(ret)
127
122
  else:
128
123
  self.set_direct_dependencies(False)
129
- logger.warning("Failed to run allDeps task.")
124
+ logger.warning(f"Fail to run {cmd}")
130
125
  except Exception as e:
131
126
  self.set_direct_dependencies(False)
132
- logger.error(f'Fail to run {cmd}: {e}')
133
- logger.warning('It cannot print the direct/transitive dependencies relationship.')
127
+ logger.warning(f"Cannot print 'depends on' information. (fail {cmd}: {e})")
134
128
 
135
129
  if ret_plugin:
136
130
  cmd = f"{cmd_gradle} generateLicenseTxt"
@@ -157,6 +151,9 @@ class PackageManager:
157
151
  if os.path.isfile(module_gradle_backup):
158
152
  os.remove(module_build_gradle)
159
153
  shutil.move(module_gradle_backup, module_build_gradle)
154
+ if os.path.isfile(self.input_file_name):
155
+ logger.info(f'Found {self.input_file_name}, skip to run plugin.')
156
+ ret_task = True
160
157
  return ret_task
161
158
 
162
159
  def add_android_plugin_in_gradle(self, module_build_gradle):
@@ -316,9 +313,8 @@ def connect_github(github_token):
316
313
  return g
317
314
 
318
315
 
319
- def get_github_license(g, github_repo, platform, license_scanner_bin):
316
+ def get_github_license(g, github_repo):
320
317
  license_name = ''
321
- tmp_license_txt_file_name = 'tmp_license.txt'
322
318
 
323
319
  try:
324
320
  repository = g.get_repo(github_repo)
@@ -334,96 +330,26 @@ def get_github_license(g, github_repo, platform, license_scanner_bin):
334
330
  if license_name == "" or license_name == "NOASSERTION":
335
331
  try:
336
332
  license_txt_data = base64.b64decode(repository.get_license().content).decode('utf-8')
337
- tmp_license_txt = open(tmp_license_txt_file_name, 'w', encoding='utf-8')
338
- tmp_license_txt.write(license_txt_data)
339
- tmp_license_txt.close()
340
- license_name = check_and_run_license_scanner(platform, license_scanner_bin, tmp_license_txt_file_name)
333
+ license_name = check_license_name(license_txt_data)
341
334
  except Exception:
342
- logger.info("Cannot find the license name with license scanner binary.")
343
-
344
- if os.path.isfile(tmp_license_txt_file_name):
345
- os.remove(tmp_license_txt_file_name)
335
+ logger.info("Cannot find the license name with askalono.")
346
336
  except Exception:
347
337
  logger.info("Cannot find the license name with github api.")
348
338
 
349
339
  return license_name
350
340
 
351
341
 
352
- def check_license_scanner(platform):
353
- license_scanner_bin = ''
354
-
355
- if platform == const.LINUX:
356
- license_scanner = _license_scanner_linux
357
- elif platform == const.MACOS:
358
- license_scanner = _license_scanner_macos
359
- elif platform == const.WINDOWS:
360
- license_scanner = _license_scanner_windows
361
- else:
362
- logger.debug("Not supported OS to analyze license text with binary.")
363
-
364
- if license_scanner:
365
- try:
366
- base_path = sys._MEIPASS
367
- except Exception:
368
- base_path = os.path.dirname(__file__)
369
-
370
- data_path = os.path.join(base_path, license_scanner)
371
- license_scanner_bin = data_path
372
-
373
- return license_scanner_bin
374
-
375
-
376
- def check_and_run_license_scanner(platform, license_scanner_bin, file_dir):
342
+ def check_license_name(license_txt, is_filepath=False):
377
343
  license_name = ''
344
+ if is_filepath:
345
+ with open(license_txt, 'r', encoding='utf-8') as f:
346
+ license_content = f.read()
347
+ else:
348
+ license_content = license_txt
378
349
 
379
- if not license_scanner_bin:
380
- logger.error('Not supported OS for license scanner binary.')
381
-
382
- try:
383
- tmp_output_file_name = "tmp_license_scanner_output.txt"
384
-
385
- if file_dir == "UNKNOWN":
386
- license_name = ""
387
- else:
388
- if platform == const.LINUX:
389
- run_license_scanner = f"{license_scanner_bin} {file_dir} > {tmp_output_file_name}"
390
- elif platform == const.MACOS:
391
- run_license_scanner = f"{license_scanner_bin} identify {file_dir} > {tmp_output_file_name}"
392
- elif platform == const.WINDOWS:
393
- run_license_scanner = f"{license_scanner_bin} identify {file_dir} > {tmp_output_file_name}"
394
- else:
395
- run_license_scanner = ''
396
-
397
- if run_license_scanner is None:
398
- license_name = ""
399
- return license_name
400
- else:
401
- ret = subprocess.run(run_license_scanner, shell=True, stderr=subprocess.PIPE)
402
- if ret.returncode != 0 or ret.stderr:
403
- os.remove(tmp_output_file_name)
404
- return ""
405
-
406
- fp = open(tmp_output_file_name, "r", encoding='utf8')
407
- license_output = fp.read()
408
- fp.close()
409
-
410
- if platform == const.LINUX:
411
- license_output_re = re.findall(r'.*contains license\(s\)\s(.*)', license_output)
412
- else:
413
- license_output_re = re.findall(r"License:\s{1}(\S*)\s{1}", license_output)
414
-
415
- if len(license_output_re) == 1:
416
- license_name = license_output_re[0]
417
- if license_name == "No_license_found":
418
- license_name = ""
419
- else:
420
- license_name = ""
421
- os.remove(tmp_output_file_name)
422
-
423
- except Exception as ex:
424
- logger.error(f"Failed to run license scan binary. {ex}")
425
- license_name = ""
426
-
350
+ detect_askalono = identify(license_content)
351
+ if detect_askalono.score > ASKALONO_THRESHOLD:
352
+ license_name = detect_askalono.name
427
353
  return license_name
428
354
 
429
355
 
@@ -9,8 +9,8 @@ import os
9
9
  import fosslight_util.constant as constant
10
10
  import fosslight_dependency.constant as const
11
11
  from fosslight_dependency._package_manager import PackageManager
12
- from fosslight_dependency._package_manager import connect_github, get_github_license, check_and_run_license_scanner
13
- from fosslight_dependency._package_manager import get_url_to_purl
12
+ from fosslight_dependency._package_manager import connect_github, get_github_license
13
+ from fosslight_dependency._package_manager import get_url_to_purl, check_license_name
14
14
  from fosslight_dependency.dependency_item import DependencyItem
15
15
  from fosslight_util.oss_item import OssItem
16
16
 
@@ -79,9 +79,7 @@ class Carthage(PackageManager):
79
79
  for license_file_reg in license_file_regs:
80
80
  match_result = re.match(license_file_reg, filename_in_dir.lower())
81
81
  if match_result is not None:
82
- license_name = check_and_run_license_scanner(self.platform,
83
- self.license_scanner_bin,
84
- filename_with_checkout_path)
82
+ license_name = check_license_name(filename_with_checkout_path, True)
85
83
  find_license = True
86
84
  break
87
85
  if license_name == '':
@@ -89,7 +87,7 @@ class Carthage(PackageManager):
89
87
  try:
90
88
  if not g:
91
89
  g = connect_github(self.github_token)
92
- license_name = get_github_license(g, oss_path, self.platform, self.license_scanner_bin)
90
+ license_name = get_github_license(g, oss_path)
93
91
  except Exception as e:
94
92
  logger.warning(f"Failed to get license with github api: {e}")
95
93
  license_name == ''
@@ -12,7 +12,7 @@ import requests
12
12
  import fosslight_util.constant as constant
13
13
  import fosslight_dependency.constant as const
14
14
  from fosslight_dependency._package_manager import PackageManager
15
- from fosslight_dependency._package_manager import check_and_run_license_scanner, get_url_to_purl
15
+ from fosslight_dependency._package_manager import check_license_name, get_url_to_purl
16
16
  from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl
17
17
  from fosslight_util.oss_item import OssItem
18
18
 
@@ -54,7 +54,8 @@ class Nuget(PackageManager):
54
54
  oss_item.version = oss_version
55
55
 
56
56
  license_name = ''
57
- response = requests.get(f'{self.nuget_api_url}{oss_origin_name}/{oss_item.version}/{oss_origin_name}.nuspec')
57
+ response = requests.get(f'{self.nuget_api_url.lower()}{oss_origin_name.lower()}/ \
58
+ {oss_item.version.lower()}/{oss_origin_name.lower()}.nuspec')
58
59
  if response.status_code == 200:
59
60
  root = fromstring(response.text)
60
61
  xmlns = ''
@@ -73,14 +74,9 @@ class Nuget(PackageManager):
73
74
  if license_url is not None:
74
75
  url_res = requests.get(license_url.text)
75
76
  if url_res.status_code == 200:
76
- tmp_license_txt = open(tmp_license_txt_file_name, 'w', encoding='utf-8')
77
- tmp_license_txt.write(url_res.text)
78
- tmp_license_txt.close()
79
- license_name_with_license_scanner = check_and_run_license_scanner(self.platform,
80
- self.license_scanner_bin,
81
- tmp_license_txt_file_name)
82
- if license_name_with_license_scanner != "":
83
- license_name = license_name_with_license_scanner
77
+ license_name_with_scanner = check_license_name(url_res.text)
78
+ if license_name_with_scanner != "":
79
+ license_name = license_name_with_scanner
84
80
  else:
85
81
  license_name = license_url.text
86
82
  oss_item.license = license_name
@@ -10,11 +10,10 @@ import re
10
10
  import shutil
11
11
  import yaml
12
12
  import subprocess
13
- from askalono import identify
14
13
  import fosslight_util.constant as constant
15
14
  import fosslight_dependency.constant as const
16
15
  from fosslight_dependency._package_manager import PackageManager
17
- from fosslight_dependency._package_manager import get_url_to_purl
16
+ from fosslight_dependency._package_manager import get_url_to_purl, check_license_name
18
17
  from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl
19
18
  from fosslight_util.oss_item import OssItem
20
19
 
@@ -135,9 +134,7 @@ class Pub(PackageManager):
135
134
  purl_dict[f'{oss_origin_name}({oss_item.version})'] = dep_item.purl
136
135
  license_txt = json_data['license']
137
136
  if license_txt is not None:
138
- detect_askalono = identify(license_txt)
139
- if detect_askalono.score > 0.7:
140
- oss_item.license = detect_askalono.name
137
+ oss_item.license = check_license_name(license_txt)
141
138
 
142
139
  if self.direct_dep:
143
140
  if oss_origin_name not in self.total_dep_list:
@@ -13,7 +13,7 @@ import re
13
13
  import fosslight_util.constant as constant
14
14
  import fosslight_dependency.constant as const
15
15
  from fosslight_dependency._package_manager import PackageManager
16
- from fosslight_dependency._package_manager import check_and_run_license_scanner, get_url_to_purl
16
+ from fosslight_dependency._package_manager import check_license_name, get_url_to_purl
17
17
  from fosslight_dependency.dependency_item import DependencyItem, change_dependson_to_purl
18
18
  from fosslight_util.oss_item import OssItem
19
19
 
@@ -111,7 +111,7 @@ class Pypi(PackageManager):
111
111
  install_cmd = cmd_separator.join(install_cmd_list)
112
112
  else:
113
113
  logger.error(const.SUPPORT_PACKAE[self.package_manager_name])
114
- logger.error('Cannot create virtualenv becuase it cannot find: '
114
+ logger.error('Cannot create virtualenv because it cannot find: '
115
115
  + ', '.join(const.SUPPORT_PACKAE[self.package_manager_name]))
116
116
  logger.error("Please run with '-a' and '-d' option.")
117
117
  return False
@@ -302,12 +302,7 @@ class Pypi(PackageManager):
302
302
  if license_name is not None:
303
303
  license_name = license_name.replace(';', ',')
304
304
  else:
305
- license_file_dir = d['LicenseFile']
306
- license_name_with_lic_scanner = check_and_run_license_scanner(self.platform,
307
- self.license_scanner_bin,
308
- license_file_dir)
309
- if license_name_with_lic_scanner != "":
310
- license_name = license_name_with_lic_scanner
305
+ license_name = check_license_name(d['LicenseFile'], True)
311
306
  oss_item.license = license_name
312
307
 
313
308
  if oss_init_name == self.package_name:
@@ -140,7 +140,7 @@ class Swift(PackageManager):
140
140
  github_repo = "/".join(oss_item.homepage.split('/')[-2:])
141
141
  dep_item.purl = get_url_to_purl(oss_item.download_location, self.package_manager_name, github_repo, oss_item.version)
142
142
  purl_dict[f'{oss_origin_name}({oss_item.version})'] = dep_item.purl
143
- oss_item.license = get_github_license(g, github_repo, self.platform, self.license_scanner_bin)
143
+ oss_item.license = get_github_license(g, github_repo)
144
144
 
145
145
  if self.direct_dep and len(self.direct_dep_list) > 0:
146
146
  if oss_origin_name in self.direct_dep_list:
@@ -11,13 +11,12 @@ import requests
11
11
  import fosslight_util.constant as constant
12
12
  import fosslight_dependency.constant as const
13
13
  from fosslight_dependency._package_manager import PackageManager
14
- from fosslight_dependency._package_manager import check_and_run_license_scanner, get_url_to_purl
14
+ from fosslight_dependency._package_manager import check_license_name, get_url_to_purl
15
15
  from fosslight_dependency.dependency_item import DependencyItem
16
16
  from fosslight_util.oss_item import OssItem
17
17
 
18
18
  logger = logging.getLogger(constant.LOGGER_NAME)
19
19
  proprietary_license = 'Proprietary License'
20
- unclassifed_license = 'UnclassifiedLicense'
21
20
  license_md = 'LICENSE.md'
22
21
  third_party_md = 'Third Party Notices.md'
23
22
 
@@ -50,10 +49,8 @@ class Unity(PackageManager):
50
49
  oss_packagecache_dir = os.path.join(self.packageCache_dir, f'{oss_item.name}@{oss_item.version}')
51
50
  license_f = os.path.join(oss_packagecache_dir, license_md)
52
51
  if os.path.isfile(license_f):
53
- license_name = check_and_run_license_scanner(self.platform,
54
- self.license_scanner_bin,
55
- license_f)
56
- if license_name == unclassifed_license or license_name == '':
52
+ license_name = check_license_name(license_f, True)
53
+ if license_name == '':
57
54
  with open(license_f, 'r', encoding='utf-8') as f:
58
55
  for line in f:
59
56
  matched_l = re.search(r'Unity\s[\s\w]*\sLicense', line)
@@ -51,17 +51,17 @@ def paginate_file(file_path):
51
51
  input("Press Enter to see the next page...")
52
52
 
53
53
 
54
- def find_package_manager(input_dir, abs_path_to_exclude=[]):
54
+ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[]):
55
55
  ret = True
56
- manifest_file_name = []
57
- for value in const.SUPPORT_PACKAE.values():
58
- if isinstance(value, list):
59
- manifest_file_name.extend(value)
60
- else:
61
- manifest_file_name.append(value)
56
+ if not manifest_file_name:
57
+ for value in const.SUPPORT_PACKAE.values():
58
+ if isinstance(value, list):
59
+ manifest_file_name.extend(value)
60
+ else:
61
+ manifest_file_name.append(value)
62
62
 
63
63
  found_manifest_file = []
64
- for (parent, _, files) in os.walk(input_dir):
64
+ for parent, dirs, files in os.walk(input_dir):
65
65
  if len(files) < 1:
66
66
  continue
67
67
  if os.path.basename(parent) in _exclude_dir:
@@ -76,6 +76,13 @@ def find_package_manager(input_dir, abs_path_to_exclude=[]):
76
76
  continue
77
77
  if file in manifest_file_name:
78
78
  found_manifest_file.append(file)
79
+ for dir in dirs:
80
+ for manifest_f in manifest_file_name:
81
+ manifest_l = manifest_f.split(os.path.sep)
82
+ if len(manifest_l) > 1:
83
+ if manifest_l[0] == dir:
84
+ if os.path.exists(os.path.join(parent, manifest_f)):
85
+ found_manifest_file.append(manifest_f)
79
86
  if len(found_manifest_file) > 0:
80
87
  input_dir = parent
81
88
  break
@@ -99,7 +106,7 @@ def find_package_manager(input_dir, abs_path_to_exclude=[]):
99
106
  logger.warning(f"### Set Package Manager = {', '.join(found_package_manager.keys())}")
100
107
  else:
101
108
  ret = False
102
- logger.info("It cannot find the manifest file.")
109
+ logger.info("Cannot find the manifest file.")
103
110
 
104
111
  return ret, found_package_manager, input_dir
105
112
 
@@ -168,17 +175,6 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
168
175
  logger.error(msg)
169
176
  return False, scan_item
170
177
 
171
- autodetect = True
172
- if package_manager:
173
- autodetect = False
174
- support_packagemanager = list(const.SUPPORT_PACKAE.keys())
175
-
176
- if package_manager not in support_packagemanager:
177
- logger.error(f"(-m option) You entered the unsupported package manager({package_manager}).")
178
- logger.error("Please enter the supported package manager({0}) with '-m' option."
179
- .format(", ".join(support_packagemanager)))
180
- return False, scan_item
181
-
182
178
  if input_dir:
183
179
  if os.path.isdir(input_dir):
184
180
  os.chdir(input_dir)
@@ -192,20 +188,44 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
192
188
  os.chdir(input_dir)
193
189
  scan_item.set_cover_pathinfo(input_dir, path_to_exclude)
194
190
 
191
+ autodetect = True
195
192
  found_package_manager = {}
196
- if autodetect:
197
- try:
198
- ret, found_package_manager, input_dir = find_package_manager(input_dir, abs_path_to_exclude)
193
+ if package_manager:
194
+ autodetect = False
195
+ support_packagemanager = list(const.SUPPORT_PACKAE.keys())
196
+
197
+ if package_manager not in support_packagemanager:
198
+ logger.error(f"(-m option) You entered the unsupported package manager({package_manager}).")
199
+ logger.error("Please enter the supported package manager({0}) with '-m' option."
200
+ .format(", ".join(support_packagemanager)))
201
+ return False, scan_item
202
+ manifest_file_name = []
203
+ value = const.SUPPORT_PACKAE[package_manager]
204
+ if isinstance(value, list):
205
+ manifest_file_name.extend(value)
206
+ else:
207
+ manifest_file_name.append(value)
208
+ scan_item.set_cover_comment(f"Manual detect mode (-m {package_manager})")
209
+ else:
210
+ manifest_file_name = []
211
+
212
+ try:
213
+ ret, found_package_manager, input_dir = find_package_manager(input_dir, abs_path_to_exclude, manifest_file_name)
214
+ if ret:
199
215
  os.chdir(input_dir)
200
- except Exception as e:
216
+ except Exception as e:
217
+ if autodetect:
201
218
  logger.error(f'Fail to find package manager: {e}')
202
219
  ret = False
203
- finally:
204
- if not ret:
205
- logger.warning("Dependency scanning terminated because the package manager was not found.")
220
+ finally:
221
+ if not ret:
222
+ if not autodetect:
223
+ logger.info('Try to analyze dependency without manifest file. (Manual mode)')
224
+ found_package_manager[package_manager] = []
225
+ else:
226
+ logger.error("Terminated: package manager could not be found.")
206
227
  ret = False
207
- else:
208
- found_package_manager[package_manager] = ["manual detect ('-m option')"]
228
+ return False, scan_item
209
229
 
210
230
  pass_key = 'PASS'
211
231
  success_pm = []
@@ -242,7 +262,8 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
242
262
  'and https://fosslight.org/fosslight-guide-en/scanner/3_dependency.html#-prerequisite.'
243
263
  scan_item.set_cover_comment(f"Analysis failed Package manager: {', '.join(fail_pm)} ({info_msg})")
244
264
  else:
245
- scan_item.set_cover_comment("No Package manager detected.")
265
+ if autodetect:
266
+ scan_item.set_cover_comment("No Package manager detected.")
246
267
 
247
268
  if ret and graph_path:
248
269
  graph_path = os.path.abspath(graph_path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight-dependency
3
- Version: 4.1.7
3
+ Version: 4.1.8
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Author: LG Electronics
@@ -9,10 +9,10 @@ Download-URL: https://github.com/fosslight/fosslight_dependency_scanner
9
9
  Platform: UNKNOWN
10
10
  Classifier: License :: OSI Approved :: Apache Software License
11
11
  Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.6
13
- Classifier: Programming Language :: Python :: 3.7
14
12
  Classifier: Programming Language :: Python :: 3.8
15
13
  Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
16
  Description-Content-Type: text/markdown
17
17
  Requires-Dist: openpyxl
18
18
  Requires-Dist: beautifulsoup4
@@ -2,36 +2,33 @@ fosslight_dependency/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
2
2
  fosslight_dependency/_analyze_dependency.py,sha256=uYbHDlFfEf-LsCWc6hTKN-QCD1T_2jaEgBf3z4M_4Lk,4226
3
3
  fosslight_dependency/_graph_convertor.py,sha256=D8GwmJfuj9Wg3_DeKRPLGGdyHSLcoU2Q0VzKQbkJG4g,2267
4
4
  fosslight_dependency/_help.py,sha256=INeP24fFfV2HPhZJMqk_KCu08X7nneAumBqMWQ7Sbw8,3336
5
- fosslight_dependency/_package_manager.py,sha256=6yKL_f7w2hV_Kcz1SFushCp3n9l4uO8vQSjg1Gb-Xm8,17883
5
+ fosslight_dependency/_package_manager.py,sha256=GUqMLidGGVrek0XpApron3SWFf66VsmfycsmnvxQOkY,14890
6
6
  fosslight_dependency/constant.py,sha256=FAkzrW1S6Ua_TAbvQ2y6d0dhEZcgonB11miKUj7lB98,1080
7
7
  fosslight_dependency/dependency_item.py,sha256=wNLWcsNycf3HQ5Pib2WrMeo2dn0eHCRg20NLcL95Qew,3345
8
- fosslight_dependency/run_dependency_scanner.py,sha256=HVee14Ol9QTjIKhDTVu0b3Shg43JQTQTV4NufbOhWHs,16471
8
+ fosslight_dependency/run_dependency_scanner.py,sha256=zFlHAwj9fhsiaut_VhvQneX8Ngz82xgau4ThmHxk8pI,17399
9
9
  fosslight_dependency/LICENSES/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
10
10
  fosslight_dependency/LICENSES/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
11
11
  fosslight_dependency/package_manager/Android.py,sha256=0UZFvbLxDIreerK4fR316YPyhUpPliV_kfZulrxkUyo,3218
12
12
  fosslight_dependency/package_manager/Cargo.py,sha256=I27IKtUFf2fOr9ZngB8T9x6pPYhpk1m5CxbwM1dw9rk,5898
13
- fosslight_dependency/package_manager/Carthage.py,sha256=qCHH6bhdowgPR5mS89AQLl_0Z5LRoyMZU4vAVHzPNCM,6390
13
+ fosslight_dependency/package_manager/Carthage.py,sha256=VU506KafUiHBrr_62iOOXNI1fDOreOQgcC2EWM5PpQo,6122
14
14
  fosslight_dependency/package_manager/Cocoapods.py,sha256=k_URV1ekMOU8l_y9_KIp_luu96ZGOl1xLIkH737VREA,8524
15
15
  fosslight_dependency/package_manager/Go.py,sha256=O-6DTTRM2EoTpCVmlIPKFy8ZTz64EHTooOAoUimjeyk,6491
16
16
  fosslight_dependency/package_manager/Gradle.py,sha256=IYmj9q3XiE_DPKdtll6lyRr98lFuyKWW2qz57X26Fn0,4359
17
17
  fosslight_dependency/package_manager/Helm.py,sha256=ucx2Y0tWX37UHIzIGaRyTe7uQ2vlu2nUuO09hOMq9ZU,4223
18
18
  fosslight_dependency/package_manager/Maven.py,sha256=XDVTmxRjeQmATpJDP__yw47Pk5e4utXAkkEkskXPQCQ,10443
19
19
  fosslight_dependency/package_manager/Npm.py,sha256=hwKC08m05KlHgfQpPX7lnDEJC-A7WKF9OniYW4n9TDM,10638
20
- fosslight_dependency/package_manager/Nuget.py,sha256=FGD5tV1mTBl3G9mxWWnoMwLZUiSW7VCcHS7FxhCqU1g,9334
21
- fosslight_dependency/package_manager/Pub.py,sha256=ZsBSEyYkdIQCFCbc9OeAf5-hAw2oY_fA-KDvnVi9z_E,10299
22
- fosslight_dependency/package_manager/Pypi.py,sha256=7eBB5ko4HhRhby5txo9NXZl6td1O_8k11v8R9FwxygU,16254
23
- fosslight_dependency/package_manager/Swift.py,sha256=rAGecP705HJQGBQUj_4ssyty_lDF4YwTt7ymjso0-VQ,6793
24
- fosslight_dependency/package_manager/Unity.py,sha256=lnaQvq4JhpJROzkiLkHl-Pee3SJ6Xw7T6ZqzhZdHFkw,5412
20
+ fosslight_dependency/package_manager/Nuget.py,sha256=x1SPdxwXS2Oyi1RnLasvJJL-IFJl45VI2CXt3wReW24,8884
21
+ fosslight_dependency/package_manager/Pub.py,sha256=Rrz8_6wdrmMU6f3vbbuAwyMbODBauXNnBbI619OQgDk,10184
22
+ fosslight_dependency/package_manager/Pypi.py,sha256=A3pXJC_7H7PTa6i3B_PvJY85qsc6W9AqOze7kB8E3Ws,15831
23
+ fosslight_dependency/package_manager/Swift.py,sha256=8fdbdAXTNlp2NDoSqQXm48JGAg9UhxA91M1-NhHkT40,6752
24
+ fosslight_dependency/package_manager/Unity.py,sha256=n1006GZ6Qrk8wAdO6wla1Q-JD7Evin7REVj-HDeTARc,5142
25
25
  fosslight_dependency/package_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- fosslight_dependency/third_party/askalono/askalono.exe,sha256=NyngElHbrg3zLFRVwn6fPDZE_EDAEb1N8tiwWoCm4pQ,4743680
27
- fosslight_dependency/third_party/askalono/askalono_macos,sha256=cYSNXhAQpkdd8lkgnY5skNeDmU_8DIuP84eFi0OXKkE,5589868
28
- fosslight_dependency/third_party/nomos/nomossa,sha256=oFF9I-fhug6AVNyFnWeVXwDRin6NWSvk1g7mHBotB3Q,866408
29
- fosslight_dependency-4.1.7.dist-info/Apache-2.0.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
30
- fosslight_dependency-4.1.7.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
31
- fosslight_dependency-4.1.7.dist-info/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
32
- fosslight_dependency-4.1.7.dist-info/METADATA,sha256=orsO5uM786m_xuRI-_Jd-67tNiMtV5FXBIj4fKWJ2ik,4982
33
- fosslight_dependency-4.1.7.dist-info/MIT.txt,sha256=9cx4CbArgByWvkoEZNqpzbpJgA9TUe2D62rMocQpgfs,1082
34
- fosslight_dependency-4.1.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
35
- fosslight_dependency-4.1.7.dist-info/entry_points.txt,sha256=e1QZbnCrQvfbwe9L6PxXnkRZMhl-PSo0QyUes0dGjU8,91
36
- fosslight_dependency-4.1.7.dist-info/top_level.txt,sha256=Jc0V7VcVCH0TEM8ksb8dwroTYz4AmRaQnlr3FB71Hcs,21
37
- fosslight_dependency-4.1.7.dist-info/RECORD,,
26
+ fosslight_dependency-4.1.8.dist-info/Apache-2.0.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
27
+ fosslight_dependency-4.1.8.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
28
+ fosslight_dependency-4.1.8.dist-info/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
29
+ fosslight_dependency-4.1.8.dist-info/METADATA,sha256=t5oEFJ8QBw9OduU3e6TB_IaeC4EcABk13D9D0mfO87Q,4984
30
+ fosslight_dependency-4.1.8.dist-info/MIT.txt,sha256=9cx4CbArgByWvkoEZNqpzbpJgA9TUe2D62rMocQpgfs,1082
31
+ fosslight_dependency-4.1.8.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
32
+ fosslight_dependency-4.1.8.dist-info/entry_points.txt,sha256=e1QZbnCrQvfbwe9L6PxXnkRZMhl-PSo0QyUes0dGjU8,91
33
+ fosslight_dependency-4.1.8.dist-info/top_level.txt,sha256=Jc0V7VcVCH0TEM8ksb8dwroTYz4AmRaQnlr3FB71Hcs,21
34
+ fosslight_dependency-4.1.8.dist-info/RECORD,,