Closed stephengold closed 4 years ago
See commit b571840bd00f11c00659bcf45871d7fb60572791. I will test it soon.
I tested d8a42d0817ba7a4c895768b508b0af4b8194541f 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
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.
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.
I tested a fresh clone of 3217cdc74cc3610596bd8d05910ece45ac502549 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
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?
I will try that.
The replacement you suggested seems to resolve this issue.
@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.
@riccardobl shall I commit the change, or will you?
@tlf30 since the failures you saw were not consistent, I wonder if they might be due to network issues.
@stephengold that is very likely.
I'm seeing this issue in current master
branch. Perhaps it still doesn't have the right snapshot yet?
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
.
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 fornative/windows/x86_64/bulletjme.dll
.