> @saudet if it is a maven package consumption should be fine as long as the 
> license isn't fall under (no license, GPL, LGPL or some license that ASF 
> doesn't approve).

Great! Thanks for the clarification. It's Apache v2, so the license is alright.

> I would +1 to the solution you have mentioned in JavaCPP. One last question 
> is the maintainance cost, since JavaCPP is doing the generation work, how 
> much maintainance does it require from community to keep in here?

I've created a branch with a fully functional build that bundles MXNet with 
wrappers for the C API, on my fork here:
https://github.com/saudet/incubator-mxnet/tree/add-javacpp
It uses the defaults for CMake, but without CUDA or OpenCV, and I'm guessing it 
works on Mac and Windows too, but I've only tested on Linux (Fedora), which 
outputs the following, mapping all declarations of `typedef void*` to `Pointer` 
like you asked:

```bash
$ git clone https://github.com/saudet/incubator-mxnet
$ cd incubator-mxnet
$ git checkout add-javacpp
$ cd java
$ gradle clean build --info
...
org.apache.mxnet.internal.c_api.UnitTest > test STANDARD_OUT
    20000
...
BUILD SUCCESSFUL in 1m 3s
10 actionable tasks: 10 executed
...
$ ls -lh build/libs/
total 38M
-rw-rw-r--. 1 saudet saudet 49K Oct  6 20:54 mxnet-2.0-SNAPSHOT.jar
-rw-rw-r--. 1 saudet saudet 38M Oct  6 20:54 mxnet-2.0-SNAPSHOT-linux-x86_64.jar
```
The number of lines that are directly related to JavaCPP is less than 100, so 
even if I die anyone can maintain that. I'm sure that's going to grow a bit, 
but a C API is very easy to maintain. For example, the presets for the C API of 
TensorFlow 2.x had to be updated only 10 times over the course of the past 
year: 
https://github.com/tensorflow/java/blob/master/tensorflow-core/tensorflow-core-api/src/main/java/org/tensorflow/internal/c_api/presets/tensorflow.java

-- 
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/17783#issuecomment-704246821

Reply via email to