fosslight-dependency 4.1.13__py3-none-any.whl → 4.1.15__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.
- fosslight_dependency/constant.py +6 -0
- fosslight_dependency/package_manager/Go.py +17 -15
- fosslight_dependency/package_manager/Npm.py +2 -2
- fosslight_dependency/run_dependency_scanner.py +22 -9
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/METADATA +1 -1
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/RECORD +13 -13
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/Apache-2.0.txt +0 -0
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/LICENSE +0 -0
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/LicenseRef-3rd_party_licenses.txt +0 -0
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/MIT.txt +0 -0
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/WHEEL +0 -0
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/entry_points.txt +0 -0
- {fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/top_level.txt +0 -0
fosslight_dependency/constant.py
CHANGED
@@ -118,37 +118,39 @@ class Go(PackageManager):
|
|
118
118
|
if f'{package_path}({oss_item.version})' in self.relation_tree:
|
119
119
|
dep_item.depends_on_raw = self.relation_tree[f'{package_path}({oss_item.version})']
|
120
120
|
|
121
|
-
|
122
|
-
|
123
|
-
dep_item.purl = get_url_to_purl(f"{
|
121
|
+
dn_loc_set = []
|
122
|
+
tmp_dn_loc = self.dn_url + package_path
|
123
|
+
dep_item.purl = get_url_to_purl(f"{tmp_dn_loc}@{oss_item.version}", self.package_manager_name)
|
124
124
|
purl_dict[f'{package_path}({oss_item.version})'] = dep_item.purl
|
125
125
|
|
126
126
|
if oss_origin_version:
|
127
|
-
|
128
|
-
|
129
|
-
|
127
|
+
oss_item.download_location = f"{tmp_dn_loc}@{oss_origin_version}"
|
128
|
+
dn_loc_set.append(oss_item.download_location)
|
129
|
+
dn_loc_set.append(tmp_dn_loc)
|
130
130
|
|
131
|
-
for
|
131
|
+
for dn_loc_i in dn_loc_set:
|
132
132
|
urlopen_success = False
|
133
133
|
while True:
|
134
134
|
try:
|
135
|
-
res = urllib.request.urlopen(
|
135
|
+
res = urllib.request.urlopen(dn_loc_i)
|
136
136
|
if res.getcode() == 200:
|
137
137
|
urlopen_success = True
|
138
|
-
if
|
138
|
+
if dn_loc_i == tmp_dn_loc:
|
139
139
|
if oss_item.version:
|
140
|
-
oss_item.comment = f'
|
140
|
+
oss_item.comment = (f'Not found {oss_item.download_location}, '
|
141
|
+
'get info from latest version.')
|
142
|
+
oss_item.download_location = tmp_dn_loc
|
141
143
|
break
|
142
144
|
except urllib.error.HTTPError as e:
|
143
145
|
if e.code == 429:
|
144
|
-
logger.info(f"{e} ({
|
146
|
+
logger.info(f"{e} ({dn_loc_i}), Retrying to connect after 20 seconds")
|
145
147
|
time.sleep(20)
|
146
148
|
continue
|
147
149
|
else:
|
148
|
-
logger.info(f"{e} ({
|
150
|
+
logger.info(f"{e} ({dn_loc_i})")
|
149
151
|
break
|
150
152
|
except Exception as e:
|
151
|
-
logger.warning(f"{e} ({
|
153
|
+
logger.warning(f"{e} ({dn_loc_i})")
|
152
154
|
break
|
153
155
|
if urlopen_success:
|
154
156
|
break
|
@@ -163,9 +165,9 @@ class Go(PackageManager):
|
|
163
165
|
|
164
166
|
repository_data = bs_obj.find('div', {'class': 'UnitMeta-repo'})
|
165
167
|
if repository_data:
|
166
|
-
oss_item.
|
168
|
+
oss_item.homepage = repository_data.find('a')['href']
|
167
169
|
else:
|
168
|
-
oss_item.
|
170
|
+
oss_item.homepage = oss_item.download_location
|
169
171
|
|
170
172
|
except Exception as e:
|
171
173
|
logging.warning(f"Fail to parse {package_path} in go mod : {e}")
|
@@ -176,8 +176,8 @@ class Npm(PackageManager):
|
|
176
176
|
if d[_private]:
|
177
177
|
private_pkg = True
|
178
178
|
|
179
|
-
oss_item.download_location = self.dn_url
|
180
|
-
dn_loc = f"{self.dn_url}{oss_init_name}
|
179
|
+
oss_item.download_location = f"{self.dn_url}{oss_init_name}/v/{oss_item.version}"
|
180
|
+
dn_loc = f"{self.dn_url}{oss_init_name}"
|
181
181
|
dep_item.purl = get_url_to_purl(dn_loc, self.package_manager_name)
|
182
182
|
purl_dict[f'{oss_init_name}({oss_item.version})'] = dep_item.purl
|
183
183
|
if d[_repository]:
|
@@ -61,6 +61,7 @@ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[
|
|
61
61
|
manifest_file_name.append(value)
|
62
62
|
|
63
63
|
found_manifest_file = []
|
64
|
+
suggested_files = []
|
64
65
|
for parent, dirs, files in os.walk(input_dir):
|
65
66
|
if len(files) < 1:
|
66
67
|
continue
|
@@ -76,6 +77,8 @@ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[
|
|
76
77
|
continue
|
77
78
|
if file in manifest_file_name:
|
78
79
|
found_manifest_file.append(file)
|
80
|
+
if file in const.SUGGESTED_PACKAGE.keys():
|
81
|
+
suggested_files.append(os.path.join(parent, file))
|
79
82
|
for dir in dirs:
|
80
83
|
for manifest_f in manifest_file_name:
|
81
84
|
manifest_l = manifest_f.split(os.path.sep)
|
@@ -111,7 +114,7 @@ def find_package_manager(input_dir, abs_path_to_exclude=[], manifest_file_name=[
|
|
111
114
|
ret = False
|
112
115
|
logger.info("Cannot find the manifest file.")
|
113
116
|
|
114
|
-
return ret, found_package_manager, input_dir
|
117
|
+
return ret, found_package_manager, input_dir, suggested_files
|
115
118
|
|
116
119
|
|
117
120
|
def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='', pip_activate_cmd='',
|
@@ -213,7 +216,9 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
|
|
213
216
|
manifest_file_name = []
|
214
217
|
|
215
218
|
try:
|
216
|
-
ret, found_package_manager, input_dir = find_package_manager(input_dir,
|
219
|
+
ret, found_package_manager, input_dir, suggested_files = find_package_manager(input_dir,
|
220
|
+
abs_path_to_exclude,
|
221
|
+
manifest_file_name)
|
217
222
|
if ret:
|
218
223
|
os.chdir(input_dir)
|
219
224
|
except Exception as e:
|
@@ -226,9 +231,18 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
|
|
226
231
|
logger.info('Try to analyze dependency without manifest file. (Manual mode)')
|
227
232
|
found_package_manager[package_manager] = []
|
228
233
|
else:
|
229
|
-
logger.error("Terminated: package manager could not be found.")
|
230
234
|
ret = False
|
231
|
-
|
235
|
+
if suggested_files:
|
236
|
+
suggested_files_str = []
|
237
|
+
suggested_files_str.append("Please check the following files and try again:")
|
238
|
+
for f in suggested_files:
|
239
|
+
pm = const.SUGGESTED_PACKAGE[f.split(os.path.sep)[-1]]
|
240
|
+
suggested_files_str.append(f"\t\t\t{f} ({pm}) detected, but {const.SUPPORT_PACKAE[pm]} missing.")
|
241
|
+
|
242
|
+
suggested_files_str.append("\t\t\tRefer: https://fosslight.org/fosslight-guide-en/scanner/3_dependency.html.")
|
243
|
+
scan_item.set_cover_comment('\n'.join(suggested_files_str))
|
244
|
+
else:
|
245
|
+
scan_item.set_cover_comment("No Package manager detected.")
|
232
246
|
|
233
247
|
pass_key = 'PASS'
|
234
248
|
success_pm = []
|
@@ -264,9 +278,6 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
|
|
264
278
|
info_msg = 'Check log file(fosslight_log*.txt) ' \
|
265
279
|
'and https://fosslight.org/fosslight-guide-en/scanner/3_dependency.html#-prerequisite.'
|
266
280
|
scan_item.set_cover_comment(f"Analysis failed Package manager: {', '.join(fail_pm)} ({info_msg})")
|
267
|
-
else:
|
268
|
-
if autodetect:
|
269
|
-
scan_item.set_cover_comment("No Package manager detected.")
|
270
281
|
|
271
282
|
if ret and graph_path:
|
272
283
|
graph_path = os.path.abspath(graph_path)
|
@@ -300,12 +311,14 @@ def run_dependency_scanner(package_manager='', input_dir='', output_dir_file='',
|
|
300
311
|
else:
|
301
312
|
logger.warning(f"{err_msg}")
|
302
313
|
for i in scan_item.get_cover_comment():
|
303
|
-
|
314
|
+
if ret:
|
315
|
+
logger.info(i)
|
316
|
+
else:
|
317
|
+
logger.warning(i)
|
304
318
|
else:
|
305
319
|
ret = False
|
306
320
|
logger.error(f"Fail to generate result file. msg:({err_msg})")
|
307
321
|
|
308
|
-
logger.warning("### FINISH ###")
|
309
322
|
return ret, scan_item
|
310
323
|
|
311
324
|
|
@@ -3,20 +3,20 @@ fosslight_dependency/_analyze_dependency.py,sha256=AKwKPEjA5x4p3oCWMJugQjd4zX9WK
|
|
3
3
|
fosslight_dependency/_graph_convertor.py,sha256=D8GwmJfuj9Wg3_DeKRPLGGdyHSLcoU2Q0VzKQbkJG4g,2267
|
4
4
|
fosslight_dependency/_help.py,sha256=S5tt26ccMLp-BEgWoXWyPxd8JzLtwZ5bIc-A2UTeM4k,3365
|
5
5
|
fosslight_dependency/_package_manager.py,sha256=e2elnBIxVjuAaFGVx1y9VUUcUSMrd8t9RKj4lCMXinY,14916
|
6
|
-
fosslight_dependency/constant.py,sha256=
|
6
|
+
fosslight_dependency/constant.py,sha256=5upuTFSTmmQwqv2u-MRcEG4lxaIZAIi_c-rAPhOrsfM,1226
|
7
7
|
fosslight_dependency/dependency_item.py,sha256=wNLWcsNycf3HQ5Pib2WrMeo2dn0eHCRg20NLcL95Qew,3345
|
8
|
-
fosslight_dependency/run_dependency_scanner.py,sha256=
|
8
|
+
fosslight_dependency/run_dependency_scanner.py,sha256=k1UnI3tFjF1ZRG3TAceEvJnrpy2oYXzgtXlcl_DBmKo,18519
|
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=erAHVVbnRW5KUHVcrPgaHFGJOClpnf4Oi-8HbnSuCaY,5918
|
13
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
|
-
fosslight_dependency/package_manager/Go.py,sha256=
|
15
|
+
fosslight_dependency/package_manager/Go.py,sha256=eEWvPoE3Jd0lMJAxWMNdFcoi21fJF0EwtRbjBDHF8KQ,7309
|
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=vAiBEAEGQD5eaFGVSLmrZ8AAtoz_IuTmhaWuPTmsku0,10503
|
19
|
-
fosslight_dependency/package_manager/Npm.py,sha256=
|
19
|
+
fosslight_dependency/package_manager/Npm.py,sha256=W7mdJKyIfPlO_S3jPTZiESnBOg7vQZxpkHSPQDazmcE,10659
|
20
20
|
fosslight_dependency/package_manager/Nuget.py,sha256=x1SPdxwXS2Oyi1RnLasvJJL-IFJl45VI2CXt3wReW24,8884
|
21
21
|
fosslight_dependency/package_manager/Pnpm.py,sha256=LDKooFGQHui_Q5U7XqSJ8KcCPiLVndXf5oGKTJExh5w,7056
|
22
22
|
fosslight_dependency/package_manager/Pub.py,sha256=Rrz8_6wdrmMU6f3vbbuAwyMbODBauXNnBbI619OQgDk,10184
|
@@ -24,12 +24,12 @@ fosslight_dependency/package_manager/Pypi.py,sha256=LPeI7amFXKxhXMSRwiVaKfhHL_D7
|
|
24
24
|
fosslight_dependency/package_manager/Swift.py,sha256=8fdbdAXTNlp2NDoSqQXm48JGAg9UhxA91M1-NhHkT40,6752
|
25
25
|
fosslight_dependency/package_manager/Unity.py,sha256=n1006GZ6Qrk8wAdO6wla1Q-JD7Evin7REVj-HDeTARc,5142
|
26
26
|
fosslight_dependency/package_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
|
-
fosslight_dependency-4.1.
|
28
|
-
fosslight_dependency-4.1.
|
29
|
-
fosslight_dependency-4.1.
|
30
|
-
fosslight_dependency-4.1.
|
31
|
-
fosslight_dependency-4.1.
|
32
|
-
fosslight_dependency-4.1.
|
33
|
-
fosslight_dependency-4.1.
|
34
|
-
fosslight_dependency-4.1.
|
35
|
-
fosslight_dependency-4.1.
|
27
|
+
fosslight_dependency-4.1.15.dist-info/Apache-2.0.txt,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
28
|
+
fosslight_dependency-4.1.15.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
29
|
+
fosslight_dependency-4.1.15.dist-info/LicenseRef-3rd_party_licenses.txt,sha256=EcsFt7aE1rp3OXAdJgmXayfOZdpRdBMcmRnyoqWMCsw,95687
|
30
|
+
fosslight_dependency-4.1.15.dist-info/METADATA,sha256=CxzxHgXhk1agjJoDriMPn-aX9Z8ekeKwtf3uL-z8HDU,5103
|
31
|
+
fosslight_dependency-4.1.15.dist-info/MIT.txt,sha256=9cx4CbArgByWvkoEZNqpzbpJgA9TUe2D62rMocQpgfs,1082
|
32
|
+
fosslight_dependency-4.1.15.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
33
|
+
fosslight_dependency-4.1.15.dist-info/entry_points.txt,sha256=e1QZbnCrQvfbwe9L6PxXnkRZMhl-PSo0QyUes0dGjU8,91
|
34
|
+
fosslight_dependency-4.1.15.dist-info/top_level.txt,sha256=Jc0V7VcVCH0TEM8ksb8dwroTYz4AmRaQnlr3FB71Hcs,21
|
35
|
+
fosslight_dependency-4.1.15.dist-info/RECORD,,
|
{fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/Apache-2.0.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/entry_points.txt
RENAMED
File without changes
|
{fosslight_dependency-4.1.13.dist-info → fosslight_dependency-4.1.15.dist-info}/top_level.txt
RENAMED
File without changes
|