microsoftgraph / msgraph-cli-archived

The Microsoft Graph CLI repository has moved. This repository is now an archive.
https://github.com/microsoftgraph/msgraph-cli
Other
44 stars 9 forks source link

Task/bundle generated extensions #3

Closed jobala closed 4 years ago

jobala commented 4 years ago

Purpose

This PR generates cli-extensions and bundles them in the msi package during build.

How It Works

This PR introduces changes that allow us to generate, build and install extensions.

The generate_extensions.py script generates extensions from Open API descriptions in open-api/beta. It first generates configuration files that autorest.az and autorest.python uses to generate extensions.

The next step is to build the generated extensions, which is done by the build_exstensions.py script. It builds the extensions into distributable python packages. The script also creates a manifest of installed extensions which the CLI uses for loading command modules.

Finally, extensions are installed by the install_extensions.py script. We also run this script when building msgraph-cli.

Known Issues

We are not generating extensions with long names, tracked in #AB 5222 Some extensions fail to generate, tracked in #AB 5223 Error stacktrace shown to the user, tracked in #AB 5224