Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
bbb4f9c
First attempt at building android-natives.
MeFisto94 Sep 9, 2019
d09e6b9
Use OpenJDK because native build is broken without
MeFisto94 Sep 9, 2019
9e25072
Try OpenJDK 10
MeFisto94 Sep 9, 2019
a1109dc
Try openJDK 9
MeFisto94 Sep 9, 2019
bdbdff9
Try openJDK11 again but "enable" the EE Module
MeFisto94 Sep 9, 2019
fb78b25
OpenJDK 11 has no Java EE Module anymore.
MeFisto94 Sep 9, 2019
db95af3
Try to fix Android Header Generation
MeFisto94 Sep 10, 2019
d9abed8
Fix invalid flag error with javac by removing empty quotes
MeFisto94 Sep 10, 2019
6ae69a8
Try to fix build of decode.
MeFisto94 Sep 10, 2019
00f2e24
Remove jni generated headers from the repository.
MeFisto94 Sep 10, 2019
62d385a
Adjust .gitignore as those header files won't appear at that location…
MeFisto94 Sep 10, 2019
701c2c1
Fix Android Build: Fill the jme3-android-native headers during the bu…
MeFisto94 Sep 10, 2019
0c00679
Copy jni headers to the jni directory.
MeFisto94 Sep 10, 2019
bdf8419
Adjust the path slightly
MeFisto94 Sep 10, 2019
b771da4
Try to silence android sdk's license print out
MeFisto94 Sep 10, 2019
f6043b7
Also fix openAL
MeFisto94 Sep 10, 2019
c90a754
Solve task name conflict
MeFisto94 Sep 10, 2019
523fc5a
Really silence license now
MeFisto94 Sep 10, 2019
cfec451
Tasks seem shared but Strings are not...
MeFisto94 Sep 10, 2019
8eab823
Only build Android-Native
MeFisto94 Sep 10, 2019
03c0d08
Trying to reduce the amount of dependencies needed.
MeFisto94 Sep 10, 2019
5b36109
Remove even more dependencies
MeFisto94 Sep 10, 2019
ce8a526
Even more removal
MeFisto94 Sep 10, 2019
cd187fa
Prepare Deployment
MeFisto94 Sep 10, 2019
bd49a53
Fix Deployment
MeFisto94 Sep 10, 2019
0ae70db
Cleanup: Remove feature branch from branches for travis.
MeFisto94 Sep 10, 2019
0ff27de
Revert a few unnecessary things
MeFisto94 Sep 13, 2019
ff3520c
Removed NDK Comments.
MeFisto94 Sep 13, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@
/jme3-android-native/OpenALSoft.zip
/jme3-android-native/src/native/jme_decode/STBI/
/jme3-android-native/src/native/jme_decode/Tremor/
/jme3-android-native/src/native/jme_decode/com_jme3_audio_plugins_NativeVorbisFile.h
/jme3-android-native/src/native/jme_decode/com_jme3_texture_plugins_AndroidNativeImageLoader.h
/jme3-android-native/stb_image.h
!/jme3-bullet-native/libs/native/windows/x86_64/bulletjme.dll
!/jme3-bullet-native/libs/native/windows/x86/bulletjme.dll
Expand Down
14 changes: 14 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ matrix:
- os: osx
osx_image: xcode9.3
env: UPLOAD_NATIVE=true
- language: android
os: linux
dist: trusty
jdk: openjdk10
install:
- export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
- echo y | sdkmanager "ndk-bundle" &> /dev/null
before_script:
- export ANDROID_NDK=$ANDROID_HOME/ndk-bundle
script:
- ./gradlew -PbuildNativeProjects=true jme3-android-native:assemble
after_success:
- '[ "$TRAVIS_PULL_REQUEST" == "false" ] && ./private/upload_native.sh || :'
- '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew bintrayUpload || :'

