fosslight-dependency 4.1.27__py3-none-any.whl → 4.1.29__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.
@@ -0,0 +1,127 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright (c) 2020 LG Electronics Inc.
4
+ # SPDX-License-Identifier: Apache-2.0
5
+
6
+ import os
7
+ import sys
8
+ import argparse
9
+ import shutil
10
+ import fosslight_dependency.constant as const
11
+ from fosslight_dependency._help import print_version, print_help_msg
12
+ from fosslight_dependency.run_dependency_scanner import run_dependency_scanner, _PKG_NAME
13
+
14
+
15
+ def get_terminal_size():
16
+ size = shutil.get_terminal_size()
17
+ return size.lines
18
+
19
+
20
+ def paginate_file(file_path):
21
+ lines_per_page = get_terminal_size() - 1
22
+ with open(file_path, 'r', encoding='utf8') as file:
23
+ lines = file.readlines()
24
+
25
+ for i in range(0, len(lines), lines_per_page):
26
+ os.system('clear' if os.name == 'posix' else 'cls')
27
+ print(''.join(lines[i: i + lines_per_page]))
28
+ if i + lines_per_page < len(lines):
29
+ input("Press Enter to see the next page...")
30
+
31
+
32
+ def main():
33
+ package_manager = ''
34
+ input_dir = ''
35
+ output_dir = ''
36
+ path_to_exclude = []
37
+ pip_activate_cmd = ''
38
+ pip_deactivate_cmd = ''
39
+ output_custom_dir = ''
40
+ app_name = const.default_app_name
41
+ github_token = ''
42
+ format = []
43
+ graph_path = ''
44
+ graph_size = (600, 600)
45
+ direct = True
46
+ recursive = False
47
+
48
+ parser = argparse.ArgumentParser(add_help=False)
49
+ parser.add_argument('-h', '--help', action='store_true', required=False)
50
+ parser.add_argument('-v', '--version', action='store_true', required=False)
51
+ parser.add_argument('-m', '--manager', nargs=1, type=str, default='', required=False)
52
+ parser.add_argument('-p', '--path', nargs=1, type=str, required=False)
53
+ parser.add_argument('-e', '--exclude', nargs='*', required=False, default=[])
54
+ parser.add_argument('-o', '--output', nargs=1, type=str, required=False)
55
+ parser.add_argument('-a', '--activate', nargs=1, type=str, default='', required=False)
56
+ parser.add_argument('-d', '--deactivate', nargs=1, type=str, default='', required=False)
57
+ parser.add_argument('-c', '--customized', nargs=1, type=str, required=False)
58
+ parser.add_argument('-n', '--appname', nargs=1, type=str, required=False)
59
+ parser.add_argument('-t', '--token', nargs=1, type=str, required=False)
60
+ parser.add_argument('-f', '--format', nargs="*", type=str, required=False)
61
+ parser.add_argument('--graph-path', nargs=1, type=str, required=False)
62
+ parser.add_argument('--graph-size', nargs=2, type=int, metavar=("WIDTH", "HEIGHT"), required=False)
63
+ parser.add_argument('--direct', choices=('true', 'false'), default='True', required=False)
64
+ parser.add_argument('--notice', action='store_true', required=False)
65
+ parser.add_argument('-r', '--recursive', action='store_true', required=False)
66
+
67
+ args = parser.parse_args()
68
+
69
+ if args.help: # -h option
70
+ print_help_msg()
71
+
72
+ if args.version: # -v option
73
+ print_version(_PKG_NAME)
74
+
75
+ if args.manager: # -m option
76
+ package_manager = ''.join(args.manager)
77
+ if args.path: # -p option
78
+ input_dir = ''.join(args.path)
79
+ if args.exclude: # -e option
80
+ path_to_exclude = args.exclude
81
+ if args.output: # -o option
82
+ output_dir = ''.join(args.output)
83
+ if args.activate: # -a option
84
+ pip_activate_cmd = ''.join(args.activate)
85
+ if args.deactivate: # -d option
86
+ pip_deactivate_cmd = ''.join(args.deactivate)
87
+ if args.customized: # -c option
88
+ output_custom_dir = ''.join(args.customized)
89
+ if args.appname: # -n option
90
+ app_name = ''.join(args.appname)
91
+ if args.token: # -t option
92
+ github_token = ''.join(args.token)
93
+ if args.format: # -f option
94
+ format = list(args.format)
95
+ if args.graph_path:
96
+ graph_path = ''.join(args.graph_path)
97
+ if args.graph_size:
98
+ graph_size = args.graph_size
99
+ if args.direct: # --direct option
100
+ if args.direct == 'true' or args.direct == 'True':
101
+ direct = True
102
+ elif args.direct == 'false' or args.direct == 'False':
103
+ direct = False
104
+ if args.notice: # --notice option
105
+ try:
106
+ base_path = sys._MEIPASS
107
+ except Exception:
108
+ base_path = os.path.dirname(__file__)
109
+
110
+ data_path = os.path.join(base_path, 'LICENSES')
111
+ print(f"*** {_PKG_NAME} open source license notice ***")
112
+ for ff in os.listdir(data_path):
113
+ source_file = os.path.join(data_path, ff)
114
+ destination_file = os.path.join(base_path, ff)
115
+ paginate_file(source_file)
116
+ shutil.copyfile(source_file, destination_file)
117
+ sys.exit(0)
118
+ if args.recursive: # -r option
119
+ recursive = True
120
+
121
+ run_dependency_scanner(package_manager, input_dir, output_dir, pip_activate_cmd, pip_deactivate_cmd,
122
+ output_custom_dir, app_name, github_token, format, direct, path_to_exclude,
123
+ graph_path, graph_size, recursive)
124
+
125
+
126
+ if __name__ == '__main__':
127
+ main()
@@ -6,20 +6,18 @@
6
6
  import os
