From e7b1f38ac6aeca271d4a57c49950228f80ec8c35 Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 13 Jul 2023 12:51:18 -0500 Subject: [PATCH] Updating out of date README.md (#29) Updated readme to clarify information about the manifest file and added instructions for python development Verified that these directions work locally --------- Co-authored-by: Mike Bender --- README.md | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0261260..2426f9a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Plugin modules -This folder contains internally developed JS Plugin modules. Each plugin should be the following: +The `plugins` folder contains internally developed JS Plugin modules. Each plugin should be the following: - Based off the [JS Module Plugin template](https://github.com/deephaven/deephaven-js-plugin-template/) - Package name `@deephaven/js-plugin-` @@ -29,9 +29,26 @@ To build for publishing, run npm run build ``` -Next, create a `manifest.json` file in the root directory of this project. +Next, create a `manifest.json` file in the `plugins` directory of this project or modify the existing one. -In it, there should be JSON containing a plugins object. This plugins object contains of list of plugins with their name, version, and location (main). +In it, there should be JSON containing a plugins object containing metadata about all plugins to use, e.g.: +``` +{ + "plugins": [ + { + /** Name of the plugin, and relative path from this manifest to the plugin's root folder. */ + "name": "...", + + /** Version of the plugin. */ + "version": "...", + + /** Location of the primary entry point for the plugin. */ + "main": "..." + }, + ... + ] +} +``` For example, if using matplotlib and plotly plugins with version 0.1.0, the file looks like this: @@ -67,10 +84,16 @@ Finally, install the plugin wheels for the plugins, plotly and matplotlib in thi pip install /deephaven-plugin-plotly/dist/deephaven_plugin_plotly-0.0.1.dev2-py3-none-any.whl /deephaven-plugin-matplotlib/dist/deephaven_plugin_matplotlib-0.1.1-py3-none-any.whl ``` -Using the path to your local deephaven-js-plugins repo where the manifest.json is contained, start the server with the following command: +If you're reinstalling the python wheels without a version bump (generally for the purpose of development), you'll want to add the `--force-reinstall` tag. The `--no-deps` tag is also recommended as `--force-reinstall` will update all the dependencies as well, which is generally unnecessary. +For example, on reinstalls the above command becomes +``` +pip install --force-reinstall --no-deps /deephaven-plugin-plotly/dist/deephaven_plugin_plotly-0.0.1.dev2-py3-none-any.whl /deephaven-plugin-matplotlib/dist/deephaven_plugin_matplotlib-0.1.1-py3-none-any.whl +``` + +Using the path to your local deephaven-js-plugins repo where the manifest.json is contained (which will be in the `plugins` directory if you followed the steps above), start the server with the following command: ``` -START_OPTS="-Ddeephaven.jsPlugins.resourceBase=/deephaven-js-plugins" ./gradlew server-jetty-app:run +START_OPTS="-Ddeephaven.jsPlugins.resourceBase=/deephaven-js-plugins/plugins" ./gradlew server-jetty-app:run ``` The deephaven IDE can then be opened at http://localhost:10000/ide/, with your plugins ready to use.