eclipsesource / eclipsesource/J2V8

Reduce the scope of the J2V8 project

Open
#441 10 comments 13 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.6k
Forks
387
PR merge metrics
No merged PRs in 30d

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.