Commit f3168af
committed
Merge #312: Fix of external SDK crate override bug
f2af871 Added DependencyMapBuilder for safe public API usage (Sdoba16)
Pull request description:
Closes #310
Previously, users could interact directly with the DependencyMap API in SimplicityHL, they could manually set the crate keyword to any path they want. This happened because the insert method allowed adding the crate alias without throwing any validation errors.
Fix
Was introduced `DependencyMapBuilder ` which collects dependencies and then could with build command it can be built.
While building are made following validations:
- entry source must be canonical and non-anonymous
- every dependency target must be a canonical directory
- every context prefix must be a canonical directory
- alias must be a valid dependency identifier
- alias must not be keyword
- duplicate context+alias remappings rejected
- overlapping crate roots are explicitly modeled
- resolved files must remain inside their package root
Remapping was made pub(crate) to hide from external API.
`resolution.rs` was separated into 2 files `source.rs` and `resolution.rs` for readability.
ACKs for top commit:
KyrylR:
ACK f2af871; successfully ran local tests, review
Tree-SHA512: e68727b24fea181162386a8ea6e02eed263aa548762715501eafb9bdf604427c636adc608c3e248852d4dee5d998dffc664d24d543e1b1273fca7e621000338b9 files changed
Lines changed: 716 additions & 389 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
| 42 | + | |
42 | 43 | | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
49 | | - | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | 55 | | |
102 | 56 | | |
103 | 57 | | |
| |||
351 | 305 | | |
352 | 306 | | |
353 | 307 | | |
| 308 | + | |
354 | 309 | | |
355 | 310 | | |
356 | 311 | | |
| |||
389 | 344 | | |
390 | 345 | | |
391 | 346 | | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
397 | | - | |
398 | | - | |
399 | | - | |
400 | | - | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
401 | 351 | | |
402 | 352 | | |
403 | 353 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| |||
474 | 474 | | |
475 | 475 | | |
476 | 476 | | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
477 | 482 | | |
478 | 483 | | |
479 | 484 | | |
| |||
533 | 538 | | |
534 | 539 | | |
535 | 540 | | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
536 | 546 | | |
537 | 547 | | |
538 | 548 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
258 | 263 | | |
259 | | - | |
260 | 264 | | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
| 265 | + | |
276 | 266 | | |
277 | 267 | | |
278 | 268 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | 23 | | |
| |||
39 | 41 | | |
40 | 42 | | |
41 | 43 | | |
42 | | - | |
| 44 | + | |
| 45 | + | |
43 | 46 | | |
44 | 47 | | |
45 | 48 | | |
| |||
72 | 75 | | |
73 | 76 | | |
74 | 77 | | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
85 | 88 | | |
86 | 89 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | 90 | | |
93 | 91 | | |
94 | 92 | | |
| |||
399 | 397 | | |
400 | 398 | | |
401 | 399 | | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
402 | 404 | | |
403 | 405 | | |
404 | 406 | | |
| |||
494 | 496 | | |
495 | 497 | | |
496 | 498 | | |
497 | | - | |
498 | | - | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
507 | 502 | | |
508 | 503 | | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
522 | 508 | | |
523 | 509 | | |
| 510 | + | |
| 511 | + | |
524 | 512 | | |
525 | 513 | | |
526 | 514 | | |
| |||
727 | 715 | | |
728 | 716 | | |
729 | 717 | | |
730 | | - | |
731 | | - | |
732 | | - | |
733 | 718 | | |
734 | 719 | | |
735 | 720 | | |
| |||
742 | 727 | | |
743 | 728 | | |
744 | 729 | | |
745 | | - | |
746 | 730 | | |
747 | | - | |
748 | | - | |
749 | | - | |
750 | | - | |
751 | | - | |
752 | | - | |
753 | | - | |
| 731 | + | |
| 732 | + | |
754 | 733 | | |
755 | 734 | | |
756 | 735 | | |
| |||
1164 | 1143 | | |
1165 | 1144 | | |
1166 | 1145 | | |
1167 | | - | |
| 1146 | + | |
| 1147 | + | |
1168 | 1148 | | |
1169 | 1149 | | |
1170 | 1150 | | |
1171 | | - | |
1172 | | - | |
1173 | 1151 | | |
1174 | 1152 | | |
1175 | 1153 | | |
1176 | | - | |
1177 | | - | |
1178 | | - | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
1179 | 1158 | | |
1180 | 1159 | | |
1181 | 1160 | | |
| |||
1213 | 1192 | | |
1214 | 1193 | | |
1215 | 1194 | | |
| 1195 | + | |
1216 | 1196 | | |
1217 | 1197 | | |
1218 | 1198 | | |
| |||
1224 | 1204 | | |
1225 | 1205 | | |
1226 | 1206 | | |
1227 | | - | |
| 1207 | + | |
1228 | 1208 | | |
1229 | 1209 | | |
1230 | 1210 | | |
| |||
1335 | 1315 | | |
1336 | 1316 | | |
1337 | 1317 | | |
1338 | | - | |
| 1318 | + | |
1339 | 1319 | | |
1340 | 1320 | | |
1341 | 1321 | | |
| |||
1344 | 1324 | | |
1345 | 1325 | | |
1346 | 1326 | | |
1347 | | - | |
| 1327 | + | |
1348 | 1328 | | |
1349 | 1329 | | |
1350 | 1330 | | |
| |||
0 commit comments