summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2022-03-03 12:11:46 -0500
committerJordan Wiens <jordan@psifertex.com>2022-03-03 12:11:46 -0500
commit56d1994a042c8a3f1b5a90d0b15e4fcca75ebb54 (patch)
tree48a42193d7fb315a10592b84a3200f48b4acbea8 /docs
parent88ef2fc0133aba8870140cfd0e1a92f7f495b4ed (diff)
document using a third-party plugin repository in plug indev docs
Diffstat (limited to 'docs')
-rw-r--r--docs/dev/plugins.md13
1 files changed, 10 insertions, 3 deletions
diff --git a/docs/dev/plugins.md b/docs/dev/plugins.md
index ee0b9433..01fc52bc 100644
--- a/docs/dev/plugins.md
+++ b/docs/dev/plugins.md
@@ -18,8 +18,15 @@ If your plugin was created as described above, there's only two steps to get it
1. First, create a release either [manually](https://binary.ninja/2019/07/04/plugin-manager-2.0.html#5-create-a-release) or using our [release helper](https://github.com/Vector35/release_helper).
1. Next, just [file an issue](https://github.com/Vector35/community-plugins/issues/new/choose) letting us know about your plugin.
-For future releases all you need to do is increment the version and create a new release.
+For future releases all you need to do is increment the version and create a new release.
+## Using Your Own Plugin Repository
+
+The simplest way to run your own plugin repository is to duplicate the structure of [https://github.com/vector35/community-plugins](https://github.com/vector35/community-plugins). Specifically, the [plugins.json](https://github.com/Vector35/community-plugins/blob/master/plugins.json), as [listing.json](https://github.com/Vector35/community-plugins/blob/master/listing.json) is used along with [generate_index.py](https://github.com/Vector35/community-plugins/blob/master/generate_index.py) to create that file.
+
+Once you've created your test repository, use the `pluginManager.unofficialName` and `pluginManager.unofficialUrl` settings to add your third-party repository.
+
+The [`add_repository`](https://api.binary.ninja/binaryninja.pluginmanager-module.html#binaryninja.pluginmanager.RepositoryManager.add_repository) API can also be used to add the repository, though it [may require manual creation of the repository folder](https://github.com/Vector35/binaryninja-api/issues/2987).
## Testing
It's useful to be able to reload your plugin during testing. On the Commercial edition of Binary Ninja, this is easily accomplished with a stand-alone headless install using `import binaryninja` after [installing the API](https://github.com/Vector35/binaryninja-api/blob/dev/scripts/install_api.py). (install_api.py is included in each platforms respective [installation folder](../getting-started.md#binary-path))
@@ -47,13 +54,13 @@ If you wish to debug your python scripts, there are a few methods:
1. Set the path mapping to be from `/` to `/` (Windows: `C:\\` to `C:\\`)
1. Open Binary Ninja
1. Use `connect_vscode_debugger(port=12345)` in the Python Console, using whichever port you selected in `launch.json`.
-1. In VSCode, start debugging. You should see the bottom toolbar change color, and the debugger should be attached.
+1. In VSCode, start debugging. You should see the bottom toolbar change color, and the debugger should be attached.
### Remote debugging with IntelliJ PyCharm
**WARNING**: Does not work on PyCharm Community, requires PyCharm Professional
-1. In PyCharm, add a Run Configuration for Python Debug Server. Give it a name and choose a port and host.
+1. In PyCharm, add a Run Configuration for Python Debug Server. Give it a name and choose a port and host.
1. Run the `pip install` script displayed in the Run Configuration using whichever python interpreter you have selected for Binary Ninja.
1. In PyCharm, start debugging. You should see "Waiting for process connection..." in the Debugger panel.
1. Open Binary Ninja