7
7
  import platform
8
8
  import sys
9
- import argparse
10
9
  import warnings
11
10
  from datetime import datetime
12
11
  import logging
13
- import shutil
14
12
  import fosslight_dependency.constant as const
15
13
  from collections import defaultdict
16
14
  from fosslight_util.set_log import init_log
17
15
  import fosslight_util.constant as constant
18
- from fosslight_dependency._help import print_version, print_help_msg
19
16
  from fosslight_dependency._analyze_dependency import analyze_dependency
20
17
  from fosslight_util.output_format import check_output_formats_v2, write_output_file
21
18
  from fosslight_util.oss_item import ScannerItem
22
19
  from fosslight_dependency._graph_convertor import GraphConvertor
20
+ from fosslight_util.exclude import get_excluded_paths
23
21
 
24
22
  # Package Name
25
23
  _PKG_NAME = "fosslight_dependency"
@@ -30,27 +28,9 @@ EXTENDED_HEADER = {_sheet_name: ['ID', 'Package URL', 'OSS Name',
30
28
  'OSS Version', 'License', 'Download Location',
31
29
  'Homepage', 'Copyright Text', 'Exclude',
32
30
  'Comment', 'Depends On']}
33
- _exclude_dir = ['node_modules', 'venv', 'Pods', 'Carthage']
34
31
 
35
32
 
36
- def get_terminal_size():
37
- size = shutil.get_terminal_size()
38
- return size.lines
39
-
40
-
41
- def paginate_file(file_path):
42
- lines_per_page = get_terminal_size() - 1
43
- with open(file_path, 'r', encoding='utf8') as file:
44
- lines = file.readlines()
45
-
46
- for i in range(0, len(lines), lines_per_page):
47
- os.system('clear' if os.name == 'posix' else 'cls')
48
- print(''.join(lines[i: i + lines_per_page]))
49
- if i + lines_per_page < len(lines):
50
- input("Press Enter to see the next page...")
51
-
52
-
53
- def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[], recursive=False):
33
+ def find_package_manager(input_dir, path_to_exclude=[], manifest_file_name=[], recursive=False, excluded_files=[]):
54
34
  ret = True
