Hey Guys,
So as the latest engine version broke some plugins and the way we build also changed, I’ve took the time to make it work again.
Long story short: MeFisto94/jme3-artificial-intelligence here you have my fork of the plugin, which I plan to integrate into the official repo once someone gave me the permission
As said in the release, the SDK can directly install plugins from nbm but since I don’t sign them (yet), it might print a warning, whether you trust me.
Well, it’s up to you, but since it’s open source, feel free to run ./gradlew assemble
and build it on your own.
Ultimatively I consider upgrading every plugin, so I am open to your suggestions which plugins are most demanded?
From the technical side, what I did was I gradlefied everything. Under MeFisto94/nbproject you have a suite, which will essentially set everything up (engine, netbeans) so the build can work.
Historically the nbproject is the netbeans project settings for the root project which allowed us to build all plugins after manually setting up the harness and such.
Since we have CI now, we had to automate it. What every plugin has to do is simply checking out that nbproject repo and calling the setupSuite task in there and then changing the suite directory in the plugin dir.
Unfortunately the Engine Naming scheme isn’t “jMonkeyEngine3.jar” anymore, but some more complex, so we also need a code which finds out the engine version (it changes depending on which branch you use, etc).
What doesn’t work yet is placing the suite directory outside of the project root. That would enable us to have one engine/netbeans for all plugins but it’s not relevant to travis (building on a per project base) and the problem is to get the “inverse” of the suite path (because we need to define our plugin directory inside of the suite).
If you want to roll your own plugin (or rather update an existing one), simply copy the jme3-ai repo and see the build.gradle there. Actually the only thing you have to change is in assemble, the two properties it sets:
ant.propertyfile(file: "suite/nbproject/project.properties") {
entry(key: "project.com.jme3.ai", value: "../") // Set the current directory as directory for module.
entry(key: "modules", value: '${project.com.jme3.ai}')
}
You simply need to find out the project path (see the original nbproject: nbproject/project.properties
and you will see all possible plugins defined there.