MM2 Projector plugin and library source files


I have just updated one of my plugins from MM1.4 to MM2g with no issues, following the very nice instructions for using IntelliJ. I’d like to do the same for my modified Projector plugin but this plugin has now been split mostly into library functions, which are the parts I actually need to change.

So question from a code-tinkerer: how would I go about including/modifying the library source code in my project, rather than importing the compiled jar file from the main MM2g folder? Or can/do I need to ‘rebuild’ the Projector library jar as a separate project?

Apologies that this is really a coding question and likely aimed at @nicost but thought it useful to ask ‘out loud’ in case other people stumble onto this point too.


Let me start out saying that I very much dislike the need to split plugins out in two parts. The reason for the split is that in 2.0 plugins no longer can call each other, as they are loaded by different classloaders (or some similar problem). I very much disliked this change from when it was introduced, but have been unable to figure out how to revert it.

Nevertheless, it is possible add the Processor Library as a similar project as your plugin. When I setup IntelliJ, I now point it to the top micro-manager source directory, and with some nudging, it finds all Java source, including plugins and libraries. If you already have a plugin setup, you can add source under File > Project Structure > Project Setttings > Modules.

Thanks very much for the input, Nico! I’ll see how I get on with coaxing IntelliJ to use the source code then in the main folder.