jaylib
jaylib copied to clipboard
Convert the project to be based on Gradle
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
, andjaylib-version-javadoc.jar
- Generates a JavaDoc that combines both
:wrapper
and:bindings
.
- Contains QOL improvements, wrapping
-
:examples
- Example code. This depends on
:wrapper
- Example code. This depends on
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.
At this stage, running ./gradlew :examples:run
on Linux will now launch the demo. Will begin work on the other platforms soon
Jaylib will now work on whatever OS it is built on. Need to work on cross-compiling
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