Contribution workflow using GitHub / Gradle

I just tried to add this functionality to JME but I am a newbie with both GitHub and Gradle, and therefore have a few questions.

What I did is:
a. I forked jmonkeyengine and created the branch ‘custom-blend-func’.
b. Switch to the branch using ‘git checkout custom-blend-func’.
c. I wanted to test if it works at all, so I did a ‘gradle build’ expecting the same jars that come with the download, but now the folder structure is messed up with numerous ‘build’ folders. From my point of view I can never ever make a pull request for the crap that I created. Also, when I switch back to master (using ‘git checkout master’) the build folders remain. It is not clear to me how I can work with my fork / branch.

Maybe you can guide me with a basic workflow.

  1. How do you guys import your branch into the SDK to make changes?
  2. How do you compile it for test runs?
  3. And finally, how do you make the pull request when you’re done?

build folder is untracked ( .gitignore ) and should not be added

commit > push on your fork > create pull request from github ( head “from” → base “to” )


use gradlew test (or maybe run for examples )
you can find all the different tasks using gradlew tasks


Okay, so I can leave the build folders where they are.

It may seem like a stupid question, but how do I get my branch into the SDK so I can edit the source files?

gradle plugin for netbeans, and then import over that should work.

It depends on what you want to achieve.
Do you want to edit the engine Inside of the sdk?
If so you can simply open the Java Files with it and edit them.

If you use the gradle plugin you could even be able to build it and all but that’s experimental.

If you want to test the New engine Inside of the sdk as If it had been officially bundled, see the sdk’s build_engine.sh. basically you call gradlew install so that they are added to a local maven repository where the sdk can pick them up.

I think I got it. Thank you for your help!