Skip to content

Plugin Descriptor

Every plugin needs a plugin descriptor — a set of metadata that tells both PF4J and Plugwerk what the plugin is, which version it has, and what it requires.

The descriptor is stored in the standard Java MANIFEST.MF file inside the plugin JAR. When you upload a plugin to the Plugwerk Server, it reads the descriptor to create the catalog entry, validate the version, check dependencies, and display information like the plugin name, description, and tags in the Web UI.

At minimum, a descriptor must contain Plugin-Id and Plugin-Version. All other attributes are optional but recommended — the more metadata you provide, the better the experience for users browsing the catalog.

Attribute Purpose Required PF4J Standard
Plugin-Id Unique plugin identifier Yes Yes
Plugin-Version SemVer version Yes Yes
Plugin-Class Plugin class name No Yes
Plugin-Provider Provider/organisation No Yes
Plugin-Description Short description No Yes
Plugin-Dependencies Comma-separated deps No Yes
Plugin-Requires SemVer range for host No Yes
Plugin-License SPDX license No Yes
Plugin-Name Display name No Plugwerk extension
Plugin-Tags Comma-separated tags No Plugwerk extension
Plugin-Icon Icon URL/path No Plugwerk extension
Plugin-Screenshots Comma-separated URLs No Plugwerk extension
Plugin-Homepage Project URL No Plugwerk extension
Plugin-Repository Source code URL No Plugwerk extension

If MANIFEST.MF is absent, the server falls back to plugin.properties.