~/Downloads).Create a new folder for the skeleton at a custom location and enter the following commands on the command line:
$ cd ~/plugin-skeleton/: change to your directory
$ svn export --force https://svn.code.sf.net/p/iqm/code-0/trunk/iqm/plugins/skeleton/simple-plugin-template .
Subversion will export all files to your directory where the file pom.xml and the directory src are located.
See wiki page on [Tortoise Checkout].
Create a new Java project using the eclipse project wizard.

Remove the existing folder src from the build path and create 4 new source folders:

Get the the entire content from ~/plugin-skeleton and copy it to the project, overwrite all.
iqm-api-*.jar to your build path. Hint: If you use the version with dependencies included, you will also get the required JAI classes.Optional: Copy the skeleton to a new location, if you don't want to overwrite the template.
$ cd ~/plugin-project $ mvn install:install-file -DgroupId=at.mug.iqm -DartifactId=iqm-api -Dversion=3.0-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file, where /path/to/file refers to the file in your download folder, here it is ~/Downloads/iqm-app-3.0-SNAPSHOT-with-dependencies.jar.mvn eclipse:clean eclipse:eclipse.File --> Import... (import wizard).Create a unique package e.g. my.plugins.myOperator in the src/main/java and src/main/resources directories.
We will refer to my.plugins.myOperator as <unique-path> within this guide.
This is where all your source files and resources go, since we need a unique class path for each operator and plugin at runtime.
Alter the information in %PLUGIN_RES% = src/main/resources/<unique-path>/iqm-plugin.xml according to your specifications/requirements. This file is required to be located within this directory.
Similarly, create a java file Plugin.java in src/main/java/<unique-path> which extends at.mug.iqm.api.plugin.AbstractPlugin or implements at.mug.iqm.api.plugin.IPlugin. This file represents the information in the XML and is used for initialization of the plugin.
Any resources for menu item icons belonging to a specific plugin must be stored in %PLUGIN_RES%. Then, the class loader will be able to locate the resources.
%PLUGIN_RES%/icons/ and must be named menu-item-enabled.png.%PLUGIN_RES%/icons/ and must be named menu-item-disabled.pngYou may specify custom names of these images and overload the methods in your Plugin.java. If one of these files do not exist, or both are missing, the application substitutes them using default icons from the API.
Moreover, the use of a 16x16 px PNG image is encouraged.
See the wiki page on [Operator Development].
See the wiki page on [Debugging].
In order to export the plugin simply select File --> Export... on your project.
Choose Java --> JAR File as the export type and hit next.

Select the entire project, choose a custom export destination and hit finish.
Run
$ mvn clean package
and create the java archive file in the target folder.
Take the generated jar file and drop in the /plugins/image or /plugins/plot directory in your IQM installation path.
Just relaunch IQM and the plugin will show up in the plugin menu.
Wiki: Operator Development
Wiki: Tortoise Checkout
Anonymous