OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python
Перейти к файлу
Veronica Giaudrone 30287cea98 Adding kind as an allowed top level property (#2029) 2017-03-20 13:52:39 -07:00
.vscode Json rpc for c# services. (#1978) 2017-03-10 11:18:00 -08:00
Samples Adding custom initialization method to model constructor (#1898) 2017-03-09 10:10:38 -08:00
Tools Honeymoon of C# and TypeScript (#2016) 2017-03-20 09:00:41 -07:00
docs Generating-a-client Inconsistent file name (#1895) 2017-03-08 09:25:28 -08:00
schema enable service teams to have a composite swagger with 1 spec, when the next one is going to come soon (#2009) 2017-03-13 19:30:01 -07:00
src Adding kind as an allowed top level property (#2029) 2017-03-20 13:52:39 -07:00
.gitattributes Bootstrapper (#1866) 2017-02-23 10:53:00 -08:00
.gitignore TS things (#1894) 2017-03-02 17:10:25 -08:00
.ruby-version
.travis.yml Travis Improvements (#1902) 2017-03-03 18:37:51 -08:00
AutoRest.sln some sanity (#1838) 2017-02-16 10:09:33 -08:00
AutoRest.sln.DotSettings Update entire build system to use Dotnet-CLI tools (-004812 or higher!) (#1827) 2017-02-14 13:28:57 -08:00
ChangeLog.md Adding release notes for 0.16.0 release 2016-05-11 15:41:15 -07:00
Dockerfile Add @lmazuel's Dockerfile from lmazuel/autorest-docker 2017-03-10 09:33:04 -08:00
Gemfile
Issues.md Page with links to Issues Queries 2016-06-15 14:02:05 -07:00
LICENSE update copyright year 2016-08-19 15:55:59 -07:00
README.md Update README.md 2017-02-28 14:29:05 -08:00
VERSION udpateing build (#1837) 2017-02-15 13:24:32 -08:00
global.json Update entire build system to use Dotnet-CLI tools (-004812 or higher!) (#1827) 2017-02-14 13:28:57 -08:00
gulpfile.iced Marriage of TS and CS (#1991) 2017-03-14 16:49:01 -07:00
package.json Refine build (#1971) 2017-03-08 13:44:29 -08:00
pom.xml Fixed tests 2017-02-28 17:18:33 -08:00

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.

Repo Status Issue Stats Issue Stats

What's New (02/24/2017)

AutoRest has been thru a lot of changes recently, most notably:

  • we've switched to building the core components with the latest dotnet-cli tools, and the binaries are build for .NET Core 1.0 (aka 'CoreCLR')
  • we're starting to build some of the components in NodeJS - this allows us to leverage all sorts of other great functionality with less coding effort
  • we have a great cross-platform installation model for Windows, Mac OSX and Linux, which is built on top of NodeJS's npm package manager

Why did you change that?

Previously, in order to get AutoRest, you had to either get an older version from Chocolatey, or install a 'nightly' build from the MyGet feed using the NuGet tool. This didn't make it easier to keep up-to-date with AutoRest (as development happens pretty fast these days!), and often bugs were getting fixed and it was a pain for users to get the updated binaries.

Now, you can "install" AutoRest just once, and AutoRest itself has the ability to download and install any updates, as well as allowing the user to choose any arbitrary build at runtime, and it will use the requested verion.

This will let you install a 'release' version of AutoRest, and use that, but if you want to test a new nightly or preview version, you can just ask for it on the command line.

Additionally, we're making AutoRest work in multiple environments, (including a upcoming Visual Studio Code extension), and using this model, AutoRest will give exactly the same results from the command line as in the IDE, without having to manually fight to switch versions when you want.

Installing Autorest

Installing AutoRest on Windows, MacOS or Linux involves two steps:

  1. Install Node.js (6.9.5 or greater)

for more help, check out Installing Node.JS on different platforms

  1. 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

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.3 -- 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:

  • Remove/Uninstall - not yet implemented
  • Upgrade - minimally tested
  • About and Project buttons - not yet implemented
  • not yet codesiged
  • no silent/unattended mode yet

    image

Getting Started using AutoRest image

Start by reading the documentation for using AutoRest:

Developers image

Get yourself up and coding in AutoRest

Some information about the internal AutoRest architecture (may need updating!):


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.