addons:
ssh_known_hosts: github.com
Expand Down
2 changes: 2 additions & 0 deletions jme3-android-native/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# The headers are autogenerated and nobody should try to commit them...
src/native/headers
2 changes: 1 addition & 1 deletion jme3-android-native/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ ext {
apply from: file('openalsoft.gradle')
// apply from: file('stb_image.gradle')
// apply from: file('tremor.gradle')
apply from: file('decode.gradle')
apply from: file('decode.gradle')
20 changes: 5 additions & 15 deletions jme3-android-native/decode.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ String decodePreCompiledLibsDir = 'libs' + File.separator + 'decode'

// jME Android Native source files path
String decodeSourceDir = 'src/native/jme_decode'
String jmeHeaders = 'src/native/headers'

task downloadStbImage(type: MyDownload) {
sourceUrl = stbiUrl
Expand Down Expand Up @@ -45,24 +46,13 @@ task copyTremorFiles(type: Copy) {
into outputDir
}

// Generate headers via javac -h
task generateJavahHeaders(type: Exec) {
def files0 = fileTree("src/main/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files1 = fileTree("src/common/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files2 = fileTree("../jme3-core/src/main/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files3 = fileTree("../jme3-core/src/plugins/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files4 = fileTree("../jme3-core/src/tools/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files5 = fileTree("../jme3-terrain/src/main/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def filesList = "\"" + files0.join("\"\n\"") + "\"\n\"" + files1.join("\"\n\"") + "\"\n\"" + files2.join("\"\n\"") + "\"\n\"" + files3.join("\"\n\"") + "\"\n\"" + files4.join("\"\n\"") + "\"\n\"" + files5.join("\"\n\"") + "\""
new File("$projectDir/java_classes.jtxt").text = filesList.replaceAll(java.util.regex.Pattern.quote("\\"), java.util.regex.Matcher.quoteReplacement("/"))
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javac')
args '-h', decodeSourceDir
args "@$projectDir/java_classes.jtxt"
args '-d', decodeClassesBuildDir
task copyJmeHeadersDecode(type: Copy) {
from file(jmeHeaders)
into file(decodeBuildJniDir + File.separator + "headers")
}

// Copy jME Android native files to jni directory
task copySourceToBuild(type: Copy, dependsOn:[copyTremorFiles, copyStbiFiles, generateJavahHeaders]) {
task copySourceToBuild(type: Copy, dependsOn:[copyTremorFiles, copyStbiFiles, copyJmeHeadersDecode]) {
def sourceDir = file(decodeSourceDir)
def outputDir = file(decodeBuildJniDir)

Expand Down
26 changes: 9 additions & 17 deletions jme3-android-native/openalsoft.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ String openalsoftPreCompiledLibsDir = 'libs' + File.separator + 'openalsoft'

// jME Android Native source files path
String openalsoftJmeAndroidPath = 'src/native/jme_openalsoft'
String jmeHeaders = 'src/native/headers'

// Download external source files if not available
task downloadOpenALSoft(type: MyDownload) {
Expand Down Expand Up @@ -62,8 +63,14 @@ copyOpenALSoft.dependsOn {
}
}

// Copy JME Headers to jni directory
task copyJmeHeadersOpenAL(type: Copy) {
from file(jmeHeaders)
into file(openalsoftBuildJniDir + File.separator + "headers")
}

// Copy jME Android native files to jni directory
task copyJmeOpenALSoft(type: Copy, dependsOn:copyOpenALSoft) {
task copyJmeOpenALSoft(type: Copy, dependsOn: [copyOpenALSoft, copyJmeHeadersOpenAL]) {
def sourceDir = file(openalsoftJmeAndroidPath)
def outputDir = file(openalsoftBuildJniDir)
// println "copyJmeOpenALSoft sourceDir: " + sourceDir
Expand All @@ -73,22 +80,7 @@ task copyJmeOpenALSoft(type: Copy, dependsOn:copyOpenALSoft) {
into outputDir
}

task generateOpenAlSoftHeaders(type:Exec, dependsOn: copyJmeOpenALSoft) {
def files0 = fileTree("src/main/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files1 = fileTree("src/common/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files2 = fileTree("../jme3-core/src/main/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files3 = fileTree("../jme3-core/src/plugins/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files4 = fileTree("../jme3-core/src/tools/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def files5 = fileTree("../jme3-terrain/src/main/java/").filter { it.isFile() && it.getName().endsWith(".java") }.files
def filesList = "\"" + files0.join("\"\n\"") + "\"\n\"" + files1.join("\"\n\"") + "\"\n\"" + files2.join("\"\n\"") + "\"\n\"" + files3.join("\"\n\"") + "\"\n\"" + files4.join("\"\n\"") + "\"\n\"" + files5.join("\"\n\"") + "\""
new File("$projectDir/java_classes.jtxt").text = filesList.replaceAll(java.util.regex.Pattern.quote("\\"), java.util.regex.Matcher.quoteReplacement("/"))
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javac')
args '-h', openalsoftJmeAndroidPath
args "@$projectDir/java_classes.jtxt"
args '-d', openalsoftClassesBuildDir
}

task buildOpenAlSoftNativeLib(type: Exec, dependsOn: generateOpenAlSoftHeaders) {
task buildOpenAlSoftNativeLib(type: Exec, dependsOn: copyJmeOpenALSoft) {
// println "openalsoft build dir: " + openalsoftBuildDir
// println "ndkCommandPath: " + project.ndkCommandPath
workingDir openalsoftBuildDir
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#include "Tremor/ivorbisfile.h"

#include "com_jme3_audio_plugins_NativeVorbisFile.h"
#include "../headers/com_jme3_audio_plugins_NativeVorbisFile.h"

#ifndef NDEBUG
#include <android/log.h>
Expand Down Expand Up @@ -345,4 +345,4 @@ JNIEXPORT void JNICALL Java_com_jme3_audio_plugins_NativeVorbisFile_close
free(wrapper);
free(ovf);
(*env)->SetObjectField(env, nvf, nvf_field_ovf, NULL);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "com_jme3_texture_plugins_AndroidNativeImageLoader.h"
#include "../headers/com_jme3_texture_plugins_AndroidNativeImageLoader.h"
#include <assert.h>

#ifndef NDEBUG
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#include "com_jme3_audio_android_AndroidAL.h"
#include "../headers/com_jme3_audio_android_AndroidAL.h"
#include "AL/al.h"
#include "AL/alext.h"

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "util.h"
#include "com_jme3_audio_android_AndroidALC.h"
#include "../headers/com_jme3_audio_android_AndroidALC.h"
#include "AL/alc.h"
#include "AL/alext.h"

Expand Down Expand Up @@ -171,4 +171,4 @@ JNIEXPORT void JNICALL Java_com_jme3_audio_android_AndroidALC_alcDeviceResumeSOF
if (device == NULL) return;

alcDeviceResumeSOFT(device);
}
}
Loading