Commit 4ae7014
authored
Develop bindings for WASI versions in parallel (#118)
* Develop bindings for WASI versions in parallel
This commit is a reorganization of this crate to develop the
WASIp{1,2,3} crate bindings in parallel with each other in separate
crates. Historically the WASIp1 support ceased with the publication of
0.12.0 of the `wasi` crate which was the first release generated by
`wit-bindgen` suitable for use with WASIp2. The rough idea was to do the
same with WASIp3 at some point, but today it was realized that this
probably won't work.
Specifically the version number of the `wasi` crate right now is tied to
not only the WASI API version that's being bound but addition to the
`wit-bindgen` that is generating bindings. If either one updates in a
breaking way then the crate number here needs to be bumped. This means
that if we want to develop both WASIp2 and WASIp3 at the same time we'd
have to somehow reserve a space of future version numbers for the WASIp2
track which would be a bit awkward. Additionally it's a bit awkward to
have non-`main` development of WASIp2, a supported target, when WASIp3
wants to be added.
This new crate organization is intended to solve this concerns and looks
like so:
* Each version of WASI now has its own crate. For example there's now a
`wasip1` crate and a `wasip2` crate. Eventually there will be a
`wasip3` crate.
* A version-specific WASI crate is developed on `main` of this
repository and gets CI run, auto-generated bindings verified, etc.
Versions will be published as necessary for each version of each crate.
* The `wasi` crate is now a small wrapper around the latest stable WASI
release available. Currently this is a stable reexport of the `wasip2`
crate.
Various bits of README documentation have all been updated to reflect
this new structure. The intention is that in the near-ish future a
`wasip3` crate will be added which will contain auto-generated bindings
for WASIp3 and its upcoming snapshots. This new `wasip3` crate would not
be integrated into the `wasi` crate and the `wasi` crate would continue
to reexport `wasip2`. In this manner we can develop `wasip3` more easily
alongside the `wasip2` crate.
* Fixes for CI
* Update msrv to 78
* Cancel in-flight CI
* Update msrv
* Download precompiled binary of wit-bindgen
* Downgrade one point
* Remove version suffix1 parent b17d34b commit 4ae7014
File tree
39 files changed
+5316
-494
lines changed- .github
- actions/install-rust
- workflows
- ci
- crates
- wasip1
- src
- wasip2
- examples
- src
- ext
- witx-bindgen
- src
- tests
- examples
- src
39 files changed
+5316
-494
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
4 | 10 | | |
5 | | - | |
6 | | - | |
| 11 | + | |
| 12 | + | |
7 | 13 | | |
8 | 14 | | |
9 | 15 | | |
10 | 16 | | |
11 | 17 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
21 | 23 | | |
22 | 24 | | |
23 | 25 | | |
| |||
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
29 | | - | |
30 | 31 | | |
31 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
32 | 35 | | |
33 | | - | |
34 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
35 | 39 | | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
| 50 | + | |
50 | 51 | | |
51 | | - | |
52 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
53 | 65 | | |
54 | | - | |
55 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
56 | 69 | | |
57 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
58 | 73 | | |
59 | | - | |
60 | | - | |
| 74 | + | |
61 | 75 | | |
62 | 76 | | |
63 | 77 | | |
64 | 78 | | |
65 | 79 | | |
66 | | - | |
67 | | - | |
68 | | - | |
| 80 | + | |
| 81 | + | |
69 | 82 | | |
70 | 83 | | |
71 | 84 | | |
72 | 85 | | |
73 | 86 | | |
74 | 87 | | |
75 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
76 | 97 | | |
77 | 98 | | |
Whitespace-only changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | 6 | | |
| |||
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
22 | 27 | | |
23 | 28 | | |
24 | 29 | | |
25 | 30 | | |
26 | 31 | | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
| |||
0 commit comments