Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

no bulletjme in java.library.path #1208

Closed
stephengold opened this issue Oct 31, 2019 · 15 comments
Closed

no bulletjme in java.library.path #1208

stephengold opened this issue Oct 31, 2019 · 15 comments
Assignees
Labels
buildscript An issue with the buildscript Physics Issues with all kinds of Physics and their Bindings
Milestone

Comments

@stephengold
Copy link
Member

sailsman63 reported this issue at the Forum: when TestChooser is run from the command line using gradlew run, the bulletjme native library isn't loaded.

I downloaded and unzipped the native snapshot from https://dl.bintray.com/jmonkeyengine/files/a4c694ba36258af5c6ce7823f4bdacc424988557/jme3-natives.zip

It looks like the bulletjme native library for my platform is in bullet/windows/x86_64/bulletjme.dll, but the loader is looking for native/windows/x86_64/bulletjme.dll.

$ git clone https://github.com/jMonkeyEngine/jmonkeyengine.git
Cloning into 'jmonkeyengine'...
remote: Enumerating objects: 52, done.
remote: Counting objects: 100% (52/52), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 105351 (delta 13), reused 29 (delta 9), pack-reused 105299
Receiving objects: 100% (105351/105351), 816.27 MiB | 7.07 MiB/s, done.
Resolving deltas: 100% (52413/52413), done.

Stephen@SGold2012 MINGW64 /s/Git
$ cd jmonkeyengine

Stephen@SGold2012 MINGW64 /s/Git/jmonkeyengine (master)
$ ./gradlew run

> Configure project :
Full Version: 2c6161ecd8e7d7ced3752724b220feca5aabced1
POM Version: 2c6161ecd8e7d7ced3752724b220feca5aabced1
Use natives snapshot: https://dl.bintray.com/jmonkeyengine/files/a4c694ba36258af5c6ce7823f4bdacc424988557/jme3-natives.zip
No filter set. build for all

> Task :jme3-core:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-core:compileGroovy NO-SOURCE
> Task :jme3-core:updateVersionPropertiesFile
> Task :jme3-core:processResources
> Task :jme3-core:classes
> Task :jme3-core:jar

> Task :jme3-desktop:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-desktop:compileGroovy NO-SOURCE
> Task :jme3-desktop:processResources
> Task :jme3-desktop:classes
> Task :jme3-desktop:jar
> Task :jme3-effects:compileJava
> Task :jme3-effects:compileGroovy NO-SOURCE
> Task :jme3-effects:processResources
> Task :jme3-effects:classes
> Task :jme3-effects:jar

> Task :jme3-blender:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :jme3-blender:compileGroovy NO-SOURCE
> Task :jme3-blender:processResources
> Task :jme3-blender:classes
> Task :jme3-blender:jar

> Task :jme3-terrain:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-terrain:compileGroovy NO-SOURCE
> Task :jme3-terrain:processResources
> Task :jme3-terrain:classes
> Task :jme3-terrain:jar

> Task :jme3-bullet:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-bullet:compileGroovy NO-SOURCE
> Task :jme3-bullet:processResources NO-SOURCE
> Task :jme3-bullet:classes
> Task :jme3-bullet:jar
> Task :jme3-bullet-native:compileJava NO-SOURCE
> Task :jme3-bullet-native:compileGroovy NO-SOURCE
> Task :jme3-bullet-native:processResources NO-SOURCE
> Task :jme3-bullet-native:classes UP-TO-DATE
> Task :jme3-bullet-native:jar

> Task :jme3-jogg:compileJava
Note: S:\Git\jmonkeyengine\jme3-jogg\src\main\java\com\jme3\audio\plugins\OGGLoader.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-jogg:compileGroovy NO-SOURCE
> Task :jme3-jogg:processResources NO-SOURCE
> Task :jme3-jogg:classes
> Task :jme3-jogg:jar
> Task :jme3-jogl:compileJava
> Task :jme3-jogl:compileGroovy NO-SOURCE
> Task :jme3-jogl:processResources NO-SOURCE
> Task :jme3-jogl:classes
> Task :jme3-jogl:jar
> Task :jme3-lwjgl:compileJava
> Task :jme3-lwjgl:compileGroovy NO-SOURCE
> Task :jme3-lwjgl:processResources NO-SOURCE
> Task :jme3-lwjgl:classes
> Task :jme3-lwjgl:jar

> Task :jme3-networking:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-networking:compileGroovy NO-SOURCE
> Task :jme3-networking:processResources NO-SOURCE
> Task :jme3-networking:classes
> Task :jme3-networking:jar

> Task :jme3-niftygui:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :jme3-niftygui:compileGroovy NO-SOURCE
> Task :jme3-niftygui:processResources
> Task :jme3-niftygui:classes
> Task :jme3-niftygui:jar

> Task :jme3-plugins:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-plugins:compileGroovy NO-SOURCE
> Task :jme3-plugins:processResources NO-SOURCE
> Task :jme3-plugins:classes
> Task :jme3-plugins:jar
> Task :jme3-testdata:compileJava NO-SOURCE
> Task :jme3-testdata:compileGroovy NO-SOURCE
> Task :jme3-testdata:processResources
> Task :jme3-testdata:classes
> Task :jme3-testdata:jar

