A place to post issues with building plugins =)

I’m taking @pspeed 's advice and creating a seperate thread for this. I hope this was the correct place to add it.



Thus far…



I ran into these issues which I was able to resolve:


  • Q: Step 3 in creating a plugin for JME: If no platform is listed, add one by selecting the SDK application folder
    A: Netbeans is retarded, you have to bail out of the process of creating a new module suite and start over after adding a platform, or the new platform will not be recognized as valid.

  • Q: When adding Core SDK & Core Engine as dependancies, nightlies are not reflected. This makes adding filter plugins impossible currently.
    A: (I hope I get this correct) The will be fixed at some point. Some issues that can't be resolved without... um... ??



I'm struggling to understand the responses I got for the following issues:

  • Q: On windows platform (at least) the jme harness is not being resolved properly. I can't seem to opt to not use the platforms harness.
    A: ??



And I am just completely lost on these:

  • TBA
  1. I guess thats because of the missing harness folder.
  2. Uh, they should be, if the SDK is updated to nightly of course.
  3. Use a NetBeans 7.0.1 one.

Oh and maybe restarting the SDK after adding a platform is a good idea too. It is a bit complicated.



Three docs in all you gotta follow to make a library plugin:

Setting up Plugin Development: https://wiki.jmonkeyengine.org/legacy/doku.php/sdk:development:setup

Creating a Library Plugin: https://wiki.jmonkeyengine.org/legacy/doku.php/sdk:development:extension_library

Loading it to the Contrib Repo: https://wiki.jmonkeyengine.org/legacy/doku.php/sdk:development:setup#jmonkeyengine_sdk_contributions_update_center

1 Like
@normen said:
Oh and maybe restarting the SDK after adding a platform is a good idea too. It *is* a bit complicated.


Did Microsoft buy Netbeans? Oh man.. I slay myself /snicker
@normen said:
Oh and maybe restarting the SDK after adding a platform is a good idea too. It *is* a bit complicated.


Dinner happened... but! I tried this. No effect to either issue unfortunately.

[java]@Override
protected void postQueue(RenderQueue renderQueue) {
// ...
}[/java]

Still errors: Method does not override or implement a method from a supertype.

This change was committed and is part of the nightly build.

@normal : I am using this thread to post further question about the plugin development so other uses might find the topic…



So basically i should not program inside the module, but adding only the library’s to the module?

Following this description here: https://wiki.jmonkeyengine.org/legacy/doku.php/sdk:development:extension_library

Yes, if its just a jar library the plugin itself has no code but the description of the library. @t0neg0d: Again, you need a nightly version of the SDK to code for the nightly version.

@normen , sorry it simply does not work. I followed the description, the SimbleBloxelWorld.xml was generated nicely. Now, however the “Import to Subversion” button is grayed out.



http://i.imgur.com/YoWqm.png

Perhaps it already is version handled with subversion if you shared the suite first?

@jmaasing said:
Perhaps it already is version handled with subversion if you shared the suite first?


It was, but after deleting all .svn directories i am able to import the suite agian, but not the module :(

Oh, if you import the suite again (don’t do that) the module is a subdirectory so it will be version handled also. What you should do if I understand the instructions right is to set up the suit locally. Create the module locally. Then import only the module in svn. The contrib repo has its own suite in subversion that builds all contributions.

The subdirectories also have .svn folders. You can copy the project by right-clicking it, if you do it via the IDE it will not copy over hidden folders (its also warning you about that).

@normen said:
The subdirectories also have .svn folders. You can copy the project by right-clicking it, if you do it via the IDE it will not copy over hidden folders (its also warning you about that).


Deleted them all :(
I try to setup a new module
@zzuegg said:
Deleted them all :(
I try to setup a new module

Yeah, probably not much of a hassle as you only have to create one J2SE library with the wizard ;)
@normen said:
Yeah, probably not much of a hassle as you only have to create one J2SE library with the wizard ;)


Ok done, can you check if its correct now?
trunk/SimpleBloxelWorld is the actual project
SimpleBloxelWorld and trunk/JMPContributions should get removed. SVN does not allow me to revert my commits

Cool. Why revert? Just delete :slight_smile: I’ll check tomorrow, not at home right now.

@normen

Well… I’ve gotten through the rest of the issues, though… this one still makes no sense. I add the dependencies for the project per directions, but they don’t reflect nightly. Specifically in the Filter:

[java]@Override

protected void postQueue(RenderQueue renderQueue) { }



// When linking to the Filter class… it reads

@Override

protected void postQueue(RenderManager rm, ViewPort vp) { }[/java]



I’m using nightly… am I adding dependencies from the wrong place or something? If so, where is it installed by default?

What package is it you’re missing? I today added some new packages in com.jme3.texture.image or so…? (They have to be listed as public to be accessible in other plugins) Anyway a RC is very very close :slight_smile:

@normen said:
What package is it you're missing? I today added some new packages in com.jme3.texture.image or so..? (They have to be listed as public to be accessible in other plugins) Anyway a RC is very very close :)


I don't think I'm missing anything... the dependencies (SDK Core, SDK Engine) just don't seem to contain the correct versions. :( They differ from the ones used in JME SimpleApplication projects at least
@t0neg0d said:
I don't think I'm missing anything... the dependencies (SDK Core, SDK Engine) just don't seem to contain the correct versions. :(

Ah right, its just the signature of the method.. I hope this is because one has to specify the platform. Because you specify the application folder which has the base version (the updates are stored in the settings folder) it probably uses only the base classes. If you select "IDE Platform" (or whatsisname), which should work with the next RC it should just use the versions you are actually running..

Edit: Maybe you can fix it by copying the harness folder in the SDK folder so it then has a proper harness.. But really, RC is like so close you could smell it ;)
1 Like