amarzavery / AutoRest

AutoRest

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AutoRest
Repo Status

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

What's New (06/14/2017)

AutoRest has shipped a Stable build!

Starting with the current version of AutoRest in npm (v 1.1.0), AutoRest will by default only look at release builds of the AutoRest core. and will be available in both stable and prerelease builds.

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:

  1. Install Node.js (7.10.0 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

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:

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


![image](https://cloud.githubusercontent.com/assets/133736/23370663/440ff1c4-fcca-11e6-9b66-5e0da642af55.png)

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.

About

AutoRest

License:MIT License


Languages

Language:C# 45.9%Language:Java 24.0%Language:JavaScript 21.1%Language:Python 6.3%Language:TypeScript 1.4%Language:Ruby 0.6%Language:Go 0.5%Language:CoffeeScript 0.2%Language:PowerShell 0.1%Language:HTML 0.0%Language:Shell 0.0%Language:CSS 0.0%Language:Batchfile 0.0%