jaylib icon indicating copy to clipboard operation
jaylib copied to clipboard

Convert the project to be based on Gradle

Open ewpratten opened this issue 3 years ago • 3 comments

This is the PR to go along with #17. This closes #17, closes #6, and closes #2

Currently work in progress

Project layout

The project is split into three main components:

  • :bindings
    • Contains the JavaCPP configuration to create and export JNI bindings for all platforms
  • :wrapper
    • Contains QOL improvements, wrapping :bindings. Currently: Jaylib.java
    • Is the actual "endpoint" the Gradle uses to create the library JARs
    • Exports jaylib-version.jar, jaylib-version-sources.jar, and jaylib-version-javadoc.jar
    • Generates a JavaDoc that combines both :wrapper and :bindings.
  • :examples
    • Example code. This depends on :wrapper

JavaDoc

I have set up GitHub CI to generate a javadoc and automatically push it to the gh_pages branch whenever a push is made to master. @electronstudio will have to tell GitHub to publish this branch in the repo settings.

ewpratten avatar Jan 03 '21 18:01 ewpratten

At this stage, running ./gradlew :examples:run on Linux will now launch the demo. Will begin work on the other platforms soon

ewpratten avatar Jan 03 '21 19:01 ewpratten

Jaylib will now work on whatever OS it is built on. Need to work on cross-compiling

ewpratten avatar Jan 03 '21 20:01 ewpratten

Im putting this on pause for a bit, as JavaCPP has some limitations I can't deal with. Will try to throw something together from scratch on my own, to see if I can find a workaround

ewpratten avatar Jan 03 '21 21:01 ewpratten