> Task :jme3-examples:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-examples:compileGroovy NO-SOURCE
> Task :jme3-examples:processResources
> Task :jme3-examples:classes
> Task :jme3-examples:jar
> Task :jme3-examples:sourcesJar
> Task :jme3-examples:writeFullPom
> Task :jme3-examples:assemble
> Task :jme3-examples:compileTestJava NO-SOURCE
> Task :jme3-examples:compileTestGroovy NO-SOURCE
> Task :jme3-examples:processTestResources NO-SOURCE
> Task :jme3-examples:testClasses UP-TO-DATE
> Task :jme3-examples:test NO-SOURCE
> Task :jme3-examples:check UP-TO-DATE
> Task :jme3-examples:build
> Task :jme3-examples:run
bullOct 31, 2019 1:48:58 PM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 2c6161ecd8e7d7ced3752724b220feca5aabced1
 * Branch: master
 * Git Hash: 2c6161e
 * Build Date: 2019-10-31
Oct 31, 2019 1:48:58 PM jme3test.TestChooser$2 run
SEVERE: main() method had exception: jme3test.bullet.TestAttachDriver
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at jme3test.TestChooser$2.run(TestChooser.java:270)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsatisfiedLinkError: The required native library 'bulletjme' was not found in the classpath via 'native/windows/x86_64/bulletjme.dll'. Error message: no bulletjme in java.library.path
        at com.jme3.system.NativeLibraryLoader.loadNativeLibrary(NativeLibraryLoader.java:598)
        at com.jme3.system.JmeDesktopSystem.initialize(JmeDesktopSystem.java:348)
        at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:271)
        at com.jme3.system.JmeSystem.newContext(JmeSystem.java:159)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:461)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
        at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
        ... 6 more
@stephengold stephengold added this to the v3.3.0 milestone Oct 31, 2019
@riccardobl riccardobl self-assigned this Oct 31, 2019
@stephengold
Copy link
Member Author

See commit b571840. I will test it soon.

@stephengold
Copy link
Member Author

I tested d8a42d0 and encountered a new issue:

$ ./gradlew build
Starting a Gradle Daemon, 2 busy and 5 incompatible and 1 stopped Daemons could not be reused, use --status for details

> Configure project :
Full Version: d8a42d0817ba7a4c895768b508b0af4b8194541f
POM Version: d8a42d0817ba7a4c895768b508b0af4b8194541f
Use natives snapshot: https://dl.bintray.com/jmonkeyengine/files/973d8be894aa7ba679ff2d407aa4d94405493781/jme3-natives.zip
No filter set. build for all

> Task :assemble UP-TO-DATE
> Task :check UP-TO-DATE

> Task :getPrebuiltNatives
Download natives from https://dl.bintray.com/jmonkeyengine/files/973d8be894aa7ba679ff2d407aa4d94405493781/jme3-natives.zip to S:\Git\jME master\jmonkeyengine\build\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip

> Task :getPrebuiltNatives FAILED

FAILURE: Build failed with an exception.

* Where:
Build file 'S:\Git\jME master\jmonkeyengine\build.gradle' line: 189

* What went wrong:
Execution failed for task ':getPrebuiltNatives'.
> String index out of range: -1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 44s

@riccardobl
Copy link
Member

I'm testing on a clean clone and i can't reproduce the issue... But it's part of the migration code that will be removed anyway, now that we have a fresh snapshot with the new paths.

@riccardobl
Copy link
Member

Can you test it now and confirm that everything works?

I'm also adding here a quick summary of what was causing the error and what the fix is about:

