Merge remote-tracking branch 'github/master' into master-original
This commit is contained in:
commit
13eec17ddd
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,10 +14,12 @@
|
||||
*.jnilib
|
||||
*.dylib
|
||||
*.iml
|
||||
.gradletasknamecache
|
||||
.DS_Store
|
||||
/jme3-core/src/main/resources/com/jme3/system/version.properties
|
||||
/jme3-*/build/
|
||||
/jme3-bullet-native/bullet.zip
|
||||
/jme3-bullet-native/bullet3.zip
|
||||
/jme3-bullet-native/bullet-2.82-r2704/
|
||||
/jme3-bullet-native/bullet3-2.83.7/
|
||||
/jme3-android-native/openal-soft/
|
||||
|
53
.travis.yml
53
.travis.yml
@ -1,20 +1,50 @@
|
||||
language: java
|
||||
sudo: false
|
||||
|
||||
jdk:
|
||||
- oraclejdk8
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- v3.1
|
||||
|
||||
matrix:
|
||||
include:
|
||||
# - os: linux
|
||||
# jdk: oraclejdk8
|
||||
# env: UPLOAD=true UPLOAD_NATIVE=true
|
||||
# - os: linux
|
||||
# jdk: openjdk7
|
||||
- os: osx
|
||||
env: UPLOAD_NATIVE=true
|
||||
|
||||
addons:
|
||||
ssh_known_hosts: updates.jmonkeyengine.org
|
||||
ssh_known_hosts: github.com
|
||||
apt:
|
||||
packages:
|
||||
- gcc-multilib
|
||||
- g++-multilib
|
||||
|
||||
before_install:
|
||||
- '[ -n "$UPLOAD" ] && git fetch --unshallow || :'
|
||||
|
||||
before_cache:
|
||||
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
||||
|
||||
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
|
||||
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.gradle/caches/
|
||||
- $HOME/.gradle/wrapper/
|
||||
|
||||
install:
|
||||
- '[ -n "$UPLOAD_NATIVE" ] && ./gradlew -PbuildNativeProjects=true assemble || ./gradlew assemble'
|
||||
|
||||
script:
|
||||
- ./gradlew check
|
||||
|
||||
after_success:
|
||||
- '[ "$TRAVIS_PULL_REQUEST" == "false" ] && [ -n "$UPLOAD_NATIVE" ] && ./private/upload_native.sh || :'
|
||||
- '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ -n "$UPLOAD" ] && ./gradlew bintrayUpload || :'
|
||||
|
||||
notifications:
|
||||
slack:
|
||||
on_success: change
|
||||
@ -22,12 +52,6 @@ notifications:
|
||||
rooms:
|
||||
secure: "PWEk4+VL986c3gAjWp12nqyifvxCjBqKoESG9d7zWh1uiTLadTHhZJRMdsye36FCpz/c/Jt7zCRO/5y7FaubQptnRrkrRfjp5f99MJRzQVXnUAM+y385qVkXKRKd/PLpM7XPm4AvjvxHCyvzX2wamRvul/TekaXKB9Ti5FCN87s="
|
||||
|
||||
install:
|
||||
- ./gradlew assemble
|
||||
|
||||
script:
|
||||
- ./gradlew check
|
||||
|
||||
before_deploy:
|
||||
- ./gradlew createZipDistribution
|
||||
- export RELEASE_DIST=$(ls build/distributions/*.zip)
|
||||
@ -43,9 +67,6 @@ deploy:
|
||||
repo: jMonkeyEngine/jmonkeyengine
|
||||
tags: true
|
||||
|
||||
before_install:
|
||||
- git fetch --unshallow
|
||||
- "[ $TRAVIS_PULL_REQUEST == 'false' ] && openssl aes-256-cbc -K $encrypted_a1949b55824a_key -iv $encrypted_a1949b55824a_iv -in private/www-updater.key.enc -out private/www-updater.key -d || :"
|
||||
|
||||
# before_install:
|
||||
# required libs for android build tools
|
||||
@ -57,6 +78,4 @@ before_install:
|
||||
# 7z x ndk.bin -y > /dev/null
|
||||
# export ANDROID_NDK=`pwd`/android-ndk-r10c
|
||||
|
||||
after_success:
|
||||
- '[ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew uploadArchives || :'
|
||||
- '[ -n "$TRAVIS_TAG" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && ./gradlew uploadArchives bintrayUpload || :'
|
||||
|
||||
|
51
appveyor.yml
Normal file
51
appveyor.yml
Normal file
@ -0,0 +1,51 @@
|
||||
version: 1.0.{build}.{branch}
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
only_commits:
|
||||
files:
|
||||
- jme3-bullet-native/
|
||||
|
||||
skip_tags: true
|
||||
|
||||
max_jobs: 1
|
||||
|
||||
clone_depth: 1
|
||||
|
||||
image: Visual Studio 2013
|
||||
|
||||
environment:
|
||||
encrypted_f0a0b284e2e8_iv:
|
||||
secure: aImQXs4g7zMXm1nWRvlh2wPK1UQvozS1fOVNthpyoEDFZ2FvBSdXqh5NPbGh44+F
|
||||
encrypted_f0a0b284e2e8_key:
|
||||
secure: Ek2lqC2e19qQDRRdlvnYyLFBq3TNj6YwKTAPuJ2VElJsxi9lQg+9ZP+VbP4kbHTx6Zaa++vtmOuxLZL7gdILrEEPa1Jix2BBLBfcxBUxe6w=
|
||||
|
||||
install:
|
||||
- cmd: del C:\Users\appveyor\.gradle\caches\modules-2\modules-2.lock
|
||||
|
||||
build_script:
|
||||
- cmd: gradlew.bat -PbuildNativeProjects=true :jme3-bullet-native:assemble
|
||||
|
||||
cache:
|
||||
- C:\Users\appveyor\.gradle\caches
|
||||
- C:\Users\appveyor\.gradle\wrapper
|
||||
- jme3-bullet-native\bullet3.zip
|
||||
|
||||
test: off
|
||||
deploy: off
|
||||
|
||||
on_success:
|
||||
- cmd: >-
|
||||
openssl aes-256-cbc -K %encrypted_f0a0b284e2e8_key% -iv %encrypted_f0a0b284e2e8_iv% -in private\key.enc -out c:\users\appveyor\.ssh\id_rsa -d
|
||||
|
||||
git checkout -q %APPVEYOR_REPO_BRANCH%
|
||||
|
||||
git add -- jme3-bullet-native/libs/native/windows/
|
||||
|
||||
git commit -m "[ci skip] bullet: update windows natives"
|
||||
|
||||
git pull -q --rebase
|
||||
|
||||
git push git@github.com:jMonkeyEngine/jmonkeyengine.git
|
53
build.gradle
53
build.gradle
@ -29,31 +29,32 @@ task run(dependsOn: ':jme3-examples:run') {
|
||||
|
||||
defaultTasks 'run'
|
||||
|
||||
task libDist(dependsOn: subprojects.build) << {
|
||||
// description 'Builds and copies the engine binaries, sources and javadoc to build/libDist'
|
||||
File libFolder = mkdir("$buildDir/libDist/lib")
|
||||
File sourceFolder = mkdir("$buildDir/libDist/sources")
|
||||
File javadocFolder = mkdir("$buildDir/libDist/javadoc")
|
||||
subprojects.each {project ->
|
||||
if(project.ext.mainClass == ''){
|
||||
project.tasks.withType(Jar).each {archiveTask ->
|
||||
if(archiveTask.classifier == "sources"){
|
||||
copy {
|
||||
from archiveTask.archivePath
|
||||
into sourceFolder
|
||||
rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
|
||||
}
|
||||
} else if(archiveTask.classifier == "javadoc"){
|
||||
copy {
|
||||
from archiveTask.archivePath
|
||||
into javadocFolder
|
||||
rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
|
||||
}
|
||||
} else{
|
||||
copy {
|
||||
from archiveTask.archivePath
|
||||
into libFolder
|
||||
rename {project.name + '.' + archiveTask.extension}
|
||||
task libDist(dependsOn: subprojects.build, description: 'Builds and copies the engine binaries, sources and javadoc to build/libDist') {
|
||||
doLast {
|
||||
File libFolder = mkdir("$buildDir/libDist/lib")
|
||||
File sourceFolder = mkdir("$buildDir/libDist/sources")
|
||||
File javadocFolder = mkdir("$buildDir/libDist/javadoc")
|
||||
subprojects.each {project ->
|
||||
if(project.ext.mainClass == ''){
|
||||
project.tasks.withType(Jar).each {archiveTask ->
|
||||
if(archiveTask.classifier == "sources"){
|
||||
copy {
|
||||
from archiveTask.archivePath
|
||||
into sourceFolder
|
||||
rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
|
||||
}
|
||||
} else if(archiveTask.classifier == "javadoc"){
|
||||
copy {
|
||||
from archiveTask.archivePath
|
||||
into javadocFolder
|
||||
rename {project.name + '-' + archiveTask.classifier +'.'+ archiveTask.extension}
|
||||
}
|
||||
} else{
|
||||
copy {
|
||||
from archiveTask.archivePath
|
||||
into libFolder
|
||||
rename {project.name + '.' + archiveTask.extension}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -115,7 +116,7 @@ task mergedSource(type: Copy){
|
||||
}
|
||||
|
||||
task wrapper(type: Wrapper, description: 'Creates and deploys the Gradle wrapper to the current directory.') {
|
||||
gradleVersion = '2.13'
|
||||
gradleVersion = '3.2.1'
|
||||
}
|
||||
|
||||
ext {
|
||||
|
@ -18,16 +18,11 @@ repositories {
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
deployerJars
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Adding dependencies here will add the dependencies to each subproject.
|
||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||
testCompile group: 'org.mockito', name: 'mockito-core', version: '2.0.28-beta'
|
||||
testCompile group: 'org.easytesting', name: 'fest-assert-core', version: '2.0M10'
|
||||
deployerJars "org.apache.maven.wagon:wagon-ssh:2.9"
|
||||
}
|
||||
|
||||
jar {
|
||||
@ -116,17 +111,3 @@ artifacts {
|
||||
archives writeFullPom.outputs.files[0]
|
||||
}
|
||||
|
||||
uploadArchives {
|
||||
repositories.mavenDeployer {
|
||||
configuration = configurations.deployerJars
|
||||
|
||||
// disable this otherwise it will fill up the server with stale jars
|
||||
uniqueVersion = false
|
||||
|
||||
repository(url: "scp://updates.jmonkeyengine.org/var/www/updates/maven") {
|
||||
authentication(userName: "www-updater", privateKey: "private/www-updater.key")
|
||||
}
|
||||
|
||||
pom.project pomConfig
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@ jmeVersionTag = SNAPSHOT
|
||||
jmeVersionTagID = 0
|
||||
|
||||
# specify if JavaDoc should be built
|
||||
buildJavaDoc = true
|
||||
buildJavaDoc = false
|
||||
|
||||
# specify if SDK and Native libraries get built
|
||||
buildNativeProjects = false
|
||||
@ -21,10 +21,7 @@ ndkPath = /opt/android-ndk-r10c
|
||||
# Path for downloading native Bullet
|
||||
bulletUrl = https://github.com/bulletphysics/bullet3/archive/2.83.7.zip
|
||||
bulletFolder = bullet3-2.83.7
|
||||
bulletZipFile = bullet.zip
|
||||
|
||||
# Path for downloading NetBeans Base
|
||||
netbeansUrl = http://download.netbeans.org/netbeans/8.0.2/final/zip/netbeans-8.0.2-201411181905-javase.zip
|
||||
bulletZipFile = bullet3.zip
|
||||
|
||||
# POM settings
|
||||
POM_NAME=jMonkeyEngine
|
||||
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,6 +1,6 @@
|
||||
#Sat Apr 30 16:44:31 EDT 2016
|
||||
#Fri Nov 25 13:05:50 EST 2016
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-bin.zip
|
||||
|
@ -50,6 +50,7 @@ task unzipBullet(type: Copy) {
|
||||
from zipTree(zipFile)
|
||||
into outputDir
|
||||
}
|
||||
|
||||
unzipBullet.dependsOn {
|
||||
def zipFile = file(localZipFile)
|
||||
// println "zipFile path: " + zipFile.absolutePath
|
||||
@ -70,6 +71,7 @@ task copyBullet(type: Copy) {
|
||||
from sourceDir
|
||||
into outputDir
|
||||
}
|
||||
|
||||
copyBullet.dependsOn {
|
||||
def bulletUnzipDir = file(localZipFolder)
|
||||
// println "bulletUnzipDir: " + bulletUnzipDir.absolutePath
|
||||
@ -81,7 +83,7 @@ copyBullet.dependsOn {
|
||||
}
|
||||
|
||||
// Copy jME cpp native files to jni directory
|
||||
task copyJmeCpp(type: Copy, dependsOn:copyBullet) {
|
||||
task copyJmeCpp(type: Copy) {
|
||||
def sourceDir = new File(jmeCppPath)
|
||||
def outputDir = new File(jniPath)
|
||||
// println "copyJmeCpp sourceDir = " + sourceDir
|
||||
@ -92,7 +94,7 @@ task copyJmeCpp(type: Copy, dependsOn:copyBullet) {
|
||||
}
|
||||
|
||||
// Copy jME android native files to jni directory
|
||||
task copyJmeAndroid(type: Copy, dependsOn:copyJmeCpp) {
|
||||
task copyJmeAndroid(type: Copy) {
|
||||
def sourceDir = new File(jmeAndroidPath)
|
||||
def outputDir = new File(jniPath)
|
||||
// println "copyJmeAndroid sourceDir = " + sourceDir
|
||||
@ -102,60 +104,7 @@ task copyJmeAndroid(type: Copy, dependsOn:copyJmeCpp) {
|
||||
into outputDir
|
||||
}
|
||||
|
||||
task generateNativeHeaders(dependsOn: copyJmeAndroid) << {
|
||||
String destDirPath = jniPath
|
||||
String classes = " \
|
||||
com.jme3.bullet.PhysicsSpace, \
|
||||
\
|
||||
com.jme3.bullet.collision.PhysicsCollisionEvent, \
|
||||
com.jme3.bullet.collision.PhysicsCollisionObject,\
|
||||
com.jme3.bullet.objects.PhysicsCharacter, \
|
||||
com.jme3.bullet.objects.PhysicsGhostObject, \
|
||||
com.jme3.bullet.objects.PhysicsRigidBody, \
|
||||
com.jme3.bullet.objects.PhysicsVehicle, \
|
||||
com.jme3.bullet.objects.VehicleWheel, \
|
||||
com.jme3.bullet.objects.infos.RigidBodyMotionState, \
|
||||
\
|
||||
com.jme3.bullet.collision.shapes.CollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.BoxCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.CapsuleCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.CompoundCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.ConeCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.CylinderCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.GImpactCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.HeightfieldCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.HullCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.MeshCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.PlaneCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.SimplexCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.SphereCollisionShape, \
|
||||
\
|
||||
com.jme3.bullet.joints.PhysicsJoint, \
|
||||
com.jme3.bullet.joints.ConeJoint, \
|
||||
com.jme3.bullet.joints.HingeJoint, \
|
||||
com.jme3.bullet.joints.Point2PointJoint, \
|
||||
com.jme3.bullet.joints.SixDofJoint, \
|
||||
com.jme3.bullet.joints.SixDofSpringJoint, \
|
||||
com.jme3.bullet.joints.SliderJoint, \
|
||||
com.jme3.bullet.joints.motors.RotationalLimitMotor, \
|
||||
com.jme3.bullet.joints.motors.TranslationalLimitMotor, \
|
||||
\
|
||||
com.jme3.bullet.util.NativeMeshUtil, \
|
||||
com.jme3.bullet.util.DebugShapeFactory"
|
||||
|
||||
String projectClassPath = configurations.runtime.asFileTree.matching {
|
||||
exclude ".gradle"
|
||||
}.asPath
|
||||
|
||||
exec {
|
||||
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
|
||||
args '-d', destDirPath
|
||||
args '-classpath', projectClassPath
|
||||
args classes.split(",").collect { it.trim() }
|
||||
}
|
||||
}
|
||||
|
||||
task buildBulletNativeLib(type: Exec, dependsOn: generateNativeHeaders) {
|
||||
task buildBulletNativeLib(type: Exec, dependsOn: [copyJmeAndroid, copyJmeCpp, copyBullet]) {
|
||||
// args 'TARGET_PLATFORM=android-9'
|
||||
// println "buildBulletNativeLib ndkWorkingPath: " + ndkWorkingPath
|
||||
// println "buildBulletNativeLib rootProject.ndkCommandPath: " + rootProject.ndkCommandPath
|
||||
|
@ -40,7 +40,7 @@ model {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
binaries {
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
def projectPath = project.projectDir.absolutePath
|
||||
@ -48,10 +48,10 @@ model {
|
||||
def os = targetPlatform.operatingSystem.name
|
||||
def arch = targetPlatform.architecture.name
|
||||
def fileName = sharedLibraryFile.name
|
||||
|
||||
|
||||
// Gradle decided to change underscores to dashes - fix that.
|
||||
arch = arch.replaceAll('-', '_')
|
||||
|
||||
|
||||
// For all binaries that can't be built on the current system
|
||||
if (buildNativeProjects != "true") {
|
||||
buildable = false
|
||||
@ -114,14 +114,14 @@ model {
|
||||
}
|
||||
cppCompiler.define('WIN32')
|
||||
}
|
||||
|
||||
|
||||
tasks.all { dependsOn unzipBulletIfNeeded }
|
||||
|
||||
// Add output to jar file
|
||||
jar.into("native/${os}/${arch}") {
|
||||
from sharedLibraryFile
|
||||
}
|
||||
|
||||
|
||||
// Add depend on build
|
||||
jar.dependsOn tasks
|
||||
// Add output to libs folder
|
||||
@ -163,31 +163,6 @@ model {
|
||||
operatingSystem "linux"
|
||||
}
|
||||
}
|
||||
|
||||
toolChains {
|
||||
gcc(Gcc)
|
||||
clang(Clang)
|
||||
mingw_x86(Gcc) {
|
||||
eachPlatform() {
|
||||
cCompiler.executable "i686-w64-mingw32-gcc"
|
||||
cppCompiler.executable "i686-w64-mingw32-g++"
|
||||
linker.executable "i686-w64-mingw32-g++"
|
||||
assembler.executable "i686-w64-mingw32-g++"
|
||||
staticLibArchiver.executable "i686-w64-mingw32-gcc-ar"
|
||||
}
|
||||
target("Windows32")
|
||||
}
|
||||
mingw_x86_64(Gcc) {
|
||||
eachPlatform() {
|
||||
cCompiler.executable "x86_64-w64-mingw32-gcc"
|
||||
cppCompiler.executable "x86_64-w64-mingw32-g++"
|
||||
linker.executable "x86_64-w64-mingw32-g++"
|
||||
assembler.executable "x86_64-w64-mingw32-g++"
|
||||
staticLibArchiver.executable "x86_64-w64-mingw32-gcc-ar"
|
||||
}
|
||||
target("Windows64")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Java source sets for IDE access and source jar bundling / mavenization
|
||||
@ -215,7 +190,7 @@ unzipBullet.dependsOn {
|
||||
}
|
||||
}
|
||||
|
||||
task unzipBulletIfNeeded << {
|
||||
task unzipBulletIfNeeded {
|
||||
}
|
||||
|
||||
unzipBulletIfNeeded.dependsOn {
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -144,11 +144,27 @@ JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setGravity
|
||||
/*
|
||||
* Class: com_jme3_bullet_PhysicsSpace
|
||||
* Method: rayTest_native
|
||||
* Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;JLjava/util/List;)V
|
||||
* Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;JLjava/util/List;I)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_rayTest_1native
|
||||
(JNIEnv *, jobject, jobject, jobject, jlong, jobject, jint);
|
||||
|
||||
/*
|
||||
* Class: com_jme3_bullet_PhysicsSpace
|
||||
* Method: sweepTest_native
|
||||
* Signature: (JLcom/jme3/math/Transform;Lcom/jme3/math/Transform;JLjava/util/List;F)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_sweepTest_1native
|
||||
(JNIEnv *, jobject, jlong, jobject, jobject, jlong, jobject, jfloat);
|
||||
|
||||
/*
|
||||
* Class: com_jme3_bullet_PhysicsSpace
|
||||
* Method: setSolverNumIterations
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setSolverNumIterations
|
||||
(JNIEnv *, jobject, jlong, jint);
|
||||
|
||||
/*
|
||||
* Class: com_jme3_bullet_PhysicsSpace
|
||||
* Method: initNativePhysics
|
||||
@ -165,23 +181,6 @@ JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_initNativePhysics
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_finalizeNative
|
||||
(JNIEnv *, jobject, jlong);
|
||||
|
||||
|
||||
/*
|
||||
* Class: com_jme3_bullet_PhysicsSpace
|
||||
* Method : sweepTest_native
|
||||
* Signature: (J;L;Lcom/jme3/math/Transform;Lcom/jme3/math/Transform;L;JLjava/util/List;F)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_sweepTest_1native
|
||||
(JNIEnv *, jobject, jlong, jobject, jobject, jlong, jobject, jfloat);
|
||||
|
||||
/*
|
||||
* Class: com_jme3_bullet_PhysicsSpace
|
||||
* Method: setSolverNumIterations
|
||||
* Signature: (JI)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setSolverNumIterations
|
||||
(JNIEnv *, jobject, jlong, jint);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -401,7 +401,6 @@ JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngula
|
||||
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
|
||||
(JNIEnv *, jobject, jlong, jobject);
|
||||
|
||||
|
||||
/*
|
||||
* Class: com_jme3_bullet_objects_PhysicsRigidBody
|
||||
* Method: setAngularFactor
|
||||
|
@ -15,3 +15,54 @@ dependencies {
|
||||
compile project(':jme3-core')
|
||||
compile project(':jme3-terrain')
|
||||
}
|
||||
|
||||
task generateNativeHeaders(type: Exec, dependsOn: classes) {
|
||||
def classes = " \
|
||||
com.jme3.bullet.PhysicsSpace, \
|
||||
\
|
||||
com.jme3.bullet.collision.PhysicsCollisionEvent, \
|
||||
com.jme3.bullet.collision.PhysicsCollisionObject,\
|
||||
com.jme3.bullet.objects.PhysicsCharacter, \
|
||||
com.jme3.bullet.objects.PhysicsGhostObject, \
|
||||
com.jme3.bullet.objects.PhysicsRigidBody, \
|
||||
com.jme3.bullet.objects.PhysicsVehicle, \
|
||||
com.jme3.bullet.objects.VehicleWheel, \
|
||||
com.jme3.bullet.objects.infos.RigidBodyMotionState, \
|
||||
\
|
||||
com.jme3.bullet.collision.shapes.CollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.BoxCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.CapsuleCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.CompoundCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.ConeCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.CylinderCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.GImpactCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.HeightfieldCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.HullCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.MeshCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.PlaneCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.SimplexCollisionShape, \
|
||||
com.jme3.bullet.collision.shapes.SphereCollisionShape, \
|
||||
\
|
||||
com.jme3.bullet.joints.PhysicsJoint, \
|
||||
com.jme3.bullet.joints.ConeJoint, \
|
||||
com.jme3.bullet.joints.HingeJoint, \
|
||||
com.jme3.bullet.joints.Point2PointJoint, \
|
||||
com.jme3.bullet.joints.SixDofJoint, \
|
||||
com.jme3.bullet.joints.SixDofSpringJoint, \
|
||||
com.jme3.bullet.joints.SliderJoint, \
|
||||
com.jme3.bullet.joints.motors.RotationalLimitMotor, \
|
||||
com.jme3.bullet.joints.motors.TranslationalLimitMotor, \
|
||||
\
|
||||
com.jme3.bullet.util.NativeMeshUtil, \
|
||||
com.jme3.bullet.util.DebugShapeFactory"
|
||||
|
||||
def classpath = sourceSets.main.runtimeClasspath.asPath
|
||||
def nativeIncludes = new File(project(":jme3-bullet-native").projectDir, "src/native/cpp")
|
||||
|
||||
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
|
||||
args "-d", nativeIncludes
|
||||
args "-classpath", classpath
|
||||
args classes.split(",").collect { it.trim() }
|
||||
}
|
||||
|
||||
assemble.dependsOn(generateNativeHeaders)
|
@ -63,69 +63,71 @@ jar.doFirst{
|
||||
|
||||
task dist (dependsOn: ['build', ':jme3-jogl:jar', ':jme3-bullet:jar', ':jme3-android:jar', \
|
||||
':jme3-android-native:jar', ':jme3-bullet-native-android:jar', \
|
||||
':jme3-bullet-native:jar']) << {
|
||||
// Copy all dependencies to ../dist/lib, remove versions from jar files
|
||||
configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
|
||||
':jme3-bullet-native:jar']) {
|
||||
doLast {
|
||||
// Copy all dependencies to ../dist/lib, remove versions from jar files
|
||||
configurations.compile.resolvedConfiguration.resolvedArtifacts.each { artifact ->
|
||||
copy {
|
||||
from artifact.file
|
||||
into '../dist/lib'
|
||||
if(artifact.classifier != null){
|
||||
rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
|
||||
} else{
|
||||
rename { "${artifact.name}.${artifact.extension}" }
|
||||
}
|
||||
}
|
||||
}
|
||||
copy {
|
||||
from artifact.file
|
||||
into '../dist/lib'
|
||||
if(artifact.classifier != null){
|
||||
rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
|
||||
} else{
|
||||
rename { "${artifact.name}.${artifact.extension}" }
|
||||
from jar.archivePath
|
||||
into '../dist'
|
||||
rename { "jMonkeyEngine3.jar" }
|
||||
}
|
||||
// Copy JOGL packages, remove version
|
||||
def config = project(':jme3-jogl').configurations.runtime.copyRecursive({ !(it instanceof ProjectDependency); })
|
||||
config.resolvedConfiguration.resolvedArtifacts.each {artifact ->
|
||||
copy{
|
||||
from artifact.file
|
||||
into '../dist/opt/jogl/lib'
|
||||
if(artifact.classifier != null){
|
||||
rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
|
||||
} else{
|
||||
rename { "${artifact.name}.${artifact.extension}" }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
copy {
|
||||
from jar.archivePath
|
||||
into '../dist'
|
||||
rename { "jMonkeyEngine3.jar" }
|
||||
}
|
||||
// Copy JOGL packages, remove version
|
||||
def config = project(':jme3-jogl').configurations.runtime.copyRecursive({ !(it instanceof ProjectDependency); })
|
||||
config.resolvedConfiguration.resolvedArtifacts.each {artifact ->
|
||||
copy{
|
||||
from artifact.file
|
||||
into '../dist/opt/jogl/lib'
|
||||
if(artifact.classifier != null){
|
||||
rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
|
||||
} else{
|
||||
rename { "${artifact.name}.${artifact.extension}" }
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-jogl').jar.archivePath
|
||||
into '../dist/opt/jogl'
|
||||
rename {project(':jme3-jogl').name+".jar"}
|
||||
}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-jogl').jar.archivePath
|
||||
into '../dist/opt/jogl'
|
||||
rename {project(':jme3-jogl').name+".jar"}
|
||||
}
|
||||
|
||||
// Copy bullet packages, remove version
|
||||
copy {
|
||||
from project(':jme3-bullet').jar.archivePath
|
||||
into '../dist/opt/native-bullet'
|
||||
rename {project(':jme3-bullet').name+".jar"}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-bullet-native').jar.archivePath
|
||||
into '../dist/opt/native-bullet'
|
||||
rename {project(':jme3-bullet-native').name+".jar"}
|
||||
}
|
||||
// Copy bullet packages, remove version
|
||||
copy {
|
||||
from project(':jme3-bullet').jar.archivePath
|
||||
into '../dist/opt/native-bullet'
|
||||
rename {project(':jme3-bullet').name+".jar"}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-bullet-native').jar.archivePath
|
||||
into '../dist/opt/native-bullet'
|
||||
rename {project(':jme3-bullet-native').name+".jar"}
|
||||
}
|
||||
|
||||
// Copy android packages, remove version
|
||||
copy {
|
||||
from project(':jme3-android').jar.archivePath
|
||||
into '../dist/opt/android'
|
||||
rename {project(':jme3-android').name+".jar"}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-android-native').jar.archivePath
|
||||
into '../dist/opt/android'
|
||||
rename {project(':jme3-android-native').name+".jar"}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-bullet-native-android').jar.archivePath
|
||||
into '../dist/opt/native-bullet'
|
||||
rename {project(':jme3-bullet-native-android').name+".jar"}
|
||||
// Copy android packages, remove version
|
||||
copy {
|
||||
from project(':jme3-android').jar.archivePath
|
||||
into '../dist/opt/android'
|
||||
rename {project(':jme3-android').name+".jar"}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-android-native').jar.archivePath
|
||||
into '../dist/opt/android'
|
||||
rename {project(':jme3-android-native').name+".jar"}
|
||||
}
|
||||
copy {
|
||||
from project(':jme3-bullet-native-android').jar.archivePath
|
||||
into '../dist/opt/native-bullet'
|
||||
rename {project(':jme3-bullet-native-android').name+".jar"}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
4
private/key.enc
Normal file
4
private/key.enc
Normal file
@ -0,0 +1,4 @@
|
||||
&"˜µ+åq.âg”2K:£Æ‡TŸ†™ãŽ
>1èÃ8â]v^LЫÚÝ/R"¹o2í#5;ÂQ`;â@ñ»¦±–¾&{ãyûJGaï„GÒé;ëôÐlTd·“lîÎtnãHxŒâ¦üp~WçrˆâJ5ÁÞÄÝ争î´CºŽñh_#»
|
||||
Ûž<EFBFBD>©){2xX<78>êdÞŠâçu<C3A7>1Þ³®
|
||||
"
|
||||
¯P‘€„éË DC¶©'e1ÍùDä·k˜]i§x&"n§93Ñ5‡žd6Œ==·XÕb”8JWŠBÌó/±wmÉJ&Y‹“Æì£Šu=*¯
|
16
private/upload_native.sh
Executable file
16
private/upload_native.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
# NATIVE_CHANGES="$(git diff-tree --name-only "$TRAVIS_COMMIT" -- jme3-bullet-native/)"
|
||||
# if [ "$NATIVE_CHANGES" != "" ]; then
|
||||
git config --global user.email "travis-ci"
|
||||
git config --global user.name "travis-ci"
|
||||
openssl aes-256-cbc -K $encrypted_f0a0b284e2e8_key -iv $encrypted_f0a0b284e2e8_iv -in private/key.enc -out "$HOME/.ssh/id_rsa" -d
|
||||
chmod 600 "$HOME/.ssh/id_rsa"
|
||||
ls jme3-bullet-native/build/libs/bulletjme/shared/
|
||||
md5 -r jme3-bullet-native/libs/native/osx/x86/libbulletjme.dylib jme3-bullet-native/build/libs/bulletjme/shared/mac32/libbulletjme.dylib
|
||||
git checkout "$TRAVIS_BRANCH"
|
||||
git add -v -- jme3-bullet-native/libs/native/
|
||||
git commit -v -m "[ci skip] bullet: update $TRAVIS_OS_NAME natives"
|
||||
git pull -q --rebase
|
||||
# git push git@github.com:jMonkeyEngine/jmonkeyengine.git
|
||||
# fi
|
Binary file not shown.
@ -15,7 +15,9 @@ include 'jme3-desktop'
|
||||
include 'jme3-blender'
|
||||
include 'jme3-jogl'
|
||||
include 'jme3-lwjgl'
|
||||
include 'jme3-lwjgl3'
|
||||
if (JavaVersion.current().isJava8Compatible()) {
|
||||
include 'jme3-lwjgl3'
|
||||
}
|
||||
|
||||
// Other external dependencies
|
||||
include 'jme3-jbullet'
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
Version Info Examples
|
||||
=====================
|
||||
|
||||
|
||||
Nightly Build Snapshot
|
||||
* git tag:
|
||||
* Full Version: 3.1-5124
|
||||
@ -22,14 +22,14 @@
|
||||
* POM Version: 3.1.0-alpha1
|
||||
* NBM Revision: 0
|
||||
* NBM UC Suffix: stable/3.1/plugins
|
||||
|
||||
|
||||
Final Release
|
||||
* git tag: v3.1.0
|
||||
* Full Version: 3.1
|
||||
* POM Version: 3.1.0
|
||||
* NBM Revision: 0
|
||||
* NBM UC Suffix: stable/3.1/plugins
|
||||
*/
|
||||
*/
|
||||
|
||||
import java.text.SimpleDateFormat
|
||||
import org.ajoberstar.grgit.*
|
||||
@ -45,7 +45,6 @@ buildscript {
|
||||
|
||||
ext {
|
||||
jmeRevision = 0
|
||||
jmeNbmRevision = 0
|
||||
jmeGitHash = ""
|
||||
jmeGitTag = ""
|
||||
jmeShortGitHash = ""
|
||||
@ -53,7 +52,6 @@ ext {
|
||||
jmeBranchName = "unknown"
|
||||
jmeFullVersion = "${jmeVersion}-UNKNOWN"
|
||||
jmePomVersion = "unknown"
|
||||
jmeNbmUcSuffix = "unknown"
|
||||
}
|
||||
|
||||
def getReleaseInfo(String tag) {
|
||||
@ -122,47 +120,46 @@ task configureVersionInfo {
|
||||
jmeShortGitHash = head.abbreviatedId
|
||||
jmeBranchName = grgit.branch.current.name
|
||||
jmeGitTag = grgit.tag.list().find { it.commit == head }
|
||||
|
||||
|
||||
if (jmeGitTag != null) {
|
||||
jmeGitTag = jmeGitTag.name
|
||||
} else {
|
||||
jmeGitTag = System.env.TRAVIS_TAG
|
||||
if (System.env.APPVEYOR_REPO_TAG == "true") {
|
||||
jmeGitTag = System.env.APPVEYOR_REPO_TAG_NAME
|
||||
} else {
|
||||
jmeGitTag = System.env.TRAVIS_TAG
|
||||
}
|
||||
}
|
||||
|
||||
def releaseInfo = getReleaseInfo(jmeGitTag)
|
||||
if (releaseInfo != null) {
|
||||
jmeFullVersion = "${releaseInfo.baseVersion}${releaseInfo.releaseSuffix}"
|
||||
jmePomVersion = "${releaseInfo.mainVersion}${releaseInfo.releaseSuffix}"
|
||||
jmeNbmRevision = "0"
|
||||
jmeNbmUcSuffix = "stable/${releaseInfo.baseVersion}/plugins"
|
||||
} else {
|
||||
// SNAPSHOT
|
||||
jmeFullVersion = jmeMainVersion
|
||||
jmePomVersion = jmeVersion
|
||||
if (System.env.TRAVIS_BRANCH != null) {
|
||||
jmeBranchName = System.env.TRAVIS_BRANCH
|
||||
} else if (System.env.APPVEYOR_REPO_BRANCH != null) {
|
||||
jmeBranchName = System.env.APPVEYOR_REPO_BRANCH
|
||||
}
|
||||
if (System.env.TRAVIS_PULL_REQUEST != null &&
|
||||
if (System.env.TRAVIS_PULL_REQUEST != null &&
|
||||
System.env.TRAVIS_PULL_REQUEST != "false") {
|
||||
jmeBranchName += "-pr-" + System.env.TRAVIS_PULL_REQUEST
|
||||
} else if (System.env.APPVEYOR_PULL_REQUEST_NUMBER != null) {
|
||||
jmeBranchName += "-pr-" + System.env.APPVEYOR_PULL_REQUEST_NUMBER
|
||||
}
|
||||
if (jmeBranchName != "master") {
|
||||
jmeFullVersion += "-${jmeBranchName}"
|
||||
jmePomVersion += "-${jmeBranchName}"
|
||||
jmeNbmUcSuffix = "${jmeBranchName}-"
|
||||
} else {
|
||||
jmeNbmUcSuffix = ""
|
||||
}
|
||||
jmeNbmUcSuffix += "nightly/" + jmeMainVersion + "/plugins"
|
||||
jmeFullVersion += "-${jmeRevision}"
|
||||
jmePomVersion += "-SNAPSHOT"
|
||||
jmeNbmRevision = jmeRevision
|
||||
}
|
||||
|
||||
|
||||
logger.warn("Full Version: ${jmeFullVersion}")
|
||||
logger.warn("POM Version: ${jmePomVersion}")
|
||||
logger.warn("NBM Revision: ${jmeNbmRevision}")
|
||||
logger.warn("NBM UC Suffix: ${jmeNbmUcSuffix}")
|
||||
} catch (ex) {
|
||||
// Failed to get repo info
|
||||
logger.warn("Failed to get repository info: " + ex.message + ". " + \
|
||||
|
Loading…
x
Reference in New Issue
Block a user