fosslight-dependency 3.13.9__tar.gz → 3.14.0__tar.gz

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 (35) hide show
  1. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/PKG-INFO +1 -1
  2. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/setup.py +1 -1
  3. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/constant.py +1 -1
  4. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Cocoapods.py +6 -3
  5. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Pypi.py +31 -9
  6. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency.egg-info/PKG-INFO +1 -1
  7. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/LICENSE +0 -0
  8. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/LICENSES/Apache-2.0.txt +0 -0
  9. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/LICENSES/LicenseRef-3rd_party_licenses.txt +0 -0
  10. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/LICENSES/MIT.txt +0 -0
  11. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/MANIFEST.in +0 -0
  12. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/README.md +0 -0
  13. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/requirements.txt +0 -0
  14. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/setup.cfg +0 -0
  15. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/__init__.py +0 -0
  16. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/_analyze_dependency.py +0 -0
  17. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/_help.py +0 -0
  18. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/_package_manager.py +0 -0
  19. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Android.py +0 -0
  20. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Carthage.py +0 -0
  21. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Go.py +0 -0
  22. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Gradle.py +0 -0
  23. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Helm.py +0 -0
  24. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Maven.py +0 -0
  25. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Npm.py +0 -0
  26. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Nuget.py +0 -0
  27. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Pub.py +0 -0
  28. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/Swift.py +0 -0
  29. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/package_manager/__init__.py +0 -0
  30. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency/run_dependency_scanner.py +0 -0
  31. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency.egg-info/SOURCES.txt +0 -0
  32. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency.egg-info/dependency_links.txt +0 -0
  33. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency.egg-info/entry_points.txt +0 -0
  34. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency.egg-info/requires.txt +0 -0
  35. {fosslight_dependency-3.13.9 → fosslight_dependency-3.14.0}/src/fosslight_dependency.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight_dependency
3
- Version: 3.13.9
3
+ Version: 3.14.0
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Author: LG Electronics
@@ -35,7 +35,7 @@ if __name__ == "__main__":
35
35
 