The build script used to have custom logic to add the natives inside the release jar, it seems that having them in the classpath during the debug was a biproduct of this process (since they weren't specifically added as dependency in the buildscript) when i moved the native binaries outside the repo, this changed and didn't work anymore.

The fix i adopted is to remove all the custom logic and include the natives as resources, in doing this i had to change the paths in the snapshot archive to make them match the expected paths in the jar.
I then added a migration code to keep the build working with the old snapshot, until the new snapshot was ready.

@stephengold
Copy link
Member Author

I tested a fresh clone of 3217cdc and got back to the original issue:

$ git clone https://github.com/jMonkeyEngine/jmonkeyengine.git
Cloning into 'jmonkeyengine'...
remote: Enumerating objects: 71, done.
remote: Counting objects: 100% (71/71), done.
remote: Compressing objects: 100% (54/54), done.
remote: Total 105370 (delta 20), reused 40 (delta 12), pack-reused 105299
Receiving objects: 100% (105370/105370), 816.28 MiB | 7.08 MiB/s, done.
Resolving deltas: 100% (52420/52420), done.

Stephen@SGold2012 MINGW64 /s/Git
$ cd jmonkeyengine

Stephen@SGold2012 MINGW64 /s/Git/jmonkeyengine (master)
$ ./gradlew build
Starting a Gradle Daemon, 2 busy and 3 incompatible Daemons could not be reused, use --status for details

> Configure project :
Full Version: 3217cdc74cc3610596bd8d05910ece45ac502549
POM Version: 3217cdc74cc3610596bd8d05910ece45ac502549
Use natives snapshot: https://dl.bintray.com/jmonkeyengine/files/973d8be894aa7ba679ff2d407aa4d94405493781/jme3-natives.zip
No filter set. build for all

> Task :assemble UP-TO-DATE
> Task :check UP-TO-DATE

> Task :getNativesZipFile
Download natives from https://dl.bintray.com/jmonkeyengine/files/973d8be894aa7ba679ff2d407aa4d94405493781/jme3-natives.zip to S:\Git\jmonkeyengine\build\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip

> Task :extractPrebuiltNatives
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\arm64-v8a\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\arm64-v8a\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\armeabi-v7a\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\armeabi-v7a\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\x86\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\x86\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\x86_64\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\bullet\x86_64\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\arm64-v8a\libdecodejme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\arm64-v8a\libdecodejme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\armeabi-v7a\libdecodejme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\armeabi-v7a\libdecodejme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\x86\libdecodejme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\x86\libdecodejme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\x86_64\libdecodejme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\decode\x86_64\libdecodejme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\arm64-v8a\libopenalsoftjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\arm64-v8a\libopenalsoftjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\armeabi-v7a\libopenalsoftjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\armeabi-v7a\libopenalsoftjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\x86\libopenalsoftjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\x86\libopenalsoftjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\x86_64\libopenalsoftjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\android\openalsoft\x86_64\libopenalsoftjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\aarch64\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\aarch64\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\arm_v7\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\arm_v7\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\armhf\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\armhf\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\x86\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\x86\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\x86_64\libbulletjme.so S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\linux\x86_64\libbulletjme.so
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\osx\x86\libbulletjme.dylib S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\osx\x86\libbulletjme.dylib
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\osx\x86_64\libbulletjme.dylib S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\osx\x86_64\libbulletjme.dylib
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\windows\x86\bulletjme.dll S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\windows\x86\bulletjme.dll
Copy S:\Git\jmonkeyengine\build\tmp\expandedArchives\973d8be894aa7ba679ff2d407aa4d94405493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\windows\x86_64\bulletjme.dll S:\Git\jmonkeyengine\build\native\05493781-natives.zip_1b84be693cadabfdcf9f24383a8f0ac9\bullet\native\windows\x86_64\bulletjme.dll

> Task :build

> Task :jme3-core:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-core:compileGroovy NO-SOURCE
> Task :jme3-core:updateVersionPropertiesFile
> Task :jme3-core:processResources
> Task :jme3-core:classes
> Task :jme3-core:jar

> Task :jme3-plugins:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-plugins:compileGroovy NO-SOURCE
> Task :jme3-plugins:processResources NO-SOURCE
> Task :jme3-plugins:classes
> Task :jme3-plugins:jar

> Task :jme3-android:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: S:\Git\jmonkeyengine\jme3-android\src\main\java\com\jme3\input\android\AndroidJoystickJoyInput14.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-android:compileGroovy NO-SOURCE
> Task :jme3-android:processResources
> Task :jme3-android:classes
> Task :jme3-android:jar
> Task :jme3-android:javadoc
> Task :jme3-android:javadocJar
> Task :jme3-android:sourcesJar
> Task :jme3-android:writeFullPom
> Task :jme3-android:assemble
> Task :jme3-android:compileTestJava NO-SOURCE
> Task :jme3-android:compileTestGroovy NO-SOURCE
> Task :jme3-android:processTestResources NO-SOURCE
> Task :jme3-android:testClasses UP-TO-DATE
> Task :jme3-android:test NO-SOURCE
> Task :jme3-android:check UP-TO-DATE
> Task :jme3-android:build
> Task :jme3-android-native:copyPreCompiledLibs NO-SOURCE
> Task :jme3-android-native:copyPreCompiledOpenAlSoftLibs NO-SOURCE
> Task :jme3-android-native:compileJava NO-SOURCE
> Task :jme3-android-native:compileGroovy NO-SOURCE
> Task :jme3-android-native:processResources NO-SOURCE
> Task :jme3-android-native:classes UP-TO-DATE
> Task :jme3-android-native:jar
> Task :jme3-android-native:javadoc NO-SOURCE
> Task :jme3-android-native:javadocJar
> Task :jme3-android-native:sourcesJar
> Task :jme3-android-native:writeFullPom
> Task :jme3-android-native:assemble
> Task :jme3-android-native:compileTestJava NO-SOURCE
> Task :jme3-android-native:compileTestGroovy NO-SOURCE
> Task :jme3-android-native:processTestResources NO-SOURCE
> Task :jme3-android-native:testClasses UP-TO-DATE
> Task :jme3-android-native:test NO-SOURCE
> Task :jme3-android-native:check UP-TO-DATE
> Task :jme3-android-native:build

> Task :jme3-desktop:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-desktop:compileGroovy NO-SOURCE
> Task :jme3-desktop:processResources
> Task :jme3-desktop:classes
> Task :jme3-desktop:jar
> Task :jme3-effects:compileJava
> Task :jme3-effects:compileGroovy NO-SOURCE
> Task :jme3-effects:processResources
> Task :jme3-effects:classes
> Task :jme3-effects:jar

> Task :jme3-blender:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :jme3-blender:compileGroovy NO-SOURCE
> Task :jme3-blender:processResources
> Task :jme3-blender:classes
> Task :jme3-blender:jar
> Task :jme3-blender:javadoc
> Task :jme3-blender:javadocJar
> Task :jme3-blender:sourcesJar
> Task :jme3-blender:writeFullPom
> Task :jme3-blender:assemble
> Task :jme3-blender:compileTestJava NO-SOURCE
> Task :jme3-blender:compileTestGroovy NO-SOURCE
> Task :jme3-blender:processTestResources NO-SOURCE
> Task :jme3-blender:testClasses UP-TO-DATE
> Task :jme3-blender:test NO-SOURCE
> Task :jme3-blender:check UP-TO-DATE
> Task :jme3-blender:build

> Task :jme3-terrain:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-terrain:compileGroovy NO-SOURCE
> Task :jme3-terrain:processResources
> Task :jme3-terrain:classes
> Task :jme3-terrain:jar

> Task :jme3-bullet:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-bullet:compileGroovy NO-SOURCE
> Task :jme3-bullet:processResources NO-SOURCE
> Task :jme3-bullet:classes
> Task :jme3-bullet:jar
> Task :jme3-bullet:javadoc
> Task :jme3-bullet:javadocJar
> Task :jme3-bullet:sourcesJar
> Task :jme3-bullet:writeFullPom
> Task :jme3-bullet:assemble
> Task :jme3-bullet:compileTestJava NO-SOURCE
> Task :jme3-bullet:compileTestGroovy NO-SOURCE
> Task :jme3-bullet:processTestResources NO-SOURCE
> Task :jme3-bullet:testClasses UP-TO-DATE
> Task :jme3-bullet:test NO-SOURCE
> Task :jme3-bullet:check UP-TO-DATE
> Task :jme3-bullet:build
> Task :jme3-bullet-native:compileJava NO-SOURCE
> Task :jme3-bullet-native:compileGroovy NO-SOURCE
> Task :jme3-bullet-native:processResources NO-SOURCE
> Task :jme3-bullet-native:classes UP-TO-DATE
> Task :jme3-bullet-native:jar
> Task :jme3-bullet-native:javadoc NO-SOURCE
> Task :jme3-bullet-native:javadocJar
> Task :jme3-bullet-native:sourcesJar
> Task :jme3-bullet-native:writeFullPom
> Task :jme3-bullet-native:assemble
> Task :jme3-bullet-native:compileTestJava NO-SOURCE
> Task :jme3-bullet-native:compileTestGroovy NO-SOURCE
> Task :jme3-bullet-native:processTestResources NO-SOURCE
> Task :jme3-bullet-native:testClasses UP-TO-DATE
> Task :jme3-bullet-native:test NO-SOURCE
> Task :jme3-bullet-native:check UP-TO-DATE
> Task :jme3-bullet-native:build
> Task :jme3-bullet-native-android:copyPreCompiledBulletLibs NO-SOURCE
> Task :jme3-bullet-native-android:compileJava NO-SOURCE
> Task :jme3-bullet-native-android:compileGroovy NO-SOURCE
> Task :jme3-bullet-native-android:processResources NO-SOURCE
> Task :jme3-bullet-native-android:classes UP-TO-DATE
> Task :jme3-bullet-native-android:jar
> Task :jme3-bullet-native-android:javadoc NO-SOURCE
> Task :jme3-bullet-native-android:javadocJar
> Task :jme3-bullet-native-android:sourcesJar
> Task :jme3-bullet-native-android:writeFullPom
> Task :jme3-bullet-native-android:assemble
> Task :jme3-bullet-native-android:compileTestJava NO-SOURCE
> Task :jme3-bullet-native-android:compileTestGroovy NO-SOURCE
> Task :jme3-bullet-native-android:processTestResources NO-SOURCE
> Task :jme3-bullet-native-android:testClasses UP-TO-DATE
> Task :jme3-bullet-native-android:test NO-SOURCE
> Task :jme3-bullet-native-android:check UP-TO-DATE
> Task :jme3-bullet-native-android:build

> Task :jme3-core:javadoc
S:\Git\jmonkeyengine\jme3-core\src\main\java\com\jme3\scene\mesh\IndexBuffer.java:166: warning - @return tag has no arguments.
1 warning

> Task :jme3-core:javadocJar
> Task :jme3-core:sourcesJar
> Task :jme3-core:writeFullPom
> Task :jme3-core:assemble

> Task :jme3-core:compileTestJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: S:\Git\jmonkeyengine\jme3-core\src\test\java\com\jme3\material\plugins\J3MLoaderTest.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-core:compileTestGroovy
> Task :jme3-core:processTestResources
> Task :jme3-core:testClasses
> Task :jme3-core:test
> Task :jme3-core:check
> Task :jme3-core:build
> Task :jme3-desktop:javadoc
> Task :jme3-desktop:javadocJar
> Task :jme3-desktop:sourcesJar
> Task :jme3-desktop:writeFullPom
> Task :jme3-desktop:assemble
> Task :jme3-desktop:compileTestJava NO-SOURCE
> Task :jme3-desktop:compileTestGroovy NO-SOURCE
> Task :jme3-desktop:processTestResources NO-SOURCE
> Task :jme3-desktop:testClasses UP-TO-DATE
> Task :jme3-desktop:test NO-SOURCE
> Task :jme3-desktop:check UP-TO-DATE
> Task :jme3-desktop:build
> Task :jme3-effects:javadoc
> Task :jme3-effects:javadocJar
> Task :jme3-effects:sourcesJar
> Task :jme3-effects:writeFullPom
> Task :jme3-effects:assemble
> Task :jme3-effects:compileTestJava NO-SOURCE
> Task :jme3-effects:compileTestGroovy NO-SOURCE
> Task :jme3-effects:processTestResources NO-SOURCE
> Task :jme3-effects:testClasses UP-TO-DATE
> Task :jme3-effects:test NO-SOURCE
> Task :jme3-effects:check UP-TO-DATE
> Task :jme3-effects:build

> Task :jme3-jogg:compileJava
Note: S:\Git\jmonkeyengine\jme3-jogg\src\main\java\com\jme3\audio\plugins\OGGLoader.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-jogg:compileGroovy NO-SOURCE
> Task :jme3-jogg:processResources NO-SOURCE
> Task :jme3-jogg:classes
> Task :jme3-jogg:jar
> Task :jme3-jogl:compileJava
> Task :jme3-jogl:compileGroovy NO-SOURCE
> Task :jme3-jogl:processResources NO-SOURCE
> Task :jme3-jogl:classes
> Task :jme3-jogl:jar
> Task :jme3-lwjgl:compileJava
> Task :jme3-lwjgl:compileGroovy NO-SOURCE
> Task :jme3-lwjgl:processResources NO-SOURCE
> Task :jme3-lwjgl:classes
> Task :jme3-lwjgl:jar

> Task :jme3-networking:compileJava
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-networking:compileGroovy NO-SOURCE
> Task :jme3-networking:processResources NO-SOURCE
> Task :jme3-networking:classes
> Task :jme3-networking:jar

> Task :jme3-niftygui:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :jme3-niftygui:compileGroovy NO-SOURCE
> Task :jme3-niftygui:processResources
> Task :jme3-niftygui:classes
> Task :jme3-niftygui:jar
> Task :jme3-testdata:compileJava NO-SOURCE
> Task :jme3-testdata:compileGroovy NO-SOURCE
> Task :jme3-testdata:processResources
> Task :jme3-testdata:classes
> Task :jme3-testdata:jar

> Task :jme3-examples:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-examples:compileGroovy NO-SOURCE
> Task :jme3-examples:processResources
> Task :jme3-examples:classes
> Task :jme3-examples:jar
> Task :jme3-examples:sourcesJar
> Task :jme3-examples:writeFullPom
> Task :jme3-examples:assemble
> Task :jme3-examples:compileTestJava NO-SOURCE
> Task :jme3-examples:compileTestGroovy NO-SOURCE
> Task :jme3-examples:processTestResources NO-SOURCE
> Task :jme3-examples:testClasses UP-TO-DATE
> Task :jme3-examples:test NO-SOURCE
> Task :jme3-examples:check UP-TO-DATE
> Task :jme3-examples:build
> Task :jme3-ios:compileJava
> Task :jme3-ios:compileGroovy NO-SOURCE
> Task :jme3-ios:processResources
> Task :jme3-ios:classes
> Task :jme3-ios:jar
> Task :jme3-ios:javadoc
> Task :jme3-ios:javadocJar
> Task :jme3-ios:sourcesJar
> Task :jme3-ios:writeFullPom
> Task :jme3-ios:assemble
> Task :jme3-ios:compileTestJava NO-SOURCE
> Task :jme3-ios:compileTestGroovy NO-SOURCE
> Task :jme3-ios:processTestResources NO-SOURCE
> Task :jme3-ios:testClasses UP-TO-DATE
> Task :jme3-ios:test NO-SOURCE
> Task :jme3-ios:check UP-TO-DATE
> Task :jme3-ios:build

> Task :jme3-jbullet:compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-jbullet:compileGroovy NO-SOURCE
> Task :jme3-jbullet:processResources NO-SOURCE
> Task :jme3-jbullet:classes
> Task :jme3-jbullet:jar
> Task :jme3-jbullet:javadoc
> Task :jme3-jbullet:javadocJar
> Task :jme3-jbullet:sourcesJar
> Task :jme3-jbullet:writeFullPom
> Task :jme3-jbullet:assemble
> Task :jme3-jbullet:compileTestJava NO-SOURCE
> Task :jme3-jbullet:compileTestGroovy NO-SOURCE
> Task :jme3-jbullet:processTestResources NO-SOURCE
> Task :jme3-jbullet:testClasses UP-TO-DATE
> Task :jme3-jbullet:test NO-SOURCE
> Task :jme3-jbullet:check UP-TO-DATE
> Task :jme3-jbullet:build
> Task :jme3-jogg:javadoc
> Task :jme3-jogg:javadocJar
> Task :jme3-jogg:sourcesJar
> Task :jme3-jogg:writeFullPom
> Task :jme3-jogg:assemble
> Task :jme3-jogg:compileTestJava NO-SOURCE
> Task :jme3-jogg:compileTestGroovy NO-SOURCE
> Task :jme3-jogg:processTestResources NO-SOURCE
> Task :jme3-jogg:testClasses UP-TO-DATE
> Task :jme3-jogg:test NO-SOURCE
> Task :jme3-jogg:check UP-TO-DATE
> Task :jme3-jogg:build
> Task :jme3-jogl:javadoc
> Task :jme3-jogl:javadocJar
> Task :jme3-jogl:sourcesJar
> Task :jme3-jogl:writeFullPom
> Task :jme3-jogl:assemble
> Task :jme3-jogl:compileTestJava NO-SOURCE
> Task :jme3-jogl:compileTestGroovy NO-SOURCE
> Task :jme3-jogl:processTestResources NO-SOURCE
> Task :jme3-jogl:testClasses UP-TO-DATE
> Task :jme3-jogl:test NO-SOURCE
> Task :jme3-jogl:check UP-TO-DATE
> Task :jme3-jogl:build
> Task :jme3-lwjgl:javadoc
> Task :jme3-lwjgl:javadocJar
> Task :jme3-lwjgl:sourcesJar
> Task :jme3-lwjgl:writeFullPom
> Task :jme3-lwjgl:assemble
> Task :jme3-lwjgl:compileTestJava NO-SOURCE
> Task :jme3-lwjgl:compileTestGroovy NO-SOURCE
> Task :jme3-lwjgl:processTestResources NO-SOURCE
> Task :jme3-lwjgl:testClasses UP-TO-DATE
> Task :jme3-lwjgl:test NO-SOURCE
> Task :jme3-lwjgl:check UP-TO-DATE
> Task :jme3-lwjgl:build

> Task :jme3-lwjgl3:compileJava
Note: S:\Git\jmonkeyengine\jme3-lwjgl3\src\main\java\com\jme3\system\lwjgl\LwjglContext.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :jme3-lwjgl3:compileGroovy NO-SOURCE
> Task :jme3-lwjgl3:processResources NO-SOURCE
> Task :jme3-lwjgl3:classes
> Task :jme3-lwjgl3:jar
> Task :jme3-lwjgl3:javadoc
> Task :jme3-lwjgl3:javadocJar
> Task :jme3-lwjgl3:sourcesJar
> Task :jme3-lwjgl3:writeFullPom
> Task :jme3-lwjgl3:assemble
> Task :jme3-lwjgl3:compileTestJava NO-SOURCE
> Task :jme3-lwjgl3:compileTestGroovy NO-SOURCE
> Task :jme3-lwjgl3:processTestResources NO-SOURCE
> Task :jme3-lwjgl3:testClasses UP-TO-DATE
> Task :jme3-lwjgl3:test NO-SOURCE
> Task :jme3-lwjgl3:check UP-TO-DATE
> Task :jme3-lwjgl3:build
> Task :jme3-networking:javadoc
> Task :jme3-networking:javadocJar
> Task :jme3-networking:sourcesJar
> Task :jme3-networking:writeFullPom
> Task :jme3-networking:assemble
> Task :jme3-networking:compileTestJava NO-SOURCE
> Task :jme3-networking:compileTestGroovy NO-SOURCE
> Task :jme3-networking:processTestResources NO-SOURCE
> Task :jme3-networking:testClasses UP-TO-DATE
> Task :jme3-networking:test NO-SOURCE
> Task :jme3-networking:check UP-TO-DATE
> Task :jme3-networking:build
> Task :jme3-niftygui:javadoc
> Task :jme3-niftygui:javadocJar
> Task :jme3-niftygui:sourcesJar
> Task :jme3-niftygui:writeFullPom
> Task :jme3-niftygui:assemble
> Task :jme3-niftygui:compileTestJava NO-SOURCE
> Task :jme3-niftygui:compileTestGroovy NO-SOURCE
> Task :jme3-niftygui:processTestResources NO-SOURCE
> Task :jme3-niftygui:testClasses UP-TO-DATE
> Task :jme3-niftygui:test NO-SOURCE
> Task :jme3-niftygui:check UP-TO-DATE
> Task :jme3-niftygui:build
> Task :jme3-plugins:javadoc
> Task :jme3-plugins:javadocJar
> Task :jme3-plugins:sourcesJar
> Task :jme3-plugins:writeFullPom
> Task :jme3-plugins:assemble
> Task :jme3-plugins:compileTestJava
> Task :jme3-plugins:compileTestGroovy NO-SOURCE
> Task :jme3-plugins:processTestResources
> Task :jme3-plugins:testClasses
> Task :jme3-plugins:test
> Task :jme3-plugins:check
> Task :jme3-plugins:build
> Task :jme3-terrain:javadoc
> Task :jme3-terrain:javadocJar
> Task :jme3-terrain:sourcesJar
> Task :jme3-terrain:writeFullPom
> Task :jme3-terrain:assemble
> Task :jme3-terrain:compileTestJava
> Task :jme3-terrain:compileTestGroovy NO-SOURCE
> Task :jme3-terrain:processTestResources NO-SOURCE
> Task :jme3-terrain:testClasses
> Task :jme3-terrain:test
> Task :jme3-terrain:check
> Task :jme3-terrain:build
> Task :jme3-testdata:javadoc NO-SOURCE
> Task :jme3-testdata:javadocJar
> Task :jme3-testdata:sourcesJar
> Task :jme3-testdata:writeFullPom
> Task :jme3-testdata:assemble
> Task :jme3-testdata:compileTestJava NO-SOURCE
> Task :jme3-testdata:compileTestGroovy NO-SOURCE
> Task :jme3-testdata:processTestResources NO-SOURCE
> Task :jme3-testdata:testClasses UP-TO-DATE
> Task :jme3-testdata:test NO-SOURCE
> Task :jme3-testdata:check UP-TO-DATE
> Task :jme3-testdata:build

> Task :jme3-vr:compileJava
Note: S:\Git\jmonkeyengine\jme3-vr\src\main\java\com\jme3\input\vr\openvr\OpenVR.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :jme3-vr:compileGroovy NO-SOURCE
> Task :jme3-vr:processResources
> Task :jme3-vr:classes
> Task :jme3-vr:jar
> Task :jme3-vr:javadoc
> Task :jme3-vr:javadocJar
> Task :jme3-vr:sourcesJar
> Task :jme3-vr:writeFullPom
> Task :jme3-vr:assemble
> Task :jme3-vr:compileTestJava NO-SOURCE
> Task :jme3-vr:compileTestGroovy NO-SOURCE
> Task :jme3-vr:processTestResources NO-SOURCE
> Task :jme3-vr:testClasses UP-TO-DATE
> Task :jme3-vr:test NO-SOURCE
> Task :jme3-vr:check UP-TO-DATE
> Task :jme3-vr:build

BUILD SUCCESSFUL in 3m 51s
146 actionable tasks: 146 executed

Stephen@SGold2012 MINGW64 /s/Git/jmonkeyengine (master)
$ ./gradlew run

> Configure project :
Full Version: 3217cdc74cc3610596bd8d05910ece45ac502549
POM Version: 3217cdc74cc3610596bd8d05910ece45ac502549
Use natives snapshot: https://dl.bintray.com/jmonkeyengine/files/973d8be894aa7ba679ff2d407aa4d94405493781/jme3-natives.zip
No filter set. build for all

> Task :jme3-core:compileJava UP-TO-DATE
> Task :jme3-core:compileGroovy NO-SOURCE
> Task :jme3-core:updateVersionPropertiesFile UP-TO-DATE
> Task :jme3-core:processResources UP-TO-DATE
> Task :jme3-core:classes UP-TO-DATE
> Task :jme3-core:jar UP-TO-DATE
> Task :jme3-desktop:compileJava UP-TO-DATE
> Task :jme3-desktop:compileGroovy NO-SOURCE
> Task :jme3-desktop:processResources UP-TO-DATE
> Task :jme3-desktop:classes UP-TO-DATE
> Task :jme3-desktop:jar UP-TO-DATE
> Task :jme3-effects:compileJava UP-TO-DATE
> Task :jme3-effects:compileGroovy NO-SOURCE
> Task :jme3-effects:processResources UP-TO-DATE
> Task :jme3-effects:classes UP-TO-DATE
> Task :jme3-effects:jar UP-TO-DATE
> Task :jme3-blender:compileJava UP-TO-DATE
> Task :jme3-blender:compileGroovy NO-SOURCE
> Task :jme3-blender:processResources UP-TO-DATE
> Task :jme3-blender:classes UP-TO-DATE
> Task :jme3-blender:jar UP-TO-DATE
> Task :jme3-terrain:compileJava UP-TO-DATE
> Task :jme3-terrain:compileGroovy NO-SOURCE
> Task :jme3-terrain:processResources UP-TO-DATE
> Task :jme3-terrain:classes UP-TO-DATE
> Task :jme3-terrain:jar UP-TO-DATE
> Task :jme3-bullet:compileJava UP-TO-DATE
> Task :jme3-bullet:compileGroovy NO-SOURCE
> Task :jme3-bullet:processResources NO-SOURCE
> Task :jme3-bullet:classes UP-TO-DATE
> Task :jme3-bullet:jar UP-TO-DATE
> Task :jme3-bullet-native:compileJava NO-SOURCE
> Task :jme3-bullet-native:compileGroovy NO-SOURCE
> Task :jme3-bullet-native:processResources NO-SOURCE
> Task :jme3-bullet-native:classes UP-TO-DATE
> Task :jme3-bullet-native:jar UP-TO-DATE
> Task :jme3-jogg:compileJava UP-TO-DATE
> Task :jme3-jogg:compileGroovy NO-SOURCE
> Task :jme3-jogg:processResources NO-SOURCE
> Task :jme3-jogg:classes UP-TO-DATE
> Task :jme3-jogg:jar UP-TO-DATE
> Task :jme3-jogl:compileJava UP-TO-DATE
> Task :jme3-jogl:compileGroovy NO-SOURCE
> Task :jme3-jogl:processResources NO-SOURCE
> Task :jme3-jogl:classes UP-TO-DATE
> Task :jme3-jogl:jar UP-TO-DATE
> Task :jme3-lwjgl:compileJava UP-TO-DATE
> Task :jme3-lwjgl:compileGroovy NO-SOURCE
> Task :jme3-lwjgl:processResources NO-SOURCE
> Task :jme3-lwjgl:classes UP-TO-DATE
> Task :jme3-lwjgl:jar UP-TO-DATE
> Task :jme3-networking:compileJava UP-TO-DATE
> Task :jme3-networking:compileGroovy NO-SOURCE
> Task :jme3-networking:processResources NO-SOURCE
> Task :jme3-networking:classes UP-TO-DATE
> Task :jme3-networking:jar UP-TO-DATE
> Task :jme3-niftygui:compileJava UP-TO-DATE
> Task :jme3-niftygui:compileGroovy NO-SOURCE
> Task :jme3-niftygui:processResources UP-TO-DATE
> Task :jme3-niftygui:classes UP-TO-DATE
> Task :jme3-niftygui:jar UP-TO-DATE
> Task :jme3-plugins:compileJava UP-TO-DATE
> Task :jme3-plugins:compileGroovy NO-SOURCE
> Task :jme3-plugins:processResources NO-SOURCE
> Task :jme3-plugins:classes UP-TO-DATE
> Task :jme3-plugins:jar UP-TO-DATE
> Task :jme3-testdata:compileJava NO-SOURCE
> Task :jme3-testdata:compileGroovy NO-SOURCE
> Task :jme3-testdata:processResources UP-TO-DATE
> Task :jme3-testdata:classes UP-TO-DATE
> Task :jme3-testdata:jar UP-TO-DATE
> Task :jme3-examples:compileJava UP-TO-DATE
> Task :jme3-examples:compileGroovy NO-SOURCE
> Task :jme3-examples:processResources UP-TO-DATE
> Task :jme3-examples:classes UP-TO-DATE
> Task :jme3-examples:jar UP-TO-DATE
> Task :jme3-examples:sourcesJar UP-TO-DATE
> Task :jme3-examples:writeFullPom UP-TO-DATE
> Task :jme3-examples:assemble UP-TO-DATE
> Task :jme3-examples:compileTestJava NO-SOURCE
> Task :jme3-examples:compileTestGroovy NO-SOURCE
> Task :jme3-examples:processTestResources NO-SOURCE
> Task :jme3-examples:testClasses UP-TO-DATE
> Task :jme3-examples:test NO-SOURCE
> Task :jme3-examples:check UP-TO-DATE
> Task :jme3-examples:build UP-TO-DATE

> Task :jme3-examples:run
Nov 02, 2019 10:08:11 AM com.jme3.system.JmeDesktopSystem initialize
INFO: Running on jMonkeyEngine 3217cdc74cc3610596bd8d05910ece45ac502549
 * Branch: master
 * Git Hash: 3217cdc
 * Build Date: 2019-11-02
Nov 02, 2019 10:08:12 AM jme3test.TestChooser$2 run
SEVERE: main() method had exception: jme3test.bullet.TestAttachDriver
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at jme3test.TestChooser$2.run(TestChooser.java:270)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsatisfiedLinkError: The required native library 'bulletjme' was not found in the classpath via 'native/windows/x86_64/bulletjme.dll'. Error message: no bulletjme in java.library.path
        at com.jme3.system.NativeLibraryLoader.loadNativeLibrary(NativeLibraryLoader.java:598)
        at com.jme3.system.JmeDesktopSystem.initialize(JmeDesktopSystem.java:348)
        at com.jme3.system.JmeDesktopSystem.newContext(JmeDesktopSystem.java:271)
        at com.jme3.system.JmeSystem.newContext(JmeSystem.java:159)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:461)
        at com.jme3.app.LegacyApplication.start(LegacyApplication.java:424)
        at com.jme3.app.SimpleApplication.start(SimpleApplication.java:125)
        ... 6 more


