Merge remote-tracking branch 'github/master' into master-original

native-compilation-test
javasabr 8 years ago
commit 13eec17ddd
  1. 2
      .gitignore
  2. 53
      .travis.yml
  3. 51
      appveyor.yml
  4. 53
      build.gradle
  5. 19
      common.gradle
  6. 7
      gradle.properties
  7. 4
      gradle/wrapper/gradle-wrapper.properties
  8. 61
      jme3-bullet-native-android/build.gradle
  9. 37
      jme3-bullet-native/build.gradle
  10. BIN
      jme3-bullet-native/libs/native/linux/x86/libbulletjme.so
  11. BIN
      jme3-bullet-native/libs/native/linux/x86_64/libbulletjme.so
  12. BIN
      jme3-bullet-native/libs/native/osx/x86/libbulletjme.dylib
  13. BIN
      jme3-bullet-native/libs/native/osx/x86_64/libbulletjme.dylib
  14. BIN
      jme3-bullet-native/libs/native/windows/x86/bulletjme.dll
  15. BIN
      jme3-bullet-native/libs/native/windows/x86_64/bulletjme.dll
  16. 35
      jme3-bullet-native/src/native/cpp/com_jme3_bullet_PhysicsSpace.h
  17. 1
      jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsRigidBody.h
  18. 51
      jme3-bullet/build.gradle
  19. 118
      jme3-examples/build.gradle
  20. 4
      private/key.enc
  21. 16
      private/upload_native.sh
  22. BIN
      private/www-updater.key.enc
  23. 4
      settings.gradle
  24. 33
      version.gradle

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/

@ -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 || :'

@ -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

@ -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

@ -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 {

@ -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 ->
copy {
from artifact.file
into '../dist/lib'
if(artifact.classifier != null){
rename { "${artifact.name}-${artifact.classifier}.${artifact.extension}" }
} else{
rename { "${artifact.name}.${artifact.extension}" }
':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 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"}
}
}
}

@ -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<EFBFBD>êdÞŠâçu<EFBFBD>1Þ³®
"
¯P‘€„éË DC¶©'e1ÍùDä·k˜]i§x&"n§93Ñ5‡žd6Œ==·XÕb”8JWŠBÌó/±wmÉJ&Y‹“Æ죊u=*¯

@ -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…
Cancel
Save