|
@@ -0,0 +1,29 @@
|
|
|
+## SDK Plugins
|
|
|
+Our SDK consists of the Netbeans IDE and additional "Netbeans Modules" (nbm) bringing the jme specific tools.
|
|
|
+We call those Modules a `Plugin` whenever it is _not_ part of _this_ repository (not part of the standard distribution).
|
|
|
+This means every code which is optional is a plugin. In fact some `core modules` have been moved out to be a plugin for various reasons.
|
|
|
+
|
|
|
+### How can I develop a Plugin?
|
|
|
+As has been said, developing a plugin is essentially developing a netbeans module.
|
|
|
+For this open the SDK Project with Netbeans (if you previously built the SDK, there is the correct version of netbeans in the `netbeans` folder).
|
|
|
+Then add a module using your desired package and module names, just follow the Wizard.
|
|
|
+You can now depend on SDK or Netbeans API Modules and use the Wizards to realize your plugin's functionality.
|
|
|
+Search the internet for "Netbeans Platform Modules" or "Netbeans Platform API" when you are stuck.
|
|
|
+
|
|
|
+### How do I build a Plugin?
|
|
|
+Building a plugin basically works by invoking `ant nbm` on the folder and taking the resulting nbm file.
|
|
|
+Since this requires an active SDK build and can become more complex (e.g. when signing), look at https://github.com/jMonkeyEngine/sdk-update-center/tree/plugin-ci-templates for CI Templates.
|
|
|
+Currently this is realized using Github Actions. All you need to do is copying the related file and changing the package names.
|
|
|
+
|
|
|
+### How do I distribute a Plugin?
|
|
|
+The most simple way of distributing a plugin is to make users install your nbm.
|
|
|
+This means they have to download the file (most likely from your Github Releases section) and load the file using their SDK.
|
|
|
+
|
|
|
+We use the [SDK Update Center](https://github.com/jMonkeyEngine/sdk-update-center) to distribute our Plugins.
|
|
|
+This is where you want to apply for access as well, because your plugin will be available to every SDK User without further configuration.
|
|
|
+Due to security reasons, applications are rather strict and can be rejected. Please understand that we have to be strict in order to prevent abuse.
|
|
|
+Click [here](https://github.com/jMonkeyEngine/sdk-update-center/tree/plugin-application) for more details.
|
|
|
+
|
|
|
+If your Plugins aren't SDK related (e.g. you extend the SDK to be an Editor for your game), you can also host your own Update Center.
|
|
|
+Fork the update-center repository for this and either distribute your code as modules (fork the SDK, add the modules and use the update-center for nightlies)
|
|
|
+or distribute your code as plugins (see our plugin branches for that).
|