Conversation
|
Expected a local compiler error, but upon closer inspection |
|
It's not here yet, but I've prepared this PR for |
|
Cool, I'd like to make a jni release soon but if I'm honest I'm not currently expecting it to happen before the 0.5 release of android-activity or winit 0.29. |
|
Sure, just keep in mind that that's going to be a hassle for the community as the |
|
Surely the jni / jni-sys crates are only internal deps for the ndk crate so you should be ok to bump later? I intentionally don't expose any jni types for android-activity so it wouldn't affect semver to bump. |
This PR is marked as breaking for a reason 😉 |
where do the ndk / ndk-sys crates currently expose jni/jni-sys types? that doesn't sound good to me and maybe we can try to remove any exposure? |
It could be nice if we could do more frequent releases and maybe not worry too much whether every release necessarily gets picked up by Winit. |
Only
We could, but it's annoying to have a mismatch between all crates that are so intertwined with windowing systems. |
I was pondering for a second whether we could do a 0.3.x release of the jni-sys crate with the semver trick. That's a tempting solution but really the JNIEnv type completely changed between jni-sys 0.3 and 0.4. That's awkward in the sense that for 99% of things (and probably all the ndk crate usage) you only care about passing around an opaque pointer and probably don't ever dereference the JNIEnv pointer type. |
|
@rib yeah we don't look at the innards of the type. Having a type-safe definition does help things not getting mixed up, though. |
1a3db5e to
4f61c92
Compare
| thiserror = "1.0.23" | ||
|
|
||
| [dependencies.jni] | ||
| # version = "0.22" |
|
In which way is this actually breaking? Nothing is change in the ndk API as far as I can tell. Also, jni-sys 0.3.1 depends on jni-sys 0.4, so currently both versions are required. In the interest of getting the number of transitive dependencies down for upstream projects, it would be nice to get this in. |
|
Updating to jni-sys 0.4 will be a breaking change for any of the jni-sys 0.3 uses the semver trick to re-export the types like Specifically the
Note that at least in this case, there's essentially zero cost to pulling in multiple version of the |
https://github.com/jni-rs/jni-sys/releases/tag/v0.4.0
https://github.com/jni-rs/jni-rs/releases/tag/v0.22.0