55
35
  if not manifest_file_name:
56
36
  for value in const.SUPPORT_PACKAE.values():
@@ -63,16 +43,14 @@ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[
63
43
  found_manifest_set = set()
64
44
  suggested_files = []
65
45
  for parent, dirs, files in os.walk(input_dir):
66
- parent_parts = parent.split(os.sep)
67
- if any(ex_dir in parent_parts for ex_dir in _exclude_dir):
68
- continue
69
- if os.path.abspath(parent) in abs_path_to_exclude:
46
+ rel_parent = os.path.relpath(parent, input_dir)
47
+ if rel_parent != '.' and rel_parent in path_to_exclude:
48
+ dirs[:] = []
70
49
  continue
71
50
  for file in files:
72
51
  file_path = os.path.join(parent, file)
73
- file_abs_path = os.path.abspath(file_path)
74
- if any(os.path.commonpath([file_abs_path, exclude_path]) == exclude_path
75
- for exclude_path in abs_path_to_exclude):
52
+ rel_file_path = os.path.relpath(file_path, input_dir)
53
+ if rel_file_path in excluded_files:
76
54
  continue
77
55
  if file in manifest_file_name:
78
56
  candidate = os.path.join(parent, file)
@@ -83,7 +61,13 @@ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[
83
61
  for manifest_f in manifest_file_name:
84
62
  candidate = os.path.join(parent, manifest_f)
85
63
  norm_candidate = os.path.normpath(candidate)
86
- if os.path.exists(candidate) and norm_candidate not in found_manifest_set:
64
+ if norm_candidate in found_manifest_set:
65
+ continue
66
+ rel_candidate = os.path.relpath(candidate, input_dir)
67
+ if rel_candidate in excluded_files:
68
+ logger.debug(f'Skipping excluded manifest: {rel_candidate}')
69
+ continue
70
+ if os.path.exists(candidate):
87
71
  found_manifest_set.add(norm_candidate)
88
72
  found_manifest_file.append(candidate)
89
73
  if file in const.SUGGESTED_PACKAGE.keys():
@@ -95,7 +79,13 @@ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[
95
79
  if len(manifest_l) > 1 and manifest_l[0] == dir:
96
80
  candidate = os.path.join(parent, manifest_f)
97
81
  norm_candidate = os.path.normpath(candidate)
98
- if os.path.exists(candidate) and norm_candidate not in found_manifest_set:
82
+ if norm_candidate in found_manifest_set:
83
+ continue
84
+ rel_candidate = os.path.relpath(candidate, input_dir)
85
+ if rel_candidate in excluded_files:
86
+ logger.debug(f'Skipping excluded manifest in dir: {rel_candidate}')
87
+ continue
88
+ if os.path.exists(candidate):
99
89
  found_manifest_set.add(norm_candidate)
100
90
  found_manifest_file.append(candidate)
101
91
 
@@ -172,7 +162,7 @@ def print_package_info(pm, log_lines, status=''):
172
162
  def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='', pip_activate_cmd='',
173
163
  pip_deactivate_cmd='', output_custom_dir='', app_name=const.default_app_name,
174
164
  github_token='', formats=[], direct=True, path_to_exclude=[], graph_path='',
175
- graph_size=(600, 600), recursive=False):
165
+ graph_size=(600, 600), recursive=False, all_exclude_mode=()):
176
166
  global logger
177
167
 
178
168
  ret = True
@@ -225,7 +215,6 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
225
215
 
226
216
  logger, _result_log = init_log(os.path.join(output_path, "fosslight_log_dep_" + _start_time + ".txt"),
227
217
  True, logging.INFO, logging.DEBUG, _PKG_NAME, "", path_to_exclude)
228
- abs_path_to_exclude = [os.path.abspath(os.path.join(input_dir, path)) for path in path_to_exclude]
229
218
 
230
219
  logger.info(f"Tool Info : {_result_log['Tool Info']}")
231
220
 
@@ -244,7 +233,6 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
244
233
  else:
245
234
  input_dir = os.getcwd()
246
235
  os.chdir(input_dir)
247
- scan_item.set_cover_pathinfo(input_dir, path_to_exclude)
248
236
 
249
237
  autodetect = True
250
238
  found_package_manager = {}
@@ -268,10 +256,19 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
268
256
  manifest_file_name = []
269
257
 
270
258
  try:
259
+ if all_exclude_mode and len(all_exclude_mode) == 4:
260
+ excluded_path_with_default_exclusion, excluded_path_without_dot, excluded_files, _ = all_exclude_mode
261
+ logger.debug(f"Skipped paths: {excluded_path_with_default_exclusion}")
262
+ else:
263
+ excluded_path_with_default_exclusion, excluded_path_without_dot, excluded_files, _ = (
264
+ get_excluded_paths(input_dir, path_to_exclude))
265
+
266
+ scan_item.set_cover_pathinfo(input_dir, excluded_path_without_dot)
271
267
  ret, found_package_manager, input_dir, suggested_files = find_package_manager(input_dir,
272
- abs_path_to_exclude,
268
+ excluded_path_with_default_exclusion,
273
269
  manifest_file_name,
274
- recursive)
270
+ recursive,
271
+ excluded_files)
275
272
  except Exception as e:
