-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Update gradle run to be able to fetch and run external plugins #19428
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
Conversation
This change allows us to install plugins not shipped with core with gradlew run. It supports simply specifying the plugin name or adding a specific version. Example: ./gradlew run -PinstalledPlugins['opensearch-job-scheduler'] or ./gradlew run -PinstalledPlugins['opensearch-job-scheduler:3.2.x.x] Signed-off-by: Marc Handalian <marc.handalian@gmail.com>
|
❕ Gradle check result for 77a7d03: UNSTABLE Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #19428 +/- ##
============================================
- Coverage 72.93% 72.34% -0.59%
+ Complexity 69947 69340 -607
============================================
Files 5676 5676
Lines 321121 321123 +2
Branches 46427 46428 +1
============================================
- Hits 234195 232310 -1885
- Misses 68032 69837 +1805
- Partials 18894 18976 +82 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This is great :). Thank you @mch2! I wonder if it would be possible in the future to always install plugin dependencies automatically to prevent having to list them out. In either case, this is a big improvement for testing efficiency. |
yeah we could add a flag or param to fetch a set of bundled plugins. Though I'd imagine keeping that stable with a larger plugin list will be a challenge against snapshot versions, but could provide value in quickly identifying compatibility issues. |
Signed-off-by: Marc Handalian <marc.handalian@gmail.com>
|
❌ Gradle check result for 16271a4: Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
@mch2 Another digression and something that would be separate from this PR, but what do you think about making the |
|
❕ Gradle check result for 16271a4: UNSTABLE Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure. |
Agreed this would be nice to have, esp given our new snapshot repo doesn't have browse functionality to find the plugins url. |
…earch-project#19428) * Update installedPlugins in run.gradle to fetch plugins from maven. This change allows us to install plugins not shipped with core with gradlew run. It supports simply specifying the plugin name or adding a specific version. Example: ./gradlew run -PinstalledPlugins['opensearch-job-scheduler'] or ./gradlew run -PinstalledPlugins['opensearch-job-scheduler:3.2.x.x] Signed-off-by: Marc Handalian <marc.handalian@gmail.com> * Add support for third party plugins Signed-off-by: Marc Handalian <marc.handalian@gmail.com> --------- Signed-off-by: Marc Handalian <marc.handalian@gmail.com>
Description
In trying to test some changes to sql and OpenSearch I found it annoying to have to re-assemble and manually install a plugin every time I made a change to OpenSearch.
This change allows us to install and test plugins that are not shipped with OpenSearch core with gradlew run. You can use it by only specifying the plugin name or adding a specific version to test patches or a released version.
Example :
./gradlew run -PinstalledPlugins['opensearch-job-scheduler']which will look foropensearch-job-scheduler:<current-opensearch-version>0-SNAPSHOTor
./gradlew run -PinstalledPlugins['opensearch-job-scheduler:3.2.x.x]it works fine along with existing plugins:
If you are using a local version of an external plugin like I am the workflow would be:
Related Issues
N/A
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.