azdev 0.2.8__tar.gz → 0.2.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {azdev-0.2.8 → azdev-0.2.9}/HISTORY.rst +4 -0
- {azdev-0.2.8/azdev.egg-info → azdev-0.2.9}/PKG-INFO +48 -1
- {azdev-0.2.8 → azdev-0.2.9}/README.md +19 -0
- {azdev-0.2.8 → azdev-0.2.9}/README.rst +43 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/__init__.py +1 -1
- {azdev-0.2.8 → azdev-0.2.9}/azdev/commands.py +4 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/help.py +28 -0
- azdev-0.2.9/azdev/operations/latest_index.py +71 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/params.py +8 -0
- {azdev-0.2.8 → azdev-0.2.9/azdev.egg-info}/PKG-INFO +48 -1
- {azdev-0.2.8 → azdev-0.2.9}/azdev.egg-info/SOURCES.txt +1 -0
- {azdev-0.2.8 → azdev-0.2.9}/LICENSE +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/MANIFEST.in +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/__main__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/completer.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/config/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/config/cli.flake8 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/config/cli_pylintrc +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/config/ext.flake8 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/config/ext_pylintrc +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/HISTORY.rst +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/README.rst +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/_client_factory.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/_help.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/_params.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/_validators.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/azext_metadata.json +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/blank__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/commands.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/custom.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/module__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/pkg_declare__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/setup.cfg +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/setup.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/mod_templates/test_service_scenario.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/breaking_change/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/breaking_change/markdown_template.jinja2 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/_macros.j2 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/cmdcov.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/component.css +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/component.js +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/favicon.ico +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/index.j2 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/index2.j2 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/cmdcov/module.j2 +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/code_gen.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/command_change/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/command_change/custom.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/command_change/util.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/constant.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/extensions/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/extensions/util.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/extensions/version_upgrade.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/help/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/help/refdoc/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/help/refdoc/conf.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/legal.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/data/cmd_example_config.json +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/linter.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/pylint_checkers/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/pylint_checkers/show_command.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rule_decorators.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/ci_exclusions.yml +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/command_coverage_rules.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/command_group_rules.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/command_rules.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/help_rules.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/linter_exclusions.yml +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/rules/parameter_rules.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/linter/util.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/performance.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/pypi.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/python_sdk.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/regex.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/resource.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/secret.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/setup.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/statistics/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/statistics/util.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/style.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/testtool/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/testtool/incremental_strategy.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/testtool/profile_context.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/operations/testtool/pytest_runner.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/transformers.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/__init__.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/command.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/config.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/const.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/display.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/git_util.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/path.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/pypi.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/testing.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev/utilities/tools.py +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev.egg-info/dependency_links.txt +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev.egg-info/entry_points.txt +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev.egg-info/requires.txt +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/azdev.egg-info/top_level.txt +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/pyproject.toml +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/setup.cfg +0 -0
- {azdev-0.2.8 → azdev-0.2.9}/setup.py +0 -0
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Release History
|
|
4
4
|
===============
|
|
5
|
+
0.2.9
|
|
6
|
+
+++++
|
|
7
|
+
* `azdev latest-index`: Add `generate` and `verify` commands to manage Azure CLI packaged latest indices (`commandIndex.latest.json`, `helpIndex.latest.json`) with CI-friendly verify exit behavior.
|
|
8
|
+
|
|
5
9
|
0.2.8
|
|
6
10
|
++++++
|
|
7
11
|
* Pin pip to 25.2 as pip 25.3 remove support for the legacy setup.py develop editable method in setuptools editable installs; setuptools >= 64 is now required. (#11457)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: azdev
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.9
|
|
4
4
|
Summary: Microsoft Azure CLI Developer Tools
|
|
5
5
|
Home-page: https://github.com/Azure/azure-cli-dev-tools
|
|
6
6
|
Author: Microsoft Corporation
|
|
@@ -122,6 +122,49 @@ Setting up your development environment
|
|
|
122
122
|
|
|
123
123
|
This will launch the interactive setup process. To see non-interactive options run `azdev setup -h`.
|
|
124
124
|
|
|
125
|
+
Latest packaged indices
|
|
126
|
+
+++++++++++++++++++++++
|
|
127
|
+
|
|
128
|
+
Use azdev wrappers around Azure CLI's latest index generation script:
|
|
129
|
+
|
|
130
|
+
::
|
|
131
|
+
|
|
132
|
+
azdev latest-index generate
|
|
133
|
+
azdev latest-index verify
|
|
134
|
+
|
|
135
|
+
You can pass an explicit Azure CLI checkout path when needed:
|
|
136
|
+
|
|
137
|
+
::
|
|
138
|
+
|
|
139
|
+
azdev latest-index generate --cli /path/to/azure-cli
|
|
140
|
+
azdev latest-index verify --repo /path/to/azure-cli
|
|
141
|
+
|
|
142
|
+
``azdev latest-index verify`` exits non-zero when generated output differs from checked-in
|
|
143
|
+
``commandIndex.latest.json`` or ``helpIndex.latest.json``.
|
|
144
|
+
|
|
145
|
+
Common azdev commands
|
|
146
|
+
+++++++++++++++++++++++++++++
|
|
147
|
+
|
|
148
|
+
This README is not an exhaustive command reference. For the complete command surface, use:
|
|
149
|
+
|
|
150
|
+
::
|
|
151
|
+
|
|
152
|
+
azdev --help
|
|
153
|
+
azdev <group> --help
|
|
154
|
+
|
|
155
|
+
Frequently used commands include:
|
|
156
|
+
|
|
157
|
+
::
|
|
158
|
+
|
|
159
|
+
azdev setup
|
|
160
|
+
azdev style <module-or-extension>
|
|
161
|
+
azdev linter <module-or-extension>
|
|
162
|
+
azdev test <module-or-extension>
|
|
163
|
+
azdev extension add <extension-name>
|
|
164
|
+
azdev extension build <extension-name>
|
|
165
|
+
azdev latest-index generate
|
|
166
|
+
azdev latest-index verify
|
|
167
|
+
|
|
125
168
|
Reporting issues and feedback
|
|
126
169
|
+++++++++++++++++++++++++++++
|
|
127
170
|
|
|
@@ -160,6 +203,10 @@ License
|
|
|
160
203
|
|
|
161
204
|
Release History
|
|
162
205
|
===============
|
|
206
|
+
0.2.9
|
|
207
|
+
+++++
|
|
208
|
+
* `azdev latest-index`: Add `generate` and `verify` commands to manage Azure CLI packaged latest indices (`commandIndex.latest.json`, `helpIndex.latest.json`) with CI-friendly verify exit behavior.
|
|
209
|
+
|
|
163
210
|
0.2.8
|
|
164
211
|
++++++
|
|
165
212
|
* Pin pip to 25.2 as pip 25.3 remove support for the legacy setup.py develop editable method in setuptools editable installs; setuptools >= 64 is now required. (#11457)
|
|
@@ -148,6 +148,25 @@ For instructions on manually writing the commands and tests, see more in
|
|
|
148
148
|
|
|
149
149
|
By default, test is running in `once` mode. If there are no corresponding recording files (in yaml format), it will run live tests and generate recording files. If recording files are found, the tests will be run in `playback` mode against the recording files. You can use `--live` to force a test run in `live` mode and regenerate the recording files.
|
|
150
150
|
|
|
151
|
+
## Latest packaged indices
|
|
152
|
+
|
|
153
|
+
Use azdev wrappers around Azure CLI's latest index generation script:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
azdev latest-index generate
|
|
157
|
+
azdev latest-index verify
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
You can pass an explicit Azure CLI checkout path when needed:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
azdev latest-index generate --cli /path/to/azure-cli
|
|
164
|
+
azdev latest-index verify --repo /path/to/azure-cli
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
`azdev latest-index verify` exits non-zero when generated output differs from the checked-in
|
|
168
|
+
`commandIndex.latest.json` or `helpIndex.latest.json`, making it CI-friendly.
|
|
169
|
+
|
|
151
170
|
## Submitting a pull request to merge the code
|
|
152
171
|
|
|
153
172
|
1. After committing your code locally, push it to your forked repository:
|
|
@@ -66,6 +66,49 @@ Setting up your development environment
|
|
|
66
66
|
|
|
67
67
|
This will launch the interactive setup process. To see non-interactive options run `azdev setup -h`.
|
|
68
68
|
|
|
69
|
+
Latest packaged indices
|
|
70
|
+
+++++++++++++++++++++++
|
|
71
|
+
|
|
72
|
+
Use azdev wrappers around Azure CLI's latest index generation script:
|
|
73
|
+
|
|
74
|
+
::
|
|
75
|
+
|
|
76
|
+
azdev latest-index generate
|
|
77
|
+
azdev latest-index verify
|
|
78
|
+
|
|
79
|
+
You can pass an explicit Azure CLI checkout path when needed:
|
|
80
|
+
|
|
81
|
+
::
|
|
82
|
+
|
|
83
|
+
azdev latest-index generate --cli /path/to/azure-cli
|
|
84
|
+
azdev latest-index verify --repo /path/to/azure-cli
|
|
85
|
+
|
|
86
|
+
``azdev latest-index verify`` exits non-zero when generated output differs from checked-in
|
|
87
|
+
``commandIndex.latest.json`` or ``helpIndex.latest.json``.
|
|
88
|
+
|
|
89
|
+
Common azdev commands
|
|
90
|
+
+++++++++++++++++++++++++++++
|
|
91
|
+
|
|
92
|
+
This README is not an exhaustive command reference. For the complete command surface, use:
|
|
93
|
+
|
|
94
|
+
::
|
|
95
|
+
|
|
96
|
+
azdev --help
|
|
97
|
+
azdev <group> --help
|
|
98
|
+
|
|
99
|
+
Frequently used commands include:
|
|
100
|
+
|
|
101
|
+
::
|
|
102
|
+
|
|
103
|
+
azdev setup
|
|
104
|
+
azdev style <module-or-extension>
|
|
105
|
+
azdev linter <module-or-extension>
|
|
106
|
+
azdev test <module-or-extension>
|
|
107
|
+
azdev extension add <extension-name>
|
|
108
|
+
azdev extension build <extension-name>
|
|
109
|
+
azdev latest-index generate
|
|
110
|
+
azdev latest-index verify
|
|
111
|
+
|
|
69
112
|
Reporting issues and feedback
|
|
70
113
|
+++++++++++++++++++++++++++++
|
|
71
114
|
|
|
@@ -82,6 +82,10 @@ def load_command_table(self, _):
|
|
|
82
82
|
with CommandGroup(self, 'cli', operation_group('help')) as g:
|
|
83
83
|
g.command('generate-docs', 'generate_cli_ref_docs')
|
|
84
84
|
|
|
85
|
+
with CommandGroup(self, 'latest-index', operation_group('latest_index')) as g:
|
|
86
|
+
g.command('generate', 'generate_latest_index')
|
|
87
|
+
g.command('verify', 'verify_latest_index')
|
|
88
|
+
|
|
85
89
|
with CommandGroup(self, 'extension', operation_group('help')) as g:
|
|
86
90
|
g.command('generate-docs', 'generate_extension_ref_docs')
|
|
87
91
|
|
|
@@ -99,6 +99,34 @@ helps['verify history'] = """
|
|
|
99
99
|
short-summary: Verify the README and HISTORY files for each module so they format correctly on PyPI.
|
|
100
100
|
"""
|
|
101
101
|
|
|
102
|
+
helps['latest-index'] = """
|
|
103
|
+
short-summary: Generate or verify Azure CLI packaged latest index files.
|
|
104
|
+
long-summary: >
|
|
105
|
+
Wraps azure-cli's scripts/generate_latest_indices.py for deterministic, CI-friendly
|
|
106
|
+
generation and verification of commandIndex.latest.json and helpIndex.latest.json.
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
helps['latest-index generate'] = """
|
|
110
|
+
short-summary: Generate commandIndex.latest.json and helpIndex.latest.json in an Azure CLI repo.
|
|
111
|
+
examples:
|
|
112
|
+
- name: Generate latest index files using the configured Azure CLI repo.
|
|
113
|
+
text: azdev latest-index generate
|
|
114
|
+
|
|
115
|
+
- name: Generate latest index files for an explicit repo checkout.
|
|
116
|
+
text: azdev latest-index generate --cli /path/to/azure-cli
|
|
117
|
+
"""
|
|
118
|
+
|
|
119
|
+
helps['latest-index verify'] = """
|
|
120
|
+
short-summary: Verify latest index files are up-to-date.
|
|
121
|
+
long-summary: Returns a non-zero exit code when generated content differs from checked-in files.
|
|
122
|
+
examples:
|
|
123
|
+
- name: Verify latest index files in CI.
|
|
124
|
+
text: azdev latest-index verify
|
|
125
|
+
|
|
126
|
+
- name: Verify latest index files for an explicit repo checkout.
|
|
127
|
+
text: azdev latest-index verify --repo /path/to/azure-cli
|
|
128
|
+
"""
|
|
129
|
+
|
|
102
130
|
|
|
103
131
|
helps['style'] = """
|
|
104
132
|
short-summary: Check code style (pylint and PEP8).
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# -----------------------------------------------------------------------------
|
|
2
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
+
# license information.
|
|
5
|
+
# -----------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
|
|
10
|
+
from knack.util import CLIError
|
|
11
|
+
|
|
12
|
+
from azdev.utilities import display, heading, py_cmd
|
|
13
|
+
from azdev.utilities.path import get_cli_repo_path
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
_LATEST_INDEX_SCRIPT = os.path.join('scripts', 'generate_latest_indices.py')
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def _resolve_cli_repo_path(cli_path):
|
|
20
|
+
if cli_path:
|
|
21
|
+
resolved = os.path.abspath(os.path.expanduser(cli_path))
|
|
22
|
+
else:
|
|
23
|
+
resolved = get_cli_repo_path()
|
|
24
|
+
|
|
25
|
+
if not resolved or resolved == '_NONE_':
|
|
26
|
+
raise CLIError('Azure CLI repo path is not configured. Specify `--cli` or run `azdev setup`.')
|
|
27
|
+
|
|
28
|
+
if not os.path.isdir(resolved):
|
|
29
|
+
raise CLIError('Azure CLI repo path does not exist: {}'.format(resolved))
|
|
30
|
+
|
|
31
|
+
return resolved
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def _run_latest_index(mode, cli_path=None, profile='latest', all_profiles=False):
|
|
35
|
+
if all_profiles:
|
|
36
|
+
raise CLIError('`--all-profiles` is not supported yet. Use `--profile latest`.')
|
|
37
|
+
|
|
38
|
+
if profile != 'latest':
|
|
39
|
+
raise CLIError("Unsupported profile '{}'. Only `latest` is currently supported.".format(profile))
|
|
40
|
+
|
|
41
|
+
repo_path = _resolve_cli_repo_path(cli_path)
|
|
42
|
+
script_path = os.path.join(repo_path, _LATEST_INDEX_SCRIPT)
|
|
43
|
+
if not os.path.isfile(script_path):
|
|
44
|
+
raise CLIError('Unable to find azure-cli script: {}'.format(script_path))
|
|
45
|
+
|
|
46
|
+
heading('Latest Index: {}'.format(mode.capitalize()))
|
|
47
|
+
display('Azure CLI repo: {}'.format(repo_path))
|
|
48
|
+
|
|
49
|
+
command = '{} {}'.format(_LATEST_INDEX_SCRIPT, mode)
|
|
50
|
+
result = py_cmd(command, is_module=False, cwd=repo_path)
|
|
51
|
+
|
|
52
|
+
output = result.result
|
|
53
|
+
if isinstance(output, bytes):
|
|
54
|
+
output = output.decode('utf-8', errors='replace')
|
|
55
|
+
if output:
|
|
56
|
+
output = output.replace(
|
|
57
|
+
'python scripts/generate_latest_indices.py generate',
|
|
58
|
+
'azdev latest-index generate'
|
|
59
|
+
)
|
|
60
|
+
display(output)
|
|
61
|
+
|
|
62
|
+
if result.exit_code:
|
|
63
|
+
sys.exit(result.exit_code)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def generate_latest_index(cli_path=None, profile='latest', all_profiles=False):
|
|
67
|
+
_run_latest_index('generate', cli_path=cli_path, profile=profile, all_profiles=all_profiles)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def verify_latest_index(cli_path=None, profile='latest', all_profiles=False):
|
|
71
|
+
_run_latest_index('verify', cli_path=cli_path, profile=profile, all_profiles=all_profiles)
|
|
@@ -282,3 +282,11 @@ def load_arguments(self, _):
|
|
|
282
282
|
c.argument('no_tail', action='store_true', help='Skip tail when displaying as markdown.')
|
|
283
283
|
c.argument('include_whl_extensions', action='store_true',
|
|
284
284
|
help="Allow scanning on extensions installed by `az extension add --source xxx.whl`.")
|
|
285
|
+
|
|
286
|
+
with ArgumentsContext(self, 'latest-index') as c:
|
|
287
|
+
c.argument('cli_path', options_list=['--cli', '--repo'],
|
|
288
|
+
help='Path to an Azure CLI repo checkout. If omitted, use the path configured by `azdev setup`.')
|
|
289
|
+
c.argument('profile', choices=['latest'], default='latest',
|
|
290
|
+
help='Cloud profile to process. Only `latest` is currently supported.')
|
|
291
|
+
c.argument('all_profiles', action='store_true',
|
|
292
|
+
help='Not supported yet. Reserved for future multi-profile support.')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: azdev
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.9
|
|
4
4
|
Summary: Microsoft Azure CLI Developer Tools
|
|
5
5
|
Home-page: https://github.com/Azure/azure-cli-dev-tools
|
|
6
6
|
Author: Microsoft Corporation
|
|
@@ -122,6 +122,49 @@ Setting up your development environment
|
|
|
122
122
|
|
|
123
123
|
This will launch the interactive setup process. To see non-interactive options run `azdev setup -h`.
|
|
124
124
|
|
|
125
|
+
Latest packaged indices
|
|
126
|
+
+++++++++++++++++++++++
|
|
127
|
+
|
|
128
|
+
Use azdev wrappers around Azure CLI's latest index generation script:
|
|
129
|
+
|
|
130
|
+
::
|
|
131
|
+
|
|
132
|
+
azdev latest-index generate
|
|
133
|
+
azdev latest-index verify
|
|
134
|
+
|
|
135
|
+
You can pass an explicit Azure CLI checkout path when needed:
|
|
136
|
+
|
|
137
|
+
::
|
|
138
|
+
|
|
139
|
+
azdev latest-index generate --cli /path/to/azure-cli
|
|
140
|
+
azdev latest-index verify --repo /path/to/azure-cli
|
|
141
|
+
|
|
142
|
+
``azdev latest-index verify`` exits non-zero when generated output differs from checked-in
|
|
143
|
+
``commandIndex.latest.json`` or ``helpIndex.latest.json``.
|
|
144
|
+
|
|
145
|
+
Common azdev commands
|
|
146
|
+
+++++++++++++++++++++++++++++
|
|
147
|
+
|
|
148
|
+
This README is not an exhaustive command reference. For the complete command surface, use:
|
|
149
|
+
|
|
150
|
+
::
|
|
151
|
+
|
|
152
|
+
azdev --help
|
|
153
|
+
azdev <group> --help
|
|
154
|
+
|
|
155
|
+
Frequently used commands include:
|
|
156
|
+
|
|
157
|
+
::
|
|
158
|
+
|
|
159
|
+
azdev setup
|
|
160
|
+
azdev style <module-or-extension>
|
|
161
|
+
azdev linter <module-or-extension>
|
|
162
|
+
azdev test <module-or-extension>
|
|
163
|
+
azdev extension add <extension-name>
|
|
164
|
+
azdev extension build <extension-name>
|
|
165
|
+
azdev latest-index generate
|
|
166
|
+
azdev latest-index verify
|
|
167
|
+
|
|
125
168
|
Reporting issues and feedback
|
|
126
169
|
+++++++++++++++++++++++++++++
|
|
127
170
|
|
|
@@ -160,6 +203,10 @@ License
|
|
|
160
203
|
|
|
161
204
|
Release History
|
|
162
205
|
===============
|
|
206
|
+
0.2.9
|
|
207
|
+
+++++
|
|
208
|
+
* `azdev latest-index`: Add `generate` and `verify` commands to manage Azure CLI packaged latest indices (`commandIndex.latest.json`, `helpIndex.latest.json`) with CI-friendly verify exit behavior.
|
|
209
|
+
|
|
163
210
|
0.2.8
|
|
164
211
|
++++++
|
|
165
212
|
* Pin pip to 25.2 as pip 25.3 remove support for the legacy setup.py develop editable method in setuptools editable installs; setuptools >= 64 is now required. (#11457)
|
|
@@ -42,6 +42,7 @@ azdev/mod_templates/test_service_scenario.py
|
|
|
42
42
|
azdev/operations/__init__.py
|
|
43
43
|
azdev/operations/code_gen.py
|
|
44
44
|
azdev/operations/constant.py
|
|
45
|
+
azdev/operations/latest_index.py
|
|
45
46
|
azdev/operations/legal.py
|
|
46
47
|
azdev/operations/performance.py
|
|
47
48
|
azdev/operations/pypi.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|