fosslight-dependency 4.1.26__tar.gz → 4.1.28__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 (43) hide show
  1. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/PKG-INFO +2 -2
  2. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/requirements.txt +1 -1
  3. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/setup.py +1 -1
  4. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Nuget.py +11 -30
  5. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/run_dependency_scanner.py +7 -1
  6. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency.egg-info/PKG-INFO +2 -2
  7. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency.egg-info/requires.txt +1 -1
  8. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/LICENSE +0 -0
  9. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/LICENSES/Apache-2.0.txt +0 -0
  10. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/LICENSES/LicenseRef-3rd_party_licenses.txt +0 -0
  11. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/LICENSES/MIT.txt +0 -0
  12. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/MANIFEST.in +0 -0
  13. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/README.md +0 -0
  14. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/setup.cfg +0 -0
  15. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/LICENSES/LICENSE +0 -0
  16. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/LICENSES/LicenseRef-3rd_party_licenses.txt +0 -0
  17. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/__init__.py +0 -0
  18. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/_analyze_dependency.py +0 -0
  19. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/_graph_convertor.py +0 -0
  20. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/_help.py +0 -0
  21. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/_package_manager.py +0 -0
  22. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/constant.py +0 -0
  23. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/dependency_item.py +0 -0
  24. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Android.py +0 -0
  25. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Cargo.py +0 -0
  26. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Carthage.py +0 -0
  27. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Cocoapods.py +0 -0
  28. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Go.py +0 -0
  29. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Gradle.py +0 -0
  30. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Helm.py +0 -0
  31. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Maven.py +0 -0
  32. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Npm.py +0 -0
  33. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Pnpm.py +0 -0
  34. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Pub.py +0 -0
  35. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Pypi.py +0 -0
  36. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Swift.py +0 -0
  37. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Unity.py +0 -0
  38. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/Yarn.py +0 -0
  39. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency/package_manager/__init__.py +0 -0
  40. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency.egg-info/SOURCES.txt +0 -0
  41. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency.egg-info/dependency_links.txt +0 -0
  42. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency.egg-info/entry_points.txt +0 -0
  43. {fosslight_dependency-4.1.26 → fosslight_dependency-4.1.28}/src/fosslight_dependency.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fosslight_dependency
3
- Version: 4.1.26
3
+ Version: 4.1.28
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Download-URL: https://github.com/fosslight/fosslight_dependency_scanner
@@ -23,7 +23,7 @@ Requires-Dist: lxml
23
23
  Requires-Dist: virtualenv
24
24
  Requires-Dist: pyyaml
25
25
  Requires-Dist: lastversion
26
- Requires-Dist: fosslight_util>=2.1.30
26
+ Requires-Dist: fosslight_util>=2.1.34
27
27
  Requires-Dist: PyGithub
28
28
  Requires-Dist: requirements-parser
29
29
  Requires-Dist: defusedxml
@@ -4,7 +4,7 @@ lxml
4
4
  virtualenv
5
5
  pyyaml
6
6
  lastversion
7
- fosslight_util>=2.1.30
7
+ fosslight_util>=2.1.34
8
8
  PyGithub
9
9
  requirements-parser
10
10
  defusedxml
@@ -35,7 +35,7 @@ if __name__ == "__main__":
35
35
 
36
36
  setup(
37
37
  name=_PACKAEG_NAME,
38
- version='4.1.26',
38
+ version='4.1.28',
39
39
  package_dir={"": "src"},
40
40
  packages=find_namespace_packages(where='src'),
41
41
  description='FOSSLight Dependency Scanner',
@@ -48,25 +48,9 @@ class Nuget(PackageManager):
48
48
  logger.info(f"Found {self.directory_packages_props}. Using NuGet CPM flow.")
49
49
  self.packageReference = True
50
50
 
51
- has_any_assets = False
52
- for root, dirs, files in os.walk(self.input_dir):
53
- rel_root = os.path.relpath(root, self.input_dir)
54
- parts = rel_root.split(os.sep) if rel_root != os.curdir else []
55
- if any(p.lower() in self._exclude_dirs for p in parts):
56
- continue
57
- assets_candidate = os.path.join(root, 'obj', 'project.assets.json')
58
- if os.path.isfile(assets_candidate):
59
- has_any_assets = True
60
- break
61
-
62
- if not has_any_assets:
63
- logger.info("No project.assets.json found. Running 'dotnet restore'...")
64
- restore_targets = self._find_restore_targets()
65
- if not restore_targets:
66
- logger.warning("No .sln or .csproj files found to restore.")
67
- return False
68
-
69
- success = False
51
+ restore_targets = self._find_restore_targets()
52
+ if restore_targets:
53
+ logger.info("Found .sln or .csproj files. Running 'dotnet restore'...")
70
54
  for target_path, target_file in restore_targets:
71
55
  logger.info(f"Restoring: {os.path.relpath(target_file, self.input_dir)}")
72
56
  try:
@@ -78,22 +62,19 @@ class Nuget(PackageManager):
78
62
  timeout=300
79
63
  )
