59c3bf48d7
* batch mode * test case * updated regen * version bump |
||
---|---|---|
.vscode | ||
Samples | ||
Tools | ||
docs | ||
package | ||
schema | ||
src | ||
.gitattributes | ||
.gitignore | ||
.ruby-version | ||
.travis.yml | ||
AutoRest.sln | ||
AutoRest.sln.DotSettings | ||
ChangeLog.md | ||
Dockerfile | ||
Gemfile | ||
Issues.md | ||
LICENSE | ||
README.md | ||
VERSION | ||
global.json | ||
gulpfile.iced | ||
package.json | ||
pom.xml |
README.md
AutoRest
The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the Open API Initiative format.
Support Policy
AutoRest is an open source tool -- if you need assistance, first check the documentation. If you find a bug or need some help, feel free to submit an issue
AutoRest will release a stable version on the second Wednesday of the month.
Using npm
you can upgrade to the latest stable version of AutoRest:
# Install latest autorest package
npm install -g autorest
# Update the generator plugins to the latest stable version
autorest --reset
You can still access the nightly build of the generator plugins by using --prerelease
on the autorest command line:
# install the latest nightly autorest generators
autorest --latest --prerelease
# revert back to the latest stable release of autorest generators:
autorest --reset
If you're living life on the edge (and know what you're doing!) you can access the next
version of the main autorest package from npm:
# install the 'next' version of the autorest package
npm install autorest@next
# revert to the 'stable' version of the autorest package
npm install autorest@latest
Features-in-progress in AutoRest will be found in the 'next' version, and use at your own risk :D
What's Next
The finishing touches on the extension model are being made right now in the @next
version of autorest, which will
make it possible to install and manage extensions on a fine-grained level, as well as being able to publish a plugin written in different languages.
We've already started on the path to OpenAPI 3 support, a new code modeler, which will lead to generators for some languages, and new language support!
Installing Autorest
Installing AutoRest on Windows, MacOS or Linux involves two steps:
- Install Node.js (7.10.0 or greater)
for more help, check out Installing Node.JS on different platforms
- Install AutoRest using
npm
# Depending on your configuration you may need to be elevated or root to run this. (on OSX/Linux use 'sudo' )
npm install -g autorest
Updating Autorest
To update AutoRest if you have previous versions installed, please run:
autorest --latest
or
# Removes all other versions and installs the latest
autorest --reset
For more information, run autorest --help
Status on various platforms:
OS | Status |
---|---|
Windows x64 | Verified - Working |
OSX 10.11 x64 | Verified - Working (may have to install openssl manually?) |
Ubuntu 14.04 x64 (any) | Verified - Working -- use the following commands first: sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 libicu52 -y |
Ubuntu 16.04 x64 (desktop) | Verified - Working |
Ubuntu 16.04 x64 (server or via BashForWindows/WSL) | Verified - Working -- use the following commands first: sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 -y |
Ubuntu 16.10 x64 | Verified - Working -- use the following commands first: sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install libunwind8 -y && wget http://mirrors.kernel.org/ubuntu/pool/main/i/icu/libicu55_55.1-7_amd64.deb && sudo dpkg -i libicu55_55.1-7_amd64.deb |
Other Linux platforms might work -- if the platform is listed https://github.com/Azure/autorest/releases/tag/dotnet-runtime-1.0.4 -- there is a fairly good chance that it'll work. As more testing is completed, we'll ensure that we update the status here.
PREVIEW AVAILABLE : Installer EXE for AutoRest now online
You can test out the PREVIEW AutoRest installer from : https://github.com/Azure/autorest/releases/download/dotnet-runtime-1.0.3/AutoInstaller.exe
Note: The Installer is a work-in-progress -- it has been tested for the happy path, some functionality isn't yet implemented:
- Feedback welcome at https://github.com/Azure/autorest/issues/1884
Getting Started using AutoRest
Start by reading the documentation for using AutoRest:
- Managing Autorest - shows how to get new updates to AutoRest and choose which version to use for code generation
- Generating a Client using AutoRest - shows simple command line usage for generating a client library.
- Command Line Interface Documentation - explains common command line arguments
- Examples - full, walkthrough-style scenarios for using AutoRest
Developers
Get yourself up and coding in AutoRest
- Developer Workstation Requirements - what do you need to install to start working with the AutoRest code
- Compiling AutoRest - compiling/testing AutoRest using the build scripts
Some information about the internal AutoRest architecture (may need updating!):
- Developer Guide - Notes on developing with AutoRest
- AutoRest and ClientRuntimes - about the client runtime requirements for AutoRest
- The
CodeModel
data model and the Language-specific Generator/Transformer/Namer Fixable<T>
implementation - When a value is both calculated and/or fixed- LODIS - The Least Offensive Dependency Injection System
- Name Disambiguation - how names don't collide in code generation.
- Validation Rules & Linting - about the validation rules in AutoRest
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.