Fine tuning terminology

This commit is contained in:
JohnHake 2018-11-20 14:36:59 -08:00
parent d6180fd8a6
commit 13d7332b03

View File

@ -4,7 +4,7 @@ title: Publishing a Plugin to an Enterprise Plugin Repository
If you intend to use a plugin repository _other than_ the [JetBrains Plugin Repository](https://plugins.jetbrains.com),
you will need to:
* Upload your plugin JAR/ZIP file to the web server you are using for the enterprise repository.
* Upload your plugin JAR/ZIP file to the HTTPS web server you are using for the enterprise repository.
* Maintain an `updatePlugins.xml` file on that web server describing all the available plugins.
* Add the URL for the enterprise repository to the JetBrains IDE [Repository Settings/Preferences](https://www.jetbrains.com/help/idea/managing-plugins.html#repos).
@ -14,8 +14,6 @@ for every hosted plugin. The description in `updatePlugins.xml` is used by JetBr
such as id, IDE version, and plugin version. These attributes are displayed by JetBrains IDEs to help users select or upgrade plugins.
The description also tells the JetBrains IDE where to download the plugin itself.
**@Q:** are multiple updatePlugin files really needed for minor releases? Or is this just best practice?
An enterprise plugin repository's `updatePlugins.xml` file is constructed and maintained by the administrator of
the repository. More than one `updatePlugins.xml` file may be required if consumers of the enterprise repository are using more
than one version of a JetBrains IDE. For example `updatePlugins-182.xml`, `updatePlugins-183.xml` for IntelliJ IDEA 2018.2 and 2018.3 respectively.
@ -34,17 +32,17 @@ The format of an `updatePlugins.xml` file is simply a list of sequential element
<!--
Each <plugin> element describes one plugin in the repository. Required.
id - used by JetBrains IDEs to uniquely identify a plugin. Required. Must match <id> in plugin.xml
url - path to download the plugin JAR/ZIP file. Required. Must be Hyper Text Transfer Protocol Secure (HTTPS)
version - version of this plugin. Required, must match <version> in plugin.xml
url - path to download the plugin JAR/ZIP file. Required. Must be HTTPS
version - version of this plugin. Required. Must match <version> in plugin.xml
-->
<plugin id="fully.qualified.id.of.this.plugin" url="https://www.mycompany.com/my_repository/mypluginname.jar" version="major.minor.update">
<!--
The <idea-version> element must match the same element in plugin.xml. Required.
-->
<idea-version since-build="181.3" until-build="181.*" />
<idea-version since-build="181.3" until-build="184.*" />
</plugin>
<plugin id="id.of.different.plugin" url="https://www.oldserver.com/old_repository/oldplugin.jar" version="major.minor">
<idea-version since-build="145" until-build="171" />
<plugin id="id.of.different.plugin" url="https://www.otherserver.com/other_repository/differentplugin.jar" version="major.minor">
<idea-version since-build="181.3" until-build="184.*" />
</plugin>
<plugin>
<!-- And so on for other plugins... -->
@ -53,22 +51,23 @@ The format of an `updatePlugins.xml` file is simply a list of sequential element
```
<br>
**Note:**
* An `updatePlugins` file must describe at least one plugin, i.e. at least one set of `<plugin></plugin>` elements must
appear between the `<plugins></plugins>` elements.
* An `updatePlugins` file must contain at least one set of `<plugin></plugin>` elements.
* A plugin may be listed only once in an `updatePlugins` file.
* All plugins must be compatible with the same release(s) of the JetBrains IDE, or the plugin descriptions must be split into separate
`updatePlugins-major-minor.xml` files.
### Optional updatePlugin Elements
Can additional elements be added to `updatePlugins.xml`? Yes, but it's advisable only if needed. The additional elements will need
to be synchronized with a plugin's `plugin.xml` file.
Can additional elements be added to `updatePlugins.xml`? Yes, but it's advisable only if needed. The additional elements will have
to be synchronized with each plugin's `plugin.xml` file.
During installation the IDE reads the plugin JAR/ZIP file, and thereafter displays more information about the plugin.
During plugin installation the JetBrains IDE reads the plugin JAR/ZIP file, and thereafter displays more information about the plugin.
What additional information might help a user select a plugin when
[browsing the enterprise plugin repository](https://www.jetbrains.com/help/idea/managing-plugins.html#repos)
before installation? The answer depends on the plugins and repository consumers. Here are the candidate elements:
| Element | Effects & Requirements |
|:-------------------------------------------------------------|:----------------------------|
| `<name>`<br>My Plugin Name<br>`</name>` | By default the name of the plugin JAR/ZIP file is displayed before installation. <br>Using the `<name>` element displays the name of the plugin. <br>Contents must match the `<name>` element contents in the plugins's `plugin.xml` file.|
| `<description>`<br>My plugin is awesome<br>`</description>` | By default no description for the plugin is displayed before installation. <br>Using the `<description>` element will cause a description to be displayed before installation. <br>Contents must match the `<description>` element contents in the plugins's `plugin.xml` file. <br>Optionally, an enclosing `<![CDATA[ ]]>` element can be used if the description needs to contain HTML tags. |
| `<change-notes>`<br>Added cool feature<br>`</change-notes>` | By default no change notes for the plugin are displayed before installation. <br>Using the `<change-notes>` element will cause a description of changes to be displayed before installation. <br>Contents must match the `<change-notes>` element contents in the plugin's `plugin.xml` file. <br>Optionally, an enclosing `<![CDATA[ ]]>` element can be used if the change notes need to contain HTML tags. |
| `<name>`<br>My Plugin Name<br>`</name>` | By default the name of the plugin JAR/ZIP file is displayed before installation. <br>Using the `<name>` element displays the name of the plugin. <br>Contents should match the `<name>` element contents in the plugins's `plugin.xml` file to avoid confusion. |
| `<description>`<br>My plugin is awesome<br>`</description>` | By default no description for the plugin is displayed before installation. <br>Using the `<description>` element will cause a description to be displayed before installation. <br>Contents should match the `<description>` element contents in the plugins's `plugin.xml` file to avoid confusion. <br>Optionally, an enclosing `<![CDATA[ ]]>` element can be used if the description needs to contain HTML tags. |
| `<change-notes>`<br>Added cool feature<br>`</change-notes>` | By default no change notes for the plugin are displayed before installation. <br>Using the `<change-notes>` element will cause a description of changes to be displayed before installation. <br>Contents should match the `<change-notes>` element contents in the plugin's `plugin.xml` file to avoid confusion. <br>Optionally, an enclosing `<![CDATA[ ]]>` element can be used if the change notes need to contain HTML tags. |