-
Notifications
You must be signed in to change notification settings - Fork 24.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance Help for plugin authors page #15280
Comments
I've fixed the URL for the plugin-descriptor file in 2.x, and updated this page for gradle in master. @rjernst you wanted to provide more info for plugin authors? |
@clintongormley I will jot my notes about info for plugin authors here. I'm not sure what the best place for them is, but I figure you will know. In gradle, users do the equivalent of the shared pom by importing the
Note that the maven part should be changed to Once a plugin author has applied this gradle plugin to their build, they get a number of builtin tasks, as well as configuration options. ConfigurationConfiguration of the ES plugin happens using the
TasksIn addition to simply building the plugin, a number of tasks are added, which are the same as Elasticsearch itself uses to check the software. precommitThese tasks do static checks on the plugin code. They do things like check for jarhell (before actually running tests, rather than get crazy errors in the tests themselves), check for forbidden patterns like testThese are unit tests, run with the same randomized runner that Lucene and ES tests are based on. All test classes should end with the name "Tests". integTestThese are REST integration tests. They spin up an ES node, and run rest tests against it. The yaml files for the rest tests should be in I'm sure I'm missing something, but that is a simple breakdown of what |
@rjernst could you also provide a few common commands, eg how do you build, test, package, how do you run the precommit task? how do you deploy? |
I'm not sure we should write a gradle tutorial...there are plenty out there. For deploying to nexus, they can add the following to their file, and the esplugin is already set up to generate a correct pom:
All 3 of the tasks i mentioned ( I also forgot to mention before some additional things:
|
I came across this same issue spinscale/elasticsearch-ingest-opennlp#8 here with gradle 2.10 (from ubuntu apt). Are there still gradle version limitations for the |
Yes. We've got verbal assurance from the gradle folks that they'll fix the issue on their side so we're just waiting.... For now 2.13 is required. No less and no more, sadly. |
This is weird, since you can't actually even get Gradle 2.13 from the gradle distribution site anymore. Edit - You can get it here.
|
What I did recently is to create an empty Gradle project and run
to get a wrapper. Then I copied files to elasticsearch dir. HTH |
Pinging @elastic/es-core-infra |
[docs issue triage] Not sure about the specifics, but this is still at least partially relevant. |
There are no broken links on the help for plugin authors page, but it's still fairly sparse and could be improved. |
This comment had a good to-do list for improving this documentation page: I closed that ticket as a duplicate. |
This page is often confusing for the new 2.x release. Some links don't work (EG: https://github.com/elastic/elasticsearch/blob/master/dev-tools/src/main/resources/plugin-metadata/plugin-descriptor.properties , and the information on how to create plugins is not very clear.
It will be great to have a better description on how to create plugins.
The text was updated successfully, but these errors were encountered: