|
|||||||||||
If you want to help out with plugin packaging, read this guide. If you're just a plugin developer, scan through this document to have an idea of how to make the packager's job easier. Read the build requirementsIt is essential that the layout of the packaged plugin archive follows the build requirements.Compile the source yourselfDo not package binaries provided by the plugin developers. Compile everything yourself.Check plugin propertiesEnsure that the version number listed in the plugin properties file is identical to the version number in the release announcement. This will prevent problems such as the plugin manager thinking there is a new version of the plugin out when there actually isn't. Make sure that the dependencies look reasonable. There are only 2 versions of jedit supported, 4.2final and 4.3preX. Make sure the proper version of jedit is listed.
All plugins should use the jEdit 4.3 API. If a plugin is submitted that uses an older iteration of the jEdit plugin API, consult with the author, and pressure them to use the new API. If the jEdit 4.3 API is being used, the
Make sure all external dependencies are specified accurately, and make sure that any library JARs bundled with the plugin are listed in the Make sure that no other plugin bundles library JARs provided by this plugin. If another plugin bundles them, either the JARs should be moved to a common plugin (like Check the plugin GUIThe plugin should not make any changes to jEdit's GUI after install. This includes showing "setup wizards" on startup, docking windows by default, or providing default keyboard shortcuts. These changes should either be removed from the properties file, or the release of the plugin postponed until the author removes these changes. The plugin should provide a clearly-organized submenu in the Plugins menu, complete with menu items for all dockable windows. Not everybody uses the Docking option pane, and not everybody docks all their windows! If a user chooses to use a window in floating mode, and the plugin developer does not provide menu items, there is no way to access the window. Online help is not a strict requirement -- some plugins are so simple it is redundant -- but any non-trivial plugin should have online help. Make sure the HTML renders well in jEdit's help viewer. Review the plugin codeA full code review is certainly not required and would make plugin packaging too time-consuming. However, a quick "sanity check" scan through the source is a good idea. In particular, look for these issues in the plugin core class:
A few general issues to look for in other source files:
Packaging and UploadingThis is actually quite an involved process. There are some Python scripts, known as "pjo", and accompanying documentation, which describes the process of packaging and uploading step-by-step. Anyone who packages plugins and has ideas on how to improve these scripts is welcome to discuss and contribute improvements to this script on jedit-devel. They can be checked out as a separate project in the plugins repository. | |||||||||||