36
36
  setup(
37
37
  name=_PACKAEG_NAME,
38
- version='3.13.9',
38
+ version='3.14.0',
39
39
  package_dir={"": "src"},
40
40
  packages=find_namespace_packages(where='src'),
41
41
  description='FOSSLight Dependency Scanner',
@@ -25,7 +25,7 @@ HELM = 'helm'
25
25
 
26
26
  # Supported package name and manifest file
27
27
  SUPPORT_PACKAE = {
28
- PYPI: ['requirements.txt', 'setup.py'],
28
+ PYPI: ['requirements.txt', 'setup.py', 'pyproject.toml'],
29
29
  NPM: 'package.json',
30
30
  MAVEN: 'pom.xml',
31
31
  GRADLE: 'build.gradle',
@@ -86,7 +86,7 @@ class Cocoapods(PackageManager):
86
86
  try:
87
87
  comment_list = []
88
88
  deps_list = []
89
- if self.direct_dep:
89
+ if self.direct_dep and (len(self.direct_dep_list) > 0):
90
90
  if pod_oss_name_origin in self.direct_dep_list:
91
91
  comment_list.append('direct')
92
92
  else:
@@ -98,10 +98,12 @@ class Cocoapods(PackageManager):
98
98
  comment = ','.join(comment_list)
99
99
  deps = ','.join(deps_list)
100
100
 
101
+ oss_name_report = f'{self.package_manager_name}:{pod_oss_name_origin}'
101
102
  pod_oss_name = pod_oss_name_origin
102
103
  if '/' in pod_oss_name_origin:
103
104
  pod_oss_name = pod_oss_name_origin.split('/')[0]
104
105
  if pod_oss_name in external_source_list:
106
+ oss_name_report = pod_oss_name_origin
105
107
  podspec_filename = pod_oss_name + '.podspec.json'
106
108
  spec_file_path = os.path.join("Pods", "Local Podspecs", podspec_filename)
107
109
  else:
@@ -126,13 +128,14 @@ class Cocoapods(PackageManager):
126
128
  spec_file_path = os.path.join(file_path_without_version, pod_oss_version, file_path[-1])
127
129
 
128
130
  oss_name, oss_version, license_name, dn_loc, homepage = self.get_oss_in_podspec(spec_file_path)
131
+ if pod_oss_name in external_source_list:
132
+ homepage = dn_loc
129
133
  if oss_name == '':
130
134
  continue
131
135
  if pod_oss_version != oss_version:
132
136
  logger.warning(f'{pod_oss_name_origin} has different version({pod_oss_version})\
133
137
  with spec version({oss_version})')
134
- sheet_list.append([const.SUPPORT_PACKAE.get(self.package_manager_name),
135
- f'{self.package_manager_name}:{pod_oss_name_origin}',
138
+ sheet_list.append([const.SUPPORT_PACKAE.get(self.package_manager_name), oss_name_report,
136
139
  pod_oss_version, license_name, dn_loc, homepage, '', '', comment, deps])
137
140
  except Exception as e:
138
141
  logger.warning(f"Fail to get {pod_oss_name_origin}:{e}")
@@ -75,10 +75,10 @@ class Pypi(PackageManager):
75
75
  install_cmd_list = []
76
76
  for manifest_file in manifest_files:
77
77
  if os.path.exists(manifest_file):
78
- if manifest_file == 'setup.py':
79
- install_cmd_list.append("pip install .")
80
- elif manifest_file == 'requirements.txt':
78
+ if manifest_file == 'requirements.txt':
81
79
  install_cmd_list.append("pip install -r requirements.txt")
80
+ else:
81
+ install_cmd_list.append("pip install .")
82
82
  else:
83
83
  manifest_files.remove(manifest_file)
84
84
  self.set_manifest_file(manifest_files)
@@ -237,7 +237,7 @@ class Pypi(PackageManager):
237
237
  install_deptree_command = f"pip install {pipdeptree}"
238
238
  command_list.append(install_deptree_command)
239
239
  uninstall_deptree_command = f"pip uninstall -y {pipdeptree}"
240
- pipdeptree_command = f"{pipdeptree} --local-only --json-tree -e pipdeptree > {self.tmp_deptree_file}"
240
+ pipdeptree_command = f"{pipdeptree} --json-tree -e 'pipdeptree,pip,wheel,setuptools' > {self.tmp_deptree_file}"
241
241
  command_list.append(pipdeptree_command)
242
242
  command_list.append(uninstall_deptree_command)
243
243
  command_list.append(deactivate_command)
@@ -247,8 +247,16 @@ class Pypi(PackageManager):
247
247
  cmd_ret = subprocess.call(command, shell=True)
248
248
  if cmd_ret == 0:
249
249
  self.append_input_package_list_file(self.tmp_file_name)
250
+ with open(self.tmp_file_name, 'r', encoding='utf-8') as json_f:
251
+ json_data = json.load(json_f)
252
+ for d in json_data:
253
+ self.total_dep_list.append(re.sub(r"[-_.]+", "-", d['Name']).lower())
250
254
  if len(pip_license_pkg_list) != 0:
251
255
  self.append_input_package_list_file(self.tmp_pip_license_info_file_name)
256
+ with open(self.tmp_pip_license_info_file_name, 'r', encoding='utf-8') as json_f:
257
+ json_data = json.load(json_f)
258
+ for d in json_data:
259
+ self.total_dep_list.append(re.sub(r"[-_.]+", "-", d['Name']).lower())
252
260
  else:
253
261
  logger.error(f"Failed to run command: {command}")
254
262
  ret = False
@@ -287,7 +295,9 @@ class Pypi(PackageManager):
287
295
 
288
296
  comment_list = []
289
297
  deps_list = []
290
- if self.direct_dep_list:
298
+ if oss_init_name == self.package_name:
299
+ comment_list.append('root package')
300
+ elif self.direct_dep and len(self.direct_dep_list) > 0:
291
301
  if f'{oss_init_name}({oss_version})' in self.direct_dep_list:
292
302
  comment_list.append('direct')
293
303
  else:
@@ -312,12 +322,12 @@ class Pypi(PackageManager):
312
322
  deps = 'dependencies'
313
323
  installed_ver = 'installed_version'
314
324
 
315
- pkg_name = package[package_name]
325
+ pkg_name = re.sub(r"[-_.]+", "-", package[package_name]).lower()
316
326
  pkg_ver = package[installed_ver]
317
327
  dependency_list = package[deps]
318
328
  dependencies[f"{pkg_name}({pkg_ver})"] = []
319
329
  for dependency in dependency_list:
320
- dep_name = dependency[package_name]
330
+ dep_name = re.sub(r"[-_.]+", "-", dependency[package_name]).lower()
321
331
  dep_version = dependency[installed_ver]
322
332
  dependencies[f"{pkg_name}({pkg_ver})"].append(f"{dep_name}({dep_version})")
323
333
  if dependency[deps] != []:
@@ -332,8 +342,20 @@ class Pypi(PackageManager):
332
342
 
333
343
  with open(self.tmp_deptree_file, 'r', encoding='utf8') as f:
334
344
  json_f = json.load(f)
335
- for package in json_f:
336
- self.direct_dep_list.append(f"{package['package_name']}({package['installed_version']})")
345
+ root_package = json_f
346
+ if ('pyproject.toml' in self.manifest_file_name) or ('setup.py' in self.manifest_file_name):
347
+ direct_without_system_package = 0
348
+ for package in root_package:
349
+ package_name = re.sub(r"[-_.]+", "-", package['package_name']).lower()
350
+ if package_name in self.total_dep_list:
351
+ direct_without_system_package += 1
352
+ if direct_without_system_package == 1:
353
+ self.package_name = re.sub(r"[-_.]+", "-", json_f[0]['package_name']).lower()
354
+ root_package = json_f[0]['dependencies']
355
+
356
+ for package in root_package:
357
+ package_name = re.sub(r"[-_.]+", "-", package['package_name']).lower()
358
+ self.direct_dep_list.append(f"{package_name}({package['installed_version']})")
337
359
  if package['dependencies'] == []:
338
360
  continue
339
361
  self.relation_tree = self.get_dependencies(self.relation_tree, package)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fosslight-dependency
3
- Version: 3.13.9
3
+ Version: 3.14.0
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Author: LG Electronics