80
64
  if result.returncode == 0:
81
- success = True
65
+ logger.info(f"Successfully restored {os.path.relpath(target_file, self.input_dir)}")
82
66
  else:
83
67
  logger.warning(f"'dotnet restore' failed for {target_file} with return code {result.returncode}")
84
68
  if result.stderr:
85
69
  logger.warning(result.stderr)
86
70
  except FileNotFoundError:
87
71
  logger.error("'dotnet' command not found. Please install .NET SDK.")
88
- return False
89
72
  except subprocess.TimeoutExpired:
90
73
  logger.warning(f"'dotnet restore' timed out for {target_file}.")
91
74
  except Exception as e:
92
75
  logger.warning(f"Failed to run 'dotnet restore' for {target_file}: {e}")
93
-
94
- if not success:
95
- logger.warning("All 'dotnet restore' attempts failed.")
96
- return False
76
+ else:
77
+ logger.warning("No .sln or .csproj files found to restore.")
97
78
 
98
79
  self.project_dirs = []
99
80
  found_projects = False
@@ -377,11 +358,11 @@ class Nuget(PackageManager):
377
358
  elif f.endswith('.csproj'):
378
359
  csproj_files.append((depth, root, os.path.join(root, f)))
379
360
 
361
+ result = []
380
362
  if sln_files:
381
- sln_files.sort(key=lambda x: x[0])
382
- min_depth = sln_files[0][0]
383
- return [(d, f) for depth, d, f in sln_files if depth == min_depth]
363
+ result.extend([(d, f) for _, d, f in sln_files])
364
+
384
365
  if csproj_files:
385
- return [(d, f) for _, d, f in csproj_files]
366
+ result.extend([(d, f) for _, d, f in csproj_files])
386
367
 
387
- return []
368
+ return result
@@ -20,6 +20,7 @@ from fosslight_dependency._analyze_dependency import analyze_dependency
20
20
  from fosslight_util.output_format import check_output_formats_v2, write_output_file
21
21
  from fosslight_util.oss_item import ScannerItem
22
22
  from fosslight_dependency._graph_convertor import GraphConvertor
23
+ from fosslight_util.exclude import get_excluded_paths
23
24
 
24
25
  # Package Name
25
26
  _PKG_NAME = "fosslight_dependency"
@@ -244,7 +245,6 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
244
245
  else:
245
246
  input_dir = os.getcwd()
246
247
  os.chdir(input_dir)
247
- scan_item.set_cover_pathinfo(input_dir, path_to_exclude)
248
248
 
249
249
  autodetect = True
250
250
  found_package_manager = {}
@@ -268,6 +268,12 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
268
268
  manifest_file_name = []
269
269
 
270
270
  try:
271
+ excluded_path_with_default_exclusion, excluded_path_without_dot, _, _ = (
272
+ get_excluded_paths(input_dir, path_to_exclude, ''))
273
+ logger.debug(f"Skipped paths: {excluded_path_with_default_exclusion}")
274
+ scan_item.set_cover_pathinfo(input_dir, excluded_path_without_dot)
275
+ abs_path_to_exclude = [os.path.abspath(os.path.join(input_dir, path))
276
+ for path in excluded_path_with_default_exclusion]
271
277
  ret, found_package_manager, input_dir, suggested_files = find_package_manager(input_dir,
272
278
  abs_path_to_exclude,
273
279
  manifest_file_name,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fosslight_dependency
3
- Version: 4.1.26
3
+ Version: 4.1.28
4
4
  Summary: FOSSLight Dependency Scanner
5
5
  Home-page: https://github.com/fosslight/fosslight_dependency_scanner
6
6
  Download-URL: https://github.com/fosslight/fosslight_dependency_scanner
@@ -23,7 +23,7 @@ Requires-Dist: lxml
23
23
  Requires-Dist: virtualenv
24
24
  Requires-Dist: pyyaml
25
25
  Requires-Dist: lastversion
26
- Requires-Dist: fosslight_util>=2.1.30
26
+ Requires-Dist: fosslight_util>=2.1.34
27
27
  Requires-Dist: PyGithub
28
28
  Requires-Dist: requirements-parser
29
29
  Requires-Dist: defusedxml
@@ -4,7 +4,7 @@ lxml
4
4
  virtualenv
5
5
  pyyaml
6
6
  lastversion
7
- fosslight_util>=2.1.30
7
+ fosslight_util>=2.1.34
8
8
  PyGithub
9
9
  requirements-parser
10
10
  defusedxml