-
Notifications
You must be signed in to change notification settings - Fork 372
Description
The J2V8 project tried to support too many things. It tried to be:
- A highly performant Java-based JS runtime for Android
- A highly performant Java-based JS runtime for other platforms (Windows, Linux, Mac)
- A set of bindings between Java and NodeJS
- Support for cross compilation from Windows, Mac and Linux to Windows, Mac, Linux and Android
While these are related, I simply cannot keep all these different plates spinning at once. On Android alone, we need to support at least 4 different platforms (x86, x86_64, arm, arm64). Mix in Windows (x86, x86_64), Linux (x86, x86_64), and Mac support, plus optional Node support for all these platforms and the number of targets is too much for me to test/maintain.
I am going to reduce the scope of this project to only support Android, non-NodeJS. Futhermore, I'm only going to support building from Linux to the 4 flavours of Android (x86, x86_64, arm, arm64). This doesn't mean I don't think the other platforms are valuable, I just can't manage them. I'm happy to either support a downstream project which enables other platforms, or link to someone else who wants to build these platforms.
What does this mean for the project:
- I'm going to be removing the NodeJS support. As I mentioned, I'd be happy to find a way to work with a downstream project if someone wants to maintain it
- I'm going to leave the existing build scripts in place (for windows, mac, linux), but I won't be producing builds with these. I also won't be maintaining these scripts, but if someone can offer PRs for them I'd be happy to apply them (assuming the PRs don't break the Android builds).
- I'm going to be closing issues that are out of scope. Again, if someone wants to maintain a downstream project, we could move those issues there
I'm sorry for any inconvenience, but honestly I haven't been building those other platforms for a few years anyways, and I certainly haven't been maintaining them. This really just makes explicit what has been happening implicitly for a while now. I hope by setting honest expectations and reducing the scope of this project, I can give more attention to its original goal, a set of Java bindings for V8 running on Android.
Comments and feedback is welcome.