3. Prepare a plugin to be sold via the marketplace [plugin.xml parameters]
Every plugin sold via JetBrains Marketplace must define additional parameters in the plugin descriptor (plugin.xml) in the
<product-descriptor> tag, such as:
code- a Plugin Product Code obtained from JetBrains on the previous step (type:
varchar, 15 characters max.)
It is used to "connect" a particular plugin to a product in JetBrains sales systems.
Please see this article for full Product Code requirements.
release-date- date of the major version release in a format of
It is a crucial parameter as the whole subscription model depends on it - perpetual fallback licenses and licensing term calculation rely on the
release-version- a major version number (type:
It is different from the version of the plugin, as this one is a version number of the major release (i.e., the release which happened on
release-date). You shouldn't put a minor release version here to make sure that perpetual fallback license holders get access to minor updates of the major version.
(please read a separate article on the versioning of paid plugins)
Example:<product-descriptor code="PPAIDPLUGIN" release-date="20180918" release-version="20181"/>
This means that a plugin with a Product Code
PPAIDPLUGINhad its major version release (
September 18th, 2018. Subsequent minor updates (e.g.,
2018.1.x) should have the same
release-versionbefore the next major version is released (
2018.2) so that those users who have got a perpetual fallback license can use an opportunity to get the latest minor update of the major version they have got access to.
Please note the plugin version with altered
release-dateis considered a new stable version of the plugin, so the current active trial licenses are reset in this case.
optional- not required parameter (type:
boolean). Should be set to
trueif you would like to add the free functionality to your plugin. Please see this article to find more information. The default value of this parameter is