@riccardobl
Copy link
Member

I see, i was under the wrong assumption that zipTree was going to return unix style paths.
Can you try to replace this line
https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/build.gradle#L190
with srcRel=srcRel.substring(srcRel.indexOf( File.separator)+1);
and see if this solves the issue?

@stephengold
Copy link
Member Author

I will try that.

@stephengold
Copy link
Member Author

The replacement you suggested seems to resolve this issue.

@tlf30
Copy link
Contributor

tlf30 commented Nov 4, 2019

@stephengold the getPrebuiltNatives failing issue I have encountered twice now (over about 50 builds) in the last week. I do not have a way to replicate it, but for some reason it does occur.

@stephengold
Copy link
Member Author

@riccardobl shall I commit the change, or will you?

@riccardobl
Copy link
Member

Done d018666

@stephengold
Copy link
Member Author

@tlf30 since the failures you saw were not consistent, I wonder if they might be due to network issues.

@tlf30
Copy link
Contributor

tlf30 commented Nov 20, 2019

@stephengold that is very likely.

@stephengold
Copy link
Member Author

I'm seeing this issue in current master branch. Perhaps it still doesn't have the right snapshot yet?

@MeFisto94
Copy link
Member

This is #1260, the native libraries aren't added when the run task is run.
Running assemble once first works around this problem.

This is related to the following: run invokes compileJava on the submodules much like assemble does, but it does not depend on assemble.
In previous jme versions we had one native archive per module and thus could chain the process to the module-specific-assemble tasks, which worked for run, but we can't do that anymore.

Actually now that I re-think of #1260, we should just update the PR and make the run task just also depend on the natives task. Simple fix.

Also we should add gradlew run to the Readme of the repo, I think it's not broadly advertised that you can directly start with jme and it's examples by just checking out the repo and typing gradlew run.

@stephengold stephengold added buildscript An issue with the buildscript Physics Issues with all kinds of Physics and their Bindings labels Apr 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
buildscript An issue with the buildscript Physics Issues with all kinds of Physics and their Bindings
Projects
None yet
Development

No branches or pull requests

4 participants