Building jME-SDK issues

I’m trying to build the jMonkeyEngine SDK myself for the first time and followed the instructions on http://davidb.github.io/sandbox_wiki_jme/sdk/build_platform.html

I installed NetBeans 8.1, git-cloned GitHub - jMonkeyEngine/jmonkeyengine: A complete 3D game development suite written purely in Java. and ran the ./gradlew build command as stated on the instructions. After that, I opened the project on Netbeans, right-clicked on it and selected Build. The weird thing it that in the end the Run option was disabled. That seems odd to me.

Since the SDK is now released separately from the engine, I thought I should git-clone GitHub - jMonkeyEngine/sdk: The jMonkeyEngine3 SDK based on netbeans and try to ./gradlew build it, but it resulted in the following:

$ ./gradlew build
Full Version: 3.1-1627
POM Version: 3.1.0-SNAPSHOT
NBM Revision: 1627
NBM UC Suffix: nightly/3.1/plugins
Downloading NetBeans Platform base, this only has to be done once..

FAILURE: Build failed with an exception.

* Where:
Build file '/home/fba/NetBeansProjects/sdk/build.gradle' line: 130

* What went wrong:
A problem occurred evaluating root project 'sdk'.
> Could not resolve all dependencies for configuration ':corelibs'.
   > Could not find org.jmonkeyengine:jme3-jbullet:3.1.0-beta1.
     Searched in the following locations:
         http://jcenter.bintray.com/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.pom
         http://jcenter.bintray.com/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.jar
         http://updates.jmonkeyengine.org/maven/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.pom
         http://updates.jmonkeyengine.org/maven/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.jar
         http://nifty-gui.sourceforge.net/nifty-maven-repo/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.pom
         http://nifty-gui.sourceforge.net/nifty-maven-repo/org/jmonkeyengine/jme3-jbullet/3.1.0-beta1/jme3-jbullet-3.1.0-beta1.jar
     Required by:
         :sdk:unspecified

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

BUILD FAILED

Total time: 5 mins 5.421 secs

What am I doing wrong? Why I can’t build the jME SDK?

Additional info: I’m running the NetBeans IDE 8.1 on Ubuntu 16.04 with OpenJDK 8.

Not sure, but the cause might be that it is using jbullet which is as far as I know hosted on jme website server which is currently down.
EDIT: Checked your log again. Yes this is the case. updates.jmonkeyengine.org is down.

That doesn’t seem to be the problem since the Bintray server is okay. Actually if you take a look at http://jcenter.bintray.com/org/jmonkeyengine/ you can see that there is no jme3-jbullet directory. Is it missing on the server or not really being used anymore? If not, shouldn’t the gradle.build file be updated?

Check your log again. jBullet is not hosted on jCenter but on updates.jmonkeyengine.com which is down.

Okay, I just thought they were mirrors.

Grizeldi is absolutely right:
The Issue is that updates.jmonkeyengine.org is down, which means we are missing something.

The Problem is we don’t seem to have the Source Code for our changed version of the jBullet anymore and only the jar on updates. At least the Engine doesn’t upload the jme3-jbullet to bintray, that’s it.

I still have it locally so I will upload this jar, you should only have to add it into the lib directory and comment it out in the build gradle.

Note: you could/should also run gradlew assemble plus the wiki is a bit outdated in this regard.
http://www22.zippyshare.com/v/nNzq6GQ2/file.html (You could also add mavenLocal() to the dependencies column and then call:

mvn install:install-file -U -Dfile=libs/jme3-jbullet.jar -DgroupId=org.jmonkeyengine -DartifactId=jme3-jbullet -Dversion=3.1.0-beta1 -Dpackaging=jar

but you need maven for that

Thanks @Darkchaos and sorry for the late reply, but I still can’t compile the SDK myself. It seems like jme3-ios and jme3-testdata are also in the broken server. After seeing the discussion about jbullet on this tread, I thought I should bring you attention to this.

@nehon: Do you know something about ios and testdata? Don’t we have them on Bintray either?
I think we should move everything there in any case, since that makes us independent from hosting.

For the SDK I think I will apply the upper workaround: adding a maven_files folder to the sdk and deploying them through mavenLocal

Unfortunately I don’t know about ios. Only person with knowledge on that would be @normen.

Okay, back to square one. I didn’t check what I said:
You guys were wrong. here, you clearly have jBullet.

It simply misses that “Linked to: jCenter”. Did you guys do that on purpose?
If not, the SDK will be compilable without updates.jme and it was all just a misconfiguration

I think you misunderstand which missing jbullet we mean.

Edit: put another way… what do you suppose happens to your project when you depend on jme3-jbullet.jar? (hint: you’ll find you are missing jbullet.jar)

Negative: The SDK does supply jbullet.jar and stack-alloc.jar manually, so it only needs the wrappers jme3-jbullet.
But the OP also has missing dependencies to jme3-ios and jme3-testdata, which are also missing on jcenter.

In fact they are on bintray but not on jCenter. So you can’t actually do tests.

I was responding to this… and assumed “you guys” meant us. If not then ignore me.

If “you guys” did mean us… then you might explain how you think it should work when code posted to jcenter depends on jars that don’t exist anywhere in a public maven repo. Else you have your answer on why jme3-jbullet is not in jcenter.

We have the jars in the engine’s lib/ directory so it’s actually just a matter of including them.
But regardless of the jbullet which might be deprecated anyway, we still have the testdata and ios missing.

Yes, you asked why we hadn’t linked jme3-jbullet into jcenter. It’s because it has a non-public dependency and so can’t really be put into jcenter.

So we can’t simply add that jar to our jme3-jbullet package (due to licensing issues?)

We don’t have the source code… so we couldn’t publish it to a public repo even if we wanted to. Not that it’s particularly cool to publish someone else’s jar to a public maven repo… but we’d need the source code to do that.

Can’t it be decompiled? I mean, I don’t know if there are any license restrictions or if it was obfuscated, but seems to me like an option.

Edit: I tried with JD on the jar file provided by @Darkchaos and yes, it’s possible. The only downside is that it won’t recover comments nor Javadoc comments.

The Problem is that for uploading it you need the sources and the javadocs (and having the comments should be nice too).

But I’ll try out a workaround for the sdk :slight_smile:

I’m also trying to build the SDK from master and not having any success. After following @Darkchaos instructions, I commented out the jme3-jbullet corelib dep reference in build.gradle but the build is now failing with:

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\dev\workspace\jmonkeyengine-sdk-20160617\build.gradle' line: 130

* What went wrong:
A problem occurred evaluating root project 'jmonkeyengine-sdk-20160617'.
> Could not resolve all dependencies for configuration ':corelibs'.
   > Could not download jme3-core-javadoc.jar (org.jmonkeyengine:jme3-core:3.1.0-beta1)
      > Could not get resource 'http://jcenter.bintray.com/org/jmonkeyengine/jme3-core/3.1.0-beta1/jme3-core-3.1.0-beta1-javadoc.jar'.
         > Connection reset

Anyone know if there is a 3.1 SDK installer for windows somewhere?