This page was written for DMDirc version 0.5.5.
The contents may not be applicable to earlier or later versions.
The plugin system as of DMDirc 0.5 requires that plugins be in jar files (ending in .jar).
Inside this jar there should be the .class files of the plugin as needed, aswell as a file called plugin.info inside the META-INF folder of the jar.
plugin.info is a Properties file containing meta-information about the plugin.
The following MetaInformation is required:
The following optional MetaInformation is catered for with helper methods:
Additional MetaInfo is permitted, and can be obtained using pluginInfo.getMiscMetaInfo(“foo”); (assuming pluginInfo is the PluginInfo object for the plugin)
plugin.info can also be used to specify requirements for the plugin. These requirements are checked when the plugin is loaded, and if they fail the plugin will not be loaded.
Requirements are checked as follows:
“minversion” is checked. “0” for minversion will result in this check being passed“maxversion” is checked if specified.“0” for maxversion will result in this check being passed“required-os” parameter is checked.“required-os” is not found, “require-os” will be looked for instead.<regex for os.name>[:<regex for os.version>[:<regex for os.arch>]]“required-os=.*linux.*” - look for “linux” in the OS name“required-os=.*linux.*:.*2\.6\.*” - look for “linux” in the OS name, and an os.version of “2.6.<anything>”“required-os=.*linux.*:.*2\.6\.*:.*x86_64.*” - look for “linux” in the OS name, and an os.version of “2.6.<anything>”, and an x86_64 arch“required-os=.*linux.*:.*:.*x86_64.*” - look for “linux” in the OS name, any os.version, and an x86_64 arch“required-files” parameter is checked“required-files” is not found, “require-files” will be looked for, is this is not found “required-file” is looked for, and finally “require-file”,). Options are specified by pipes (|)“required-files=/usr/bin/dcop,/usr/bin/bash” - Require /usr/bin/dcop AND /usr/bin/bash“required-files=/usr/bin/dcop,/usr/bin/bash|/bin/bash” - Require /usr/bin/dcop AND either /usr/bin/bash or /bin/bash“required-ui” parameter is checked“required-plugins” parameter is checked“required-plugins” is not found, “require-plugins” will be looked for, is this is not found “required-plugin” is looked for, and finally “require-plugin”,)<plugin name>[:<minimum plugin version>[:<maximum plugin version>]]“required-plugins=dcop” - Require dcop plugin“required-plugins=dcop:10” - Require dcop plugin version 10 or greater“required-plugins=dcop:10:18” - Require dcop plugin newwer or equal to version 10, but not older than verison 18“required-plugins=dcop:0:18” - Require dcop plugin not older than verison 18If all the checks pass, the plugin will be allowed to load.