I'm not sure how the other plug writers configure their projects, but I've been using maven for it for a few months now and it globally works well.
Maven support that is now integrated into IDEA is nice to setup dependencies, but it also creates some issues.
1 / IDEA has no clue that a given pom is in fact a "plugin module" and not a regular java module. Indeed there is no maven artifact type for it. So when open the pom, IDEA creates a project with a java module. If you want to use this module, you need to manually edit the generated iml file to change the module type to type="PLUGIN_MODULE".
2/ to be able to build your plugin you need to provide dependencies on openapi.jar and some other idea provided dependencies (annotations, jdom, extensions in my case).
Problems come when you try to run your module : IDEA loads the classes in the wrong class loader as they appear in both the IDEA runtime, and in your dependencies.
You then have to remove those IDEA provided dependencies from your module dependencies
I'm wondering if there would be a friendly way to do the above, or if the recommended (and supported) way to handle plugins is to stick with iml files