Feature: Java bindings for libktx#481
Feature: Java bindings for libktx#481MarkCallow merged 53 commits intoKhronosGroup:masterfrom ShukantPal:feature/libktx-jni
Conversation
If that is the standard way to publish JNI stuff, then sure, let's do it. Neither Appveyor nor Travis support direct deployment to Maven. I haven't checked GitHub Actions yet. Can it be done via FTP/SFTP?
I'd prefer it to be integrated, i.e., the JNI build should have the
The Appveyor build which is done using VS 2015, 2017 and 2019 succeeded. I haven't reviewed the changes yet so I don't know if anything related to this JNI addition was actually built. The Travis build failed. Please look at it. I may be able to try on Windows.
Tests would be great. It will also be a way to test on Windows. Please add this. |
MarkCallow
left a comment
There was a problem hiding this comment.
This is only a partial review. I am submitting this to unblock replying to other comments (I hope).
interface/java_binding/src/main/java/org/khronos/ktx/VkFormat.java
Outdated
Show resolved
Hide resolved
|
@MarkCallow I moved the build script to How can I make sure it fails the CI if JAVA_HOME isn't defined? |
|
@MarkCallow It would be nice if you could look into the "jni_md.h" not being found on Windows 😄. |
I will look into getting access to maven central when I am preparing the next release. Assuming I get access what do I need to do here in order to send the artifacts to maven? Make sure the necessary code is here in this PR commented out. |
|
Please
I want to get this PR merged. |
|
I'll address this this weekend. Sorry for the delay - am exceptionally busy this month. |
# Conflicts: # CMakeLists.txt
|
@MarkCallow I haven't published to Maven before. I'm following instructions from https://dzone.com/articles/publish-your-artifacts-to-maven-central. You don't need additional code for publishing to Maven Central. Instead, once you have your username / password to the repository, you'll need to add this to <settings>
<servers>
<server>
<id>ossrh</id>
<username>your-jira-id</username>
<password>your-jira-pwd</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.passphrase>[your_gpg_passphrase]</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>Note that you'll need to generate a GPG key and put the passphrase in the settings.xml Once this configuration is done, you'll need to run the following commands in the Java project folder ( mvn clean
mvn release:prepare
mvn release:perform |
|
✅ Fixed the macOS build and answered the question |
|
The conflicts still need to be fixed. |
|
@MarkCallow Can you do a merge commit? (change from rebase and merge to just merge?) |
|
Any way I can help here @MarkCallow ? |
|
Sorry for the delay. I've been away from the computer for a couple of days. Thank you very much for this great addition to KTX. |
Specify KTX_FEATURE_JNI to enable building of libktx_jni and the corresponding Java wrapper. Co-authored-by: Mark Callow <2244683+MarkCallow@users.noreply.github.com>
Specify KTX_FEATURE_JNI to enable building of libktx_jni and the corresponding Java wrapper. Co-authored-by: Mark Callow <2244683+MarkCallow@users.noreply.github.com>
Specify KTX_FEATURE_JNI to enable building of libktx_jni and the corresponding Java wrapper. Co-authored-by: Mark Callow <2244683+MarkCallow@users.noreply.github.com>
Specify KTX_FEATURE_JNI to enable building of libktx_jni and the corresponding Java wrapper. Co-authored-by: Mark Callow <2244683+MarkCallow@users.noreply.github.com>
Specify KTX_FEATURE_JNI to enable building of libktx_jni and the corresponding Java wrapper. Co-authored-by: Mark Callow <2244683+MarkCallow@users.noreply.github.com>
Specify KTX_FEATURE_JNI to enable building of libktx_jni and the corresponding Java wrapper. Co-authored-by: Mark Callow <2244683+MarkCallow@users.noreply.github.com>


Fixes #479
Todo
I need you to answer some questions:
CMakeLists.txtfor the JNI bindings assumes libktx is already installed on the system. Is that ok? (It isn't integrated with the main build)