elasticsearch/docs/plugins/development/plugin-descriptor-file.asciidoc
Abdon Pijpelink f93a94009f
[DOCS] Documentation update for creating plugins (#93413)
* [DOCS] Documentation for the stable plugin API

* Removed references to rivers

* Add link to Cloud docs for managing plugins

* Add caveat about needing to update plugins

* Remove reference to site plugins

* Wording and clarifications

* Fix test

* Add link to text analysis docs

* Text analysis API dependencies

* Remove reference to REST endpoints and fix list

* Move plugin descriptor file to its own page

* Typos

* Review feedback

* Delete unused properties file

* Changed  into

* Changed 'elasticsearchVersion' into 'pluginApiVersion'

* Swap 'The analysis plugin API' and 'Plugin file structure' sections

* Update docs/plugins/authors.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/example-text-analysis-plugin.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/plugin-descriptor-file.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/plugin-script.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Update docs/plugins/development/creating-non-text-analysis-plugins.asciidoc

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>

* Rewording

* Add modulename and extended.plugins descriptions for descriptor file

* Add link to existing plugins in Github

* Review feedback

* Use 'stable' and 'classic' plugin naming

* Fix capitalization

* Review feedback

---------

Co-authored-by: Arianna Laudazzi <46651782+alaudazzi@users.noreply.github.com>
Co-authored-by: William Brafford <william.brafford@elastic.co>
2023-02-13 14:15:12 +01:00

58 lines
2 KiB
Text

ifeval::["{plugin-type}" == "stable"]
The stable plugin descriptor file is a Java properties file called
`stable-plugin-descriptor.properties`
endif::[]
ifeval::["{plugin-type}" == "classic"]
The classic plugin descriptor file is a Java properties file called
`plugin-descriptor.properties`
endif::[]
that describes the plugin. The file is automatically created if you are
using {es}'s Gradle build system. If you're not using the gradle plugin, you
can create it manually using the following template.
[source,properties]
:plugin-properties-files: {elasticsearch-root}/build-tools/src/main/resources
[source,yaml]
----
include::{plugin-properties-files}/plugin-descriptor.properties[]
----
[discrete]
==== Properties
[cols="<,<,<",options="header",]
|=======================================================================
|Element | Type | Description
|`description` |String | simple summary of the plugin
|`version` |String | plugin's version
|`name` |String | the plugin name
ifeval::["{plugin-type}" == "stable"]
|`classname` |String | this property is for classic plugins. Do
not include this property for stable plugins.
endif::[]
ifeval::["{plugin-type}" == "classic"]
|`classname` |String | the name of the class to load,
fully-qualified.
|`extended.plugins` |String | other plugins this plugin extends through
SPI.
|`modulename` |String | the name of the module to load classname
from. Only applies to "isolated" plugins. This is optional. Specifying it causes
the plugin to be loaded as a module.
endif::[]
|`java.version` |String | version of java the code is built against.
Use the system property `java.specification.version`. Version string must be a
sequence of nonnegative decimal integers separated by "."'s and may have leading
zeros.
|`elasticsearch.version` |String | version of {es} compiled against.
|=======================================================================