276
273
  if autodetect:
277
274
  logger.error(f'Fail to find package manager: {e}')
@@ -394,101 +391,3 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
394
391
  logger.error(f"Fail to generate result file. msg:({err_msg})")
395
392
 
396
393
  return ret, scan_item
397
-
398
-
399
- def main():
400
- package_manager = ''
401
- input_dir = ''
402
- output_dir = ''
403
- path_to_exclude = []
404
- pip_activate_cmd = ''
405
- pip_deactivate_cmd = ''
406
- output_custom_dir = ''
407
- app_name = const.default_app_name
408
- github_token = ''
409
- format = []
410
- graph_path = ''
411
- graph_size = (600, 600)
412
- direct = True
413
- recursive = False
414
-
415
- parser = argparse.ArgumentParser(add_help=False)
416
- parser.add_argument('-h', '--help', action='store_true', required=False)
417
- parser.add_argument('-v', '--version', action='store_true', required=False)
418
- parser.add_argument('-m', '--manager', nargs=1, type=str, default='', required=False)
419
- parser.add_argument('-p', '--path', nargs=1, type=str, required=False)
420
- parser.add_argument('-e', '--exclude', nargs='*', required=False, default=[])
421
- parser.add_argument('-o', '--output', nargs=1, type=str, required=False)
422
- parser.add_argument('-a', '--activate', nargs=1, type=str, default='', required=False)
423
- parser.add_argument('-d', '--deactivate', nargs=1, type=str, default='', required=False)
424
- parser.add_argument('-c', '--customized', nargs=1, type=str, required=False)
425
- parser.add_argument('-n', '--appname', nargs=1, type=str, required=False)
426
- parser.add_argument('-t', '--token', nargs=1, type=str, required=False)
427
- parser.add_argument('-f', '--format', nargs="*", type=str, required=False)
428
- parser.add_argument('--graph-path', nargs=1, type=str, required=False)
429
- parser.add_argument('--graph-size', nargs=2, type=int, metavar=("WIDTH", "HEIGHT"), required=False)
430
- parser.add_argument('--direct', choices=('true', 'false'), default='True', required=False)
431
- parser.add_argument('--notice', action='store_true', required=False)
432
- parser.add_argument('-r', '--recursive', action='store_true', required=False)
433
-
434
- args = parser.parse_args()
435
-
436
- if args.help: # -h option
437
- print_help_msg()
438
-
439
- if args.version: # -v option
440
- print_version(_PKG_NAME)
441
-
442
- if args.manager: # -m option
443
- package_manager = ''.join(args.manager)
444
- if args.path: # -p option
445
- input_dir = ''.join(args.path)
446
- if args.exclude: # -e option
447
- path_to_exclude = args.exclude
448
- if args.output: # -o option
449
- output_dir = ''.join(args.output)
450
- if args.activate: # -a option
451
- pip_activate_cmd = ''.join(args.activate)
452
- if args.deactivate: # -d option
453
- pip_deactivate_cmd = ''.join(args.deactivate)
454
- if args.customized: # -c option
455
- output_custom_dir = ''.join(args.customized)
456
- if args.appname: # -n option
457
- app_name = ''.join(args.appname)
458
- if args.token: # -t option
459
- github_token = ''.join(args.token)
460
- if args.format: # -f option
461
- format = list(args.format)
462
- if args.graph_path:
463
- graph_path = ''.join(args.graph_path)
464
- if args.graph_size:
465
- graph_size = args.graph_size
466
- if args.direct: # --direct option
467
- if args.direct == 'true' or args.direct == 'True':
468
- direct = True
469
- elif args.direct == 'false' or args.direct == 'False':
470
- direct = False
471
- if args.notice: # --notice option
472
- try:
473
- base_path = sys._MEIPASS
474
- except Exception:
475
- base_path = os.path.dirname(__file__)
476
-
477
- data_path = os.path.join(base_path, 'LICENSES')
478
- print(f"*** {_PKG_NAME} open source license notice ***")
479
- for ff in os.listdir(data_path):
480
- source_file = os.path.join(data_path, ff)
481
- destination_file = os.path.join(base_path, ff)
482
- paginate_file(source_file)
483
- shutil.copyfile(source_file, destination_file)
484
- sys.exit(0)
485
- if args.recursive: # -r option
486
- recursive = True
487
-
488
- run_dependency_scanner(package_manager, input_dir, output_dir, pip_activate_cmd, pip_deactivate_cmd,
489
- output_custom_dir, app_name, github_token, format, direct, path_to_exclude,
490
- graph_path, graph_size, recursive)
491
-
492
-
493
- if __name__ == '__main__':
494
- main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fosslight_dependency
3
- Version: 4.1.27
3
+ Version: 4.1.29
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.37
27
27
  Requires-Dist: PyGithub
