Skip to content
BugDiver edited this page Nov 5, 2020 · 3 revisions

API

There are different Request/Response for Language, Reporting and IDE Plugins. The services are in here

The following sections details out Requests/Responses for different category of plugins.

Language Plugin

Gauge will make gRPC calls with request as parameters and Language Plugin will perform actions based on request and return the response back.

Reporting Plugin

Gauge will keep notifying the reporting plugins about the current execution status by making gRPC calls at various stages. The plugin can use this information create live report, or store the inforamtion and generatestatic report at the end of the execution. Gauge also make an call with accumulated result at the end of the execution so that, the plugins do not have to do this. Plugins which only intenrested in the end result cvan just use that call to get the result and convert it into desired reporting format,

html-report and xml-report are example of static reporter. Where as Flash is an example of a live reporting plugin.

IDE Plugin

Gauge can be lauched as LSP(Language Server Protocol) Server. Ant IDE which has support for LSP cleint can run gauge as daemon and connect to the lsp server to provide IDE features. Read more about Language Server Protocol

gauge-vscode is an example of and IDE plugin which add IDE features for Gauge in Visual Studio Code.

Documentation Plugin

Guage supports a diffrenet kind of plugin, which can generate documentation from the Gauge Specification into desired format. Currently gauge has a official plugin call spectacle which converts gauge specification into HTML pages, and provide add additional features on the generated HTML such as filtering, searching etc.

When invoked the documation plugin start as gRPC server, gauge connects to it an make gRPC call passing all information about the specification in the current project. Then plugin can convert it into desired format.