-
Notifications
You must be signed in to change notification settings - Fork 3.5k
{doc} Refine authoring commands doc #17236
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
Changes from 6 commits
b6cd683
b57f13e
852e6db
a857a2c
46e05fa
e95c822
3cbd7e8
97f87e7
cadc64e
ee902f9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -28,39 +28,23 @@ For example: | |||||
| ``` | ||||||
| git clone https://github.com/Azure/azure-cli.git | ||||||
| cd azure-cli | ||||||
| virtualenv env | ||||||
| python -m venv env | ||||||
| source env/bin/activate | ||||||
| python scripts/dev_setup.py | ||||||
| azdev setup -c azure-cli -r azure-cli-extensions | ||||||
| ``` | ||||||
| For more information, see https://github.com/Azure/azure-cli-dev-tools#setting-up-your-development-environment. | ||||||
|
|
||||||
| After this, you should be able to run the CLI with `az`. | ||||||
|
|
||||||
| [Author your command module...](#heading_author_command_mod) | ||||||
|
|
||||||
| Now, install your command module into the environment with pip in editable mode. | ||||||
| Where `<path_to_your_command_module>` is the path to the directory containing your `setup.py` file. | ||||||
| ``` | ||||||
| pip install -e <path_to_your_command_module> | ||||||
| ``` | ||||||
|
|
||||||
| If installation was successful, you should be able to run `pip list` and see your command module. | ||||||
| ``` | ||||||
| $ pip list | ||||||
| ... | ||||||
| azure-cli-example (0.0.1, /Users/myuser/Repos/azure-cli-example) | ||||||
| ... | ||||||
| ``` | ||||||
|
|
||||||
| Also, you can run `az` and if your command module contributes any commands, they should appear. | ||||||
| If your command module contributes any commands, they should appear with `az`. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Make it more clear with a verb.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. done |
||||||
| If your commands aren't showing with `az`, use `az --debug` to help debug. There could have been an exception | ||||||
| thrown whilst attempting to load your module. | ||||||
|
|
||||||
|
|
||||||
| <a name="heading_author_command_mod"></a>Authoring command modules | ||||||
| ------ | ||||||
| Currently, all command modules should start with `azure-cli-`. | ||||||
| When the CLI loads, it search for packages installed that start with that prefix. | ||||||
|
|
||||||
| The `example_module_template` directory gives an example command module with other useful examples. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes |
||||||
|
|
||||||
| Command modules should have the following structure: | ||||||
|
|
@@ -79,6 +63,10 @@ Command modules should have the following structure: | |||||
| `-- HISTORY.rst | ||||||
| ``` | ||||||
|
|
||||||
| You could create these files manually, or [create a module with `azdev cli create`](https://azurecliprod.blob.core.windows.net/videos/04%20-%20AzdevCliCreate.mp4). | ||||||
|
|
||||||
| You could also consider using [Code-gen tool](https://azurecliprod.blob.core.windows.net/videos/04%20-%20AzdevCliCreate.mp4) to generate code automatically. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The link is not right for Shall we move
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. good check! |
||||||
|
|
||||||
|
Juliehzl marked this conversation as resolved.
|
||||||
| **Create an \_\_init__.py for your module** | ||||||
|
|
||||||
| In the \_\_init__ file, you will declare a command loader class that inherits from AzCommandsLoader. You will typically override the following three methods: | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You assume it is Linux environment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. It is a simple example and for more information about setting up environment, link to https://github.com/Azure/azure-cli-dev-tools#setting-up-your-development-environment for details.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a hint "This is script for Linux"?