28
28
  Requires-Dist: requirements-parser
29
29
  Requires-Dist: defusedxml
@@ -3,9 +3,10 @@ fosslight_dependency/_analyze_dependency.py,sha256=-iETqo4DNu_d8iJtC7Of0waY6YHjJ
3
3
  fosslight_dependency/_graph_convertor.py,sha256=D8GwmJfuj9Wg3_DeKRPLGGdyHSLcoU2Q0VzKQbkJG4g,2267
4
4
  fosslight_dependency/_help.py,sha256=1ER9CDiORhMdX1FYedPHcp2TRyvICPFGM1wxOOJ4PNE,3882
5
5
  fosslight_dependency/_package_manager.py,sha256=-hEOG44AnBoSKjMM-WQAbZIXhD8kHc-EwkOl1aLu-CA,15824
6
+ fosslight_dependency/cli.py,sha256=A4SyAr9zfwI5cKPiWHsPvkD64HtUlpS3CRJ9DN3ytqo,4929
6
7
  fosslight_dependency/constant.py,sha256=zaLjZsk4r5Gv6puCbV_Crt9pWrX_FEYzgEh0UQVIE4g,1291
7
8
  fosslight_dependency/dependency_item.py,sha256=wNLWcsNycf3HQ5Pib2WrMeo2dn0eHCRg20NLcL95Qew,3345
