Test SDK Improvements

Hello Monkeys,
Splitting the SDK from Core Development has led to happy and sad monkeys, however I try my best to improve the sdk nevertheless so we only have happy monkeys one day :chimpanzee_closedgrin:

For this I need some feedback on currently made changes, before we can make them available to everyone.
Keep in mind that since you are to test them, that it’s usual to encounter errors and more specifically: Broken Projects. Be advised to only use fictional projects or copies

The two changes in need of Validation are as follows:
Project Upgrader - It will upgrade 3.0 Project to 3.1 Projects
Netbeans 8.1 - Simply a newer version for the SDK.

Project Upgrader
There isn’t much to say about this. From 3.0 to 3.1, the Project Format has changed a bit.
When a 3.0/3.1 project is detected you should be advised to use the upgrade method or (the 3.1) it’s silently auto-upgraded.
Upgrading is simple. Either Right-Click on your Project and select “Upgrade Project” or find it under the File-Menu (hint: Gray means no Project selected)

The Introduction might be a bit confusing, however “3.0 compat” will only remove the advisory, mentioned earlier, as the other will actually perform an upgrade.

Netbeans 8.1
Yeah, it was only updating dependencies so I’m not expecting trouble however it might always happen that a new version triggers a race-condition or shows up some incompatibility or Runtime-Crash, who knows.

How to Test/Build
The most important step is to make sure you seperate those two patches in two different folders.
The Reason is simply that building would fail, if you don’t delete the netbeans folder.

Other than that, this is your workflow:


./gradlew assemble


gradlew.bat assemble
start netbeans/bin/netbeans.exe

When Netbeans opens, simply open the “sdk” project found in the root folder and rightclick->Run.
Note: You can also use ant run after gradlew, if you have it installed…

Now one last thing:
I had the impression that everyone is bitching about the sdk and it’s faults whereas the Github Issues aren’t so many.
Feel Free to post your issues here so I try to fix them or open an issue on github.



So you fixed the projects too! Very nice!
I’ll try it out asap.

Um just so you know, on windows it’s
gradlew.bat assemble (without ./) :wink:

1 Like

Hi @Darkchaos
Doesn’t your NB81 branch automatically get commit from master ?

The NB81 branch is 1 commit ahead and 32 commits behind jMonkeyEngine:master.

I want to have your NB81 with latest jme master branch commit.

This never happens automatically since it could lead to merging errors or is intended to stay at some commit-level.

Personally I didn’t do it since once I do a PullRequest it’ll look like “Merging master” x 30123 and “Implementing NB 8.1” x1 (In the Commit log :D).
Also for finding bugs in 8.1, you usually don’t need the latest commits of master.

I now added a 81_master branch, which will serve for that purpose. I atleast try to merge master weekly into it.

Talking about PR’s: Seeing that 130 Users visited the thread but only 2 looked after the source, I wonder if people are simply afraid of compiling it or if they just don’t care about SDK updates?
Anyway it’ll take some time until we have enough test results then :stuck_out_tongue:

Thanks a lot Man . I am going to upgrade to 8.1 tonight . :grinning:
If i find any issue will report it.

1 Like

Hi … I’d like to help out with testing the new setup of the SDK in NB 8.1.

I’d like to know what steps need to be taken to DL and build the project.

I normally work with Mercurial, so I guess Git is similar.

I imagine something like this:

  1. Clone the repo to my local machine with a Git client. I guess I’d need a username and pw, or just some guest name … or something.
  2. Build with Gradle ? (not sure about this one). I’ve downloaded gradle just tonight and set up the path info on my machine. I see there is a gradle build script in the repo.

Am I right / wrong? Is there more to it? (Hehe - probably is …)
Are there tutorials that are recommended? The docs seem to have a million options, and I aint reading thru all those. Looking for a bit of direction here.


Don’t know much about the SDK, but this part is simple. Once you’ve installed git, follow the link posted above. Upper right corner, there is a URL. Copy it, then in the directory that you want to use for source run git clone $URL

You only need an account if you want to send changes back.

If you prefer, there are some GUI wrappers for git, but I’ve never used them.

There are script files for Windows and Linux (gradlew.bat and gradlew, respectively) that should give you a vanilla build, but I have not yet actually done this with jMonkeyEngine.

Gradle build is done using
./gradlew buildSdk << for linux
gradlew.bat buildSdk << for windows

Hey :slight_smile:
What the others said is right:
You can download it without any credentials (and in fact if you wanted to send in changes, you’d need your own repository)

You must not use the gradle you downloaded, since jme isn’t compatible with the new gradle one, however there are scripts (the included gradlew), which download the right gradle version and execute it for you.

In theory, you don’t even need git, sometimes you can download the source as a zip (but don’t rely on this :smiley: )

Also: Use the assemble target over buildSdk, because it’s more complete (and also builds iOS, android and javadoc)

Other than that, yes, it is that simple. Just don’t forget to launch netbeans after your build to run the sdk from there (you can also pack it as executable there)

Edit: In fact the URL is https://github.com/MeFisto94/jmonkeyengine.git and even supports SVN (I only wonder how you’d switch to the right branch then)

Or you could download 81master from here, and similar with the other branches, there’s a button to the right to download zips, just make sure that on the left there is one of the right branches

Same way as with branches in SVN… you get a trunk, branches, etc. directory under which they are all nicely expanded. (I access github as SVN because I find git fairly hostile for day to day work.)

1 Like

@Darkchaos :
I have tried the NB81 branch and haven’t found mayor flaws.

I have created a basic game project, but there were some errors. I have build the SDK with the buildSdk target. Can it be that the engine isn’t build then?

1 Like

buildSdk will also build the Engine, but not the android, bullet, whatever modules.
A BasicGameProject however should work flawless.

What kind of Errors did you encounter, could you post them? (Also: Did you encounter them with NB8.0/3.1 alpha-1?)

I did a build with the assemble target.
The BasicGame project works now.

1 Like

@Darkchaos :
I have loaded a copy of my own game in the NB81 build and haven’t found any error.

I have loaded my tracks in the OpenGL Viewer and Scene Composer. All went ok.

It looks like it can be merged with the jME master. What do you think?


Sounds good! Thank you :smile:

The SDK has been split apart from the Main-Repository so we can be more risky with bugs anyway and if all works well we can release our own builds on a per-commit-base starting with alpha-3.

I’ll put it on my list and do it if everything else works quite well :slight_smile:


I have also tried the Project Upgrader.
It looks like it’s working correctly too.
I have tried the 3.0 backward compatibility and the 3.1 upgrade.

1 Like

Was the explanation “okay”? I tend to overcomplicate things and say the same thing essentially twice and such :stuck_out_tongue:

Was it somewhat “clear” that the 3.0 will only change the project a tiny bit so the upgrader knows that it shouldn’t alert?

1 Like

Cloned GitHub - jMonkeyEngine/sdk: The jMonkeyEngine3 SDK based on netbeans

As usual, I did:

gradlew build

Got this:

FAILURE: Build failed with an exception.

* What went wrong:
Task 'build' is ambiguous in root project 'sdk'. Candidates are: 'buildEnvironme
nt', 'buildSdk'.

* Try:
Run gradlew tasks to get a list of available tasks. Run with --stacktrace option
 to get the stack trace. Run with                                              -
or                                                                             -
option to get more log output.


rhooo… please read the readme, that “gradlew buildSdk”.

1 Like