Plugin requirements
From AzureusWiki
Your plugin's 'main class' must either implement org.gudy.azureus2.plugins.Plugin or org.gudy.azureus2.plugins.UnloadablePlugin.
You also need to create a 'plugins' directory for azureus (as of 2.0.8.0, the plugins dir is created for you, in the same dir where your user preferences are stored), and put all your files in a sub-dir of this plugins dir (eg: plugins/myplugin/ ). Azureus loads plugins on startup, wich means that you need to re-start azureus to test (or re-test) your plugin. (We'll change this later).
plugin.properties file
Plugins must be bundled as one or multiple jar files. One of those file MUST contain at its root level a file named 'plugin.properties' , standard java property file, with at least one entry : 'plugin.class' which must contain the fully qualified name of your Plugin 'main class'.
plugin.class:
required The fully qualified name of your Plugin 'main class'
plugin.langfile:
The name and location of your language file. For example, a "plugin.langfile=azureus.plugin.frogs.Messages" states that there is a Messages.properties file in "azureus/plugin/frogs/" (in the JAR file). The language file is used for various plugin UI classes and functions, such as Plugin<tt>Interface.addConfigUIParameters</tt>, PluginConfigUIFactory, and Config<tt>Section</tt>.
plugin.name:
A friendly name that's displayed in the list of available plugins in Configuration->Plugins
plugin.id:
An unique ID for your plugin. Aside from Identifying your plugin, this is used for automatic plugin updating.
plugin.version:
Version number of your plugin. Also used for automatic plugin updating.