8
- fosslight_dependency/run_dependency_scanner.py,sha256=9hbrrW_EfJ_6XeajrVFl-B59q5MlMHXsMRJ2BjjKu6o,22736
9
+ fosslight_dependency/run_dependency_scanner.py,sha256=8OBGhwvjtKVA81MwhiqrExtPVynNxoPT95XKA9FaATo,19029
9
10
  fosslight_dependency/LICENSES/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
10
11
  fosslight_dependency/LICENSES/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
11
12
  fosslight_dependency/package_manager/Android.py,sha256=SgQyVxEYvAcCN3EgP9p4QOQZpLIGDahXRm8ntgoCM3c,3666
@@ -25,12 +26,12 @@ fosslight_dependency/package_manager/Swift.py,sha256=8fdbdAXTNlp2NDoSqQXm48JGAg9
25
26
  fosslight_dependency/package_manager/Unity.py,sha256=n1006GZ6Qrk8wAdO6wla1Q-JD7Evin7REVj-HDeTARc,5142
26
27
  fosslight_dependency/package_manager/Yarn.py,sha256=ZSi7_O5tMmS80Z58YOZxvai84_KyDpP8plo0x80YtVc,10069
27
28
  fosslight_dependency/package_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- fosslight_dependency-4.1.27.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
29
- fosslight_dependency-4.1.27.dist-info/licenses/LICENSES/Apache-2.0.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
30
- fosslight_dependency-4.1.27.dist-info/licenses/LICENSES/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
31
- fosslight_dependency-4.1.27.dist-info/licenses/LICENSES/MIT.txt,sha256=9cx4CbArgByWvkoEZNqpzbpJgA9TUe2D62rMocQpgfs,1082
32
- fosslight_dependency-4.1.27.dist-info/METADATA,sha256=XwTKgyccmsXe73qGPmUTN-LCENc00_jKobN1AWyUP-s,5555
33
- fosslight_dependency-4.1.27.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
34
- fosslight_dependency-4.1.27.dist-info/entry_points.txt,sha256=AeU-9Bl8al8Sa-XvhitGHdT3ZTPIrlhqADcp7s5OLF8,90
35
- fosslight_dependency-4.1.27.dist-info/top_level.txt,sha256=Jc0V7VcVCH0TEM8ksb8dwroTYz4AmRaQnlr3FB71Hcs,21
36
- fosslight_dependency-4.1.27.dist-info/RECORD,,
29
+ fosslight_dependency-4.1.29.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
30
+ fosslight_dependency-4.1.29.dist-info/licenses/LICENSES/Apache-2.0.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
31
+ fosslight_dependency-4.1.29.dist-info/licenses/LICENSES/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
32
+ fosslight_dependency-4.1.29.dist-info/licenses/LICENSES/MIT.txt,sha256=9cx4CbArgByWvkoEZNqpzbpJgA9TUe2D62rMocQpgfs,1082
33
+ fosslight_dependency-4.1.29.dist-info/METADATA,sha256=qscxTeXDGyev7R7fRV0bZS7NBc3DTnsWS2RhUgiXSaQ,5555
34
+ fosslight_dependency-4.1.29.dist-info/WHEEL,sha256=SmOxYU7pzNKBqASvQJ7DjX3XGUF92lrGhMb3R6_iiqI,91
35
+ fosslight_dependency-4.1.29.dist-info/entry_points.txt,sha256=bJlbAsDzlnvBYHImO0uVqbVXdaDcBzMu4i_X5M8Pd1w,71
36
+ fosslight_dependency-4.1.29.dist-info/top_level.txt,sha256=Jc0V7VcVCH0TEM8ksb8dwroTYz4AmRaQnlr3FB71Hcs,21
37
+ fosslight_dependency-4.1.29.dist-info/RECORD,,
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ fosslight_dependency = fosslight_dependency.cli:main
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- fosslight_dependency = fosslight_dependency.run_dependency_scanner:main