Commit 11d9e6e3 authored by Cristian Maglie's avatar Cristian Maglie

Implemented Version grpc command

parent b951097a
......@@ -32,7 +32,7 @@ import (
"github.com/arduino/arduino-cli/commands/config"
"github.com/arduino/arduino-cli/commands/generatedocs"
"github.com/arduino/arduino-cli/commands/sketch"
"github.com/arduino/arduino-cli/commands/version"
"github.com/arduino/arduino-cli/cli/version"
"github.com/arduino/arduino-cli/common/formatter"
"github.com/arduino/arduino-cli/configs"
paths "github.com/arduino/go-paths-helper"
......@@ -42,7 +42,7 @@ import (
"golang.org/x/crypto/ssh/terminal"
)
// Init prepares the cobra root command.
// Init prepares the cobra root command.
func Init() *cobra.Command {
command := &cobra.Command{
Use: "arduino-cli",
......
......@@ -18,10 +18,9 @@
package version
import (
"fmt"
"github.com/arduino/arduino-cli/cli"
"github.com/arduino/arduino-cli/common/formatter"
"github.com/arduino/arduino-cli/common/formatter/output"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)
......@@ -38,11 +37,17 @@ func InitCommand() *cobra.Command {
return versionCommand
}
type versionOutput struct {
Command string `json:"command"`
Version string `json:"version"`
}
func run(cmd *cobra.Command, args []string) {
logrus.Info("Calling version command on `arduino`")
versionInfo := output.VersionResult{
CommandName: cmd.Parent().Name(),
Version: cli.Version,
res := &versionOutput{
Command: cmd.Parent().Name(),
Version: cli.Version,
}
if cli.OutputJSONOrElse(res) {
fmt.Printf("%s version %s\n", res.Command, res.Version)
}
formatter.Print(versionInfo)
}
/*
* This file is part of arduino-cli.
*
* Copyright 2018 ARDUINO SA (http://www.arduino.cc/)
*
* This software is released under the GNU General Public License version 3,
* which covers the main part of arduino-cli.
* The terms of this license can be found at:
* https://www.gnu.org/licenses/gpl-3.0.en.html
*
* You can be released from the requirements of the above licenses by purchasing
* a commercial license. Buying such a license is mandatory if you want to modify or
* otherwise use the software for commercial activities involving the Arduino
* software without disclosing the source code of your own applications. To purchase
* a commercial license, send an email to license@arduino.cc.
*/
package output
import "fmt"
// VersionResult represents the output of the version commands.
type VersionResult struct {
CommandName string `json:"command,required"`
Version string `json:"version,required"`
}
func (vr VersionResult) String() string {
return fmt.Sprintf("%s version %s", vr.CommandName, vr.Version)
}
......@@ -44,6 +44,15 @@ func main() {
client := rpc.NewArduinoCoreClient(conn)
fmt.Println()
// VERSION
fmt.Println("=== calling Version")
versionResp, err := client.Version(context.Background(), &rpc.VersionReq{})
if err != nil {
fmt.Printf("Error getting version: %s\n", err)
os.Exit(1)
}
fmt.Printf("---> %+v\n\v", versionResp)
// INIT
fmt.Println("=== calling Init")
initRespStream, err := client.Init(context.Background(), &rpc.InitReq{
......
......@@ -26,6 +26,7 @@ import (
"log"
"net"
"github.com/arduino/arduino-cli/cli"
"github.com/arduino/arduino-cli/commands"
"github.com/arduino/arduino-cli/commands/board"
"github.com/arduino/arduino-cli/commands/compile"
......@@ -119,6 +120,10 @@ func (s *ArduinoCoreServerImpl) Init(req *rpc.InitReq, stream rpc.ArduinoCore_In
return stream.Send(resp)
}
func (s *ArduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionReq) (*rpc.VersionResp, error) {
return &rpc.VersionResp{Version: cli.Version}, nil
}
func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileReq, stream rpc.ArduinoCore_CompileServer) error {
resp, err := compile.Compile(
stream.Context(), req,
......
......@@ -46,7 +46,7 @@ func (m *Configuration) Reset() { *m = Configuration{} }
func (m *Configuration) String() string { return proto.CompactTextString(m) }
func (*Configuration) ProtoMessage() {}
func (*Configuration) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{0}
return fileDescriptor_commands_92dd81084d7f582d, []int{0}
}
func (m *Configuration) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Configuration.Unmarshal(m, b)
......@@ -106,7 +106,7 @@ func (m *InitReq) Reset() { *m = InitReq{} }
func (m *InitReq) String() string { return proto.CompactTextString(m) }
func (*InitReq) ProtoMessage() {}
func (*InitReq) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{1}
return fileDescriptor_commands_92dd81084d7f582d, []int{1}
}
func (m *InitReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InitReq.Unmarshal(m, b)
......@@ -155,7 +155,7 @@ func (m *InitResp) Reset() { *m = InitResp{} }
func (m *InitResp) String() string { return proto.CompactTextString(m) }
func (*InitResp) ProtoMessage() {}
func (*InitResp) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{2}
return fileDescriptor_commands_92dd81084d7f582d, []int{2}
}
func (m *InitResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InitResp.Unmarshal(m, b)
......@@ -221,7 +221,7 @@ func (m *DestroyReq) Reset() { *m = DestroyReq{} }
func (m *DestroyReq) String() string { return proto.CompactTextString(m) }
func (*DestroyReq) ProtoMessage() {}
func (*DestroyReq) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{3}
return fileDescriptor_commands_92dd81084d7f582d, []int{3}
}
func (m *DestroyReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DestroyReq.Unmarshal(m, b)
......@@ -258,7 +258,7 @@ func (m *DestroyResp) Reset() { *m = DestroyResp{} }
func (m *DestroyResp) String() string { return proto.CompactTextString(m) }
func (*DestroyResp) ProtoMessage() {}
func (*DestroyResp) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{4}
return fileDescriptor_commands_92dd81084d7f582d, []int{4}
}
func (m *DestroyResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DestroyResp.Unmarshal(m, b)
......@@ -289,7 +289,7 @@ func (m *RescanReq) Reset() { *m = RescanReq{} }
func (m *RescanReq) String() string { return proto.CompactTextString(m) }
func (*RescanReq) ProtoMessage() {}
func (*RescanReq) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{5}
return fileDescriptor_commands_92dd81084d7f582d, []int{5}
}
func (m *RescanReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RescanReq.Unmarshal(m, b)
......@@ -328,7 +328,7 @@ func (m *RescanResp) Reset() { *m = RescanResp{} }
func (m *RescanResp) String() string { return proto.CompactTextString(m) }
func (*RescanResp) ProtoMessage() {}
func (*RescanResp) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{6}
return fileDescriptor_commands_92dd81084d7f582d, []int{6}
}
func (m *RescanResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RescanResp.Unmarshal(m, b)
......@@ -373,7 +373,7 @@ func (m *UpdateIndexReq) Reset() { *m = UpdateIndexReq{} }
func (m *UpdateIndexReq) String() string { return proto.CompactTextString(m) }
func (*UpdateIndexReq) ProtoMessage() {}
func (*UpdateIndexReq) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{7}
return fileDescriptor_commands_92dd81084d7f582d, []int{7}
}
func (m *UpdateIndexReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateIndexReq.Unmarshal(m, b)
......@@ -411,7 +411,7 @@ func (m *UpdateIndexResp) Reset() { *m = UpdateIndexResp{} }
func (m *UpdateIndexResp) String() string { return proto.CompactTextString(m) }
func (*UpdateIndexResp) ProtoMessage() {}
func (*UpdateIndexResp) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{8}
return fileDescriptor_commands_92dd81084d7f582d, []int{8}
}
func (m *UpdateIndexResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateIndexResp.Unmarshal(m, b)
......@@ -449,7 +449,7 @@ func (m *UpdateLibrariesIndexReq) Reset() { *m = UpdateLibrariesIndexReq
func (m *UpdateLibrariesIndexReq) String() string { return proto.CompactTextString(m) }
func (*UpdateLibrariesIndexReq) ProtoMessage() {}
func (*UpdateLibrariesIndexReq) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{9}
return fileDescriptor_commands_92dd81084d7f582d, []int{9}
}
func (m *UpdateLibrariesIndexReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateLibrariesIndexReq.Unmarshal(m, b)
......@@ -487,7 +487,7 @@ func (m *UpdateLibrariesIndexResp) Reset() { *m = UpdateLibrariesIndexRe
func (m *UpdateLibrariesIndexResp) String() string { return proto.CompactTextString(m) }
func (*UpdateLibrariesIndexResp) ProtoMessage() {}
func (*UpdateLibrariesIndexResp) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_3105cb0692c6bdca, []int{10}
return fileDescriptor_commands_92dd81084d7f582d, []int{10}
}
func (m *UpdateLibrariesIndexResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateLibrariesIndexResp.Unmarshal(m, b)
......@@ -514,6 +514,74 @@ func (m *UpdateLibrariesIndexResp) GetDownloadProgress() *DownloadProgress {
return nil
}
type VersionReq struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VersionReq) Reset() { *m = VersionReq{} }
func (m *VersionReq) String() string { return proto.CompactTextString(m) }
func (*VersionReq) ProtoMessage() {}
func (*VersionReq) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_92dd81084d7f582d, []int{11}
}
func (m *VersionReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VersionReq.Unmarshal(m, b)
}
func (m *VersionReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VersionReq.Marshal(b, m, deterministic)
}
func (dst *VersionReq) XXX_Merge(src proto.Message) {
xxx_messageInfo_VersionReq.Merge(dst, src)
}
func (m *VersionReq) XXX_Size() int {
return xxx_messageInfo_VersionReq.Size(m)
}
func (m *VersionReq) XXX_DiscardUnknown() {
xxx_messageInfo_VersionReq.DiscardUnknown(m)
}
var xxx_messageInfo_VersionReq proto.InternalMessageInfo
type VersionResp struct {
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *VersionResp) Reset() { *m = VersionResp{} }
func (m *VersionResp) String() string { return proto.CompactTextString(m) }
func (*VersionResp) ProtoMessage() {}
func (*VersionResp) Descriptor() ([]byte, []int) {
return fileDescriptor_commands_92dd81084d7f582d, []int{12}
}
func (m *VersionResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VersionResp.Unmarshal(m, b)
}
func (m *VersionResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_VersionResp.Marshal(b, m, deterministic)
}
func (dst *VersionResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_VersionResp.Merge(dst, src)
}
func (m *VersionResp) XXX_Size() int {
return xxx_messageInfo_VersionResp.Size(m)
}
func (m *VersionResp) XXX_DiscardUnknown() {
xxx_messageInfo_VersionResp.DiscardUnknown(m)
}
var xxx_messageInfo_VersionResp proto.InternalMessageInfo
func (m *VersionResp) GetVersion() string {
if m != nil {
return m.Version
}
return ""
}
func init() {
proto.RegisterType((*Configuration)(nil), "cc.arduino.core.rpc.Configuration")
proto.RegisterType((*InitReq)(nil), "cc.arduino.core.rpc.InitReq")
......@@ -526,6 +594,8 @@ func init() {
proto.RegisterType((*UpdateIndexResp)(nil), "cc.arduino.core.rpc.UpdateIndexResp")
proto.RegisterType((*UpdateLibrariesIndexReq)(nil), "cc.arduino.core.rpc.UpdateLibrariesIndexReq")
proto.RegisterType((*UpdateLibrariesIndexResp)(nil), "cc.arduino.core.rpc.UpdateLibrariesIndexResp")
proto.RegisterType((*VersionReq)(nil), "cc.arduino.core.rpc.VersionReq")
proto.RegisterType((*VersionResp)(nil), "cc.arduino.core.rpc.VersionResp")
}
// Reference imports to suppress errors if they are not otherwise used.
......@@ -550,6 +620,7 @@ type ArduinoCoreClient interface {
UpdateIndex(ctx context.Context, in *UpdateIndexReq, opts ...grpc.CallOption) (ArduinoCore_UpdateIndexClient, error)
// Update libraries index
UpdateLibrariesIndex(ctx context.Context, in *UpdateLibrariesIndexReq, opts ...grpc.CallOption) (ArduinoCore_UpdateLibrariesIndexClient, error)
Version(ctx context.Context, in *VersionReq, opts ...grpc.CallOption) (*VersionResp, error)
// Requests details about a board
BoardDetails(ctx context.Context, in *BoardDetailsReq, opts ...grpc.CallOption) (*BoardDetailsResp, error)
BoardAttach(ctx context.Context, in *BoardAttachReq, opts ...grpc.CallOption) (ArduinoCore_BoardAttachClient, error)
......@@ -693,6 +764,15 @@ func (x *arduinoCoreUpdateLibrariesIndexClient) Recv() (*UpdateLibrariesIndexRes
return m, nil
}
func (c *arduinoCoreClient) Version(ctx context.Context, in *VersionReq, opts ...grpc.CallOption) (*VersionResp, error) {
out := new(VersionResp)
err := c.cc.Invoke(ctx, "/cc.arduino.core.rpc.ArduinoCore/Version", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *arduinoCoreClient) BoardDetails(ctx context.Context, in *BoardDetailsReq, opts ...grpc.CallOption) (*BoardDetailsResp, error) {
out := new(BoardDetailsResp)
err := c.cc.Invoke(ctx, "/cc.arduino.core.rpc.ArduinoCore/BoardDetails", in, out, opts...)
......@@ -1120,6 +1200,7 @@ type ArduinoCoreServer interface {
UpdateIndex(*UpdateIndexReq, ArduinoCore_UpdateIndexServer) error
// Update libraries index
UpdateLibrariesIndex(*UpdateLibrariesIndexReq, ArduinoCore_UpdateLibrariesIndexServer) error
Version(context.Context, *VersionReq) (*VersionResp, error)
// Requests details about a board
BoardDetails(context.Context, *BoardDetailsReq) (*BoardDetailsResp, error)
BoardAttach(*BoardAttachReq, ArduinoCore_BoardAttachServer) error
......@@ -1244,6 +1325,24 @@ func (x *arduinoCoreUpdateLibrariesIndexServer) Send(m *UpdateLibrariesIndexResp
return x.ServerStream.SendMsg(m)
}
func _ArduinoCore_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(VersionReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ArduinoCoreServer).Version(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/cc.arduino.core.rpc.ArduinoCore/Version",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ArduinoCoreServer).Version(ctx, req.(*VersionReq))
}
return interceptor(ctx, in, info, handler)
}
func _ArduinoCore_BoardDetails_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(BoardDetailsReq)
if err := dec(in); err != nil {
......@@ -1613,6 +1712,10 @@ var _ArduinoCore_serviceDesc = grpc.ServiceDesc{
MethodName: "Rescan",
Handler: _ArduinoCore_Rescan_Handler,
},
{
MethodName: "Version",
Handler: _ArduinoCore_Version_Handler,
},
{
MethodName: "BoardDetails",
Handler: _ArduinoCore_BoardDetails_Handler,
......@@ -1717,68 +1820,70 @@ var _ArduinoCore_serviceDesc = grpc.ServiceDesc{
Metadata: "commands.proto",
}
func init() { proto.RegisterFile("commands.proto", fileDescriptor_commands_3105cb0692c6bdca) }
var fileDescriptor_commands_3105cb0692c6bdca = []byte{
// 955 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x97, 0xdd, 0x72, 0x1b, 0x35,
0x14, 0xc7, 0x71, 0x5a, 0x9a, 0xe4, 0xd8, 0x4e, 0x1b, 0x35, 0x40, 0x66, 0x87, 0xd2, 0x74, 0xeb,
0x24, 0x2d, 0x43, 0xdd, 0x4e, 0xe0, 0x86, 0x1b, 0x66, 0xdc, 0x98, 0x96, 0x4c, 0x0b, 0x74, 0x96,
0x7a, 0x86, 0x29, 0x0c, 0x1e, 0x79, 0x57, 0x71, 0x34, 0x59, 0xaf, 0x16, 0x69, 0x4d, 0xf1, 0x03,
0xf0, 0x12, 0xbc, 0x06, 0x8f, 0xc1, 0x4b, 0x21, 0x69, 0xa5, 0xb5, 0xd7, 0xd9, 0x5d, 0x2f, 0xf5,
0xf4, 0xca, 0x96, 0xce, 0xef, 0x7c, 0xe8, 0xe8, 0x7f, 0x14, 0x07, 0x76, 0x7c, 0x36, 0x99, 0xe0,
0x28, 0x10, 0xdd, 0x98, 0xb3, 0x84, 0xa1, 0xdb, 0xbe, 0xdf, 0xc5, 0x3c, 0x98, 0xd2, 0x88, 0x75,
0x7d, 0xc6, 0x49, 0x97, 0xc7, 0xbe, 0xd3, 0x52, 0x10, 0x8b, 0x52, 0xc4, 0x69, 0x8e, 0x98, 0x24,
0xcc, 0xa2, 0x2d, 0x4d, 0x31, 0x0d, 0x89, 0x59, 0x82, 0xf6, 0x49, 0xbf, 0xb7, 0xa6, 0x71, 0xc8,
0xb0, 0x05, 0xb7, 0x43, 0x3a, 0x4a, 0xbf, 0xba, 0xff, 0x34, 0xa0, 0x7d, 0xca, 0xa2, 0x73, 0x3a,
0x9e, 0x72, 0x9c, 0x50, 0x16, 0xa1, 0x7d, 0xd8, 0x0c, 0x70, 0x82, 0xfb, 0x94, 0xef, 0x37, 0x0e,
0x1a, 0x0f, 0xb6, 0x3d, 0xbb, 0x44, 0x1d, 0x68, 0x8b, 0x4b, 0x92, 0xf8, 0x17, 0x23, 0xc6, 0x2e,
0x95, 0x7d, 0x43, 0xdb, 0xf3, 0x9b, 0xc8, 0x85, 0x56, 0xc0, 0xde, 0x46, 0x2a, 0x9d, 0x50, 0xd0,
0x35, 0x0d, 0xe5, 0xf6, 0xd0, 0x37, 0xe0, 0xe8, 0xc2, 0xbf, 0xc7, 0x11, 0x1e, 0x13, 0xde, 0x0b,
0x02, 0xaa, 0x72, 0xe3, 0x70, 0xc0, 0x43, 0xb1, 0x7f, 0xfd, 0xe0, 0x9a, 0xf4, 0xa8, 0x20, 0xdc,
0xbf, 0x1a, 0xb0, 0x79, 0x16, 0xd1, 0xc4, 0x23, 0xbf, 0xa3, 0xef, 0x40, 0x9e, 0x7b, 0xe1, 0x00,
0xba, 0xea, 0xe6, 0x89, 0xdb, 0x2d, 0xe8, 0x5e, 0x37, 0x77, 0x54, 0x2f, 0xef, 0x88, 0x9e, 0xc0,
0x9e, 0x6c, 0x0c, 0xc7, 0x7c, 0x36, 0x9c, 0xa4, 0x69, 0x87, 0x2c, 0x0a, 0x67, 0xfa, 0x98, 0x5b,
0x1e, 0x32, 0x36, 0x53, 0xd1, 0x8f, 0xd2, 0xe2, 0xfe, 0xbb, 0x01, 0x5b, 0x69, 0x1d, 0x22, 0x46,
0x5f, 0xc3, 0x16, 0x8d, 0x44, 0x82, 0x23, 0x9f, 0x98, 0x1a, 0xee, 0x14, 0xd6, 0x70, 0x66, 0x20,
0x2f, 0xc3, 0xd1, 0x57, 0xf0, 0x71, 0x1c, 0xe2, 0xe4, 0x9c, 0xf1, 0x89, 0x18, 0xd2, 0x28, 0x20,
0x7f, 0x0e, 0x09, 0xe7, 0x8c, 0x0b, 0x99, 0x5b, 0xf5, 0x62, 0x2f, 0xb3, 0x9e, 0x29, 0xe3, 0xb7,
0xda, 0x86, 0x4e, 0xe0, 0xa3, 0xb4, 0x26, 0x4a, 0x72, 0x5e, 0xa6, 0xe5, 0xb7, 0x33, 0xe3, 0xdc,
0x09, 0x79, 0xb0, 0x6b, 0x6f, 0x62, 0x28, 0x15, 0x30, 0xe6, 0x44, 0xa8, 0x86, 0xab, 0x6a, 0x0f,
0x0b, 0xab, 0xed, 0x1b, 0xfa, 0x95, 0x81, 0xbd, 0x5b, 0xc1, 0xd2, 0x0e, 0x7a, 0x06, 0xed, 0x04,
0x8b, 0xcb, 0x79, 0xbc, 0x0f, 0x75, 0xbc, 0x7b, 0x85, 0xf1, 0x5e, 0x4b, 0x32, 0x8b, 0xd5, 0x4a,
0x16, 0x56, 0xee, 0x73, 0x80, 0x3e, 0x11, 0x09, 0x67, 0x33, 0x75, 0xaf, 0xef, 0xde, 0x4e, 0xb7,
0x0d, 0xcd, 0x2c, 0x90, 0x88, 0xdd, 0x67, 0xb0, 0x2d, 0x3f, 0x7d, 0x1c, 0xad, 0x19, 0xf6, 0x0f,
0x00, 0x1b, 0x47, 0x5e, 0x77, 0xf9, 0x9d, 0x35, 0xde, 0xe5, 0xce, 0x36, 0x4a, 0xef, 0xcc, 0x7d,
0x01, 0x3b, 0x83, 0x58, 0x0e, 0x21, 0xd1, 0x7b, 0x6b, 0x1e, 0x82, 0xc0, 0xcd, 0x5c, 0x30, 0x79,
0x92, 0x42, 0x4d, 0x34, 0xd6, 0xd2, 0x84, 0xfb, 0x1a, 0x3e, 0x49, 0xd3, 0xbc, 0xcc, 0x1d, 0x68,
0xcd, 0xe2, 0x23, 0xd8, 0x2f, 0x8e, 0xfa, 0x7e, 0x4e, 0x71, 0xf2, 0xf7, 0x2e, 0x34, 0x7b, 0xa9,
0xdf, 0xa9, 0x74, 0x43, 0xcf, 0xe1, 0xba, 0x1a, 0x77, 0xf4, 0x69, 0x49, 0xc1, 0xfa, 0x45, 0x72,
0xee, 0x54, 0x58, 0xa5, 0x1c, 0x3f, 0x78, 0xd2, 0x40, 0x3f, 0xc0, 0xa6, 0x51, 0x28, 0xba, 0x5b,
0x5c, 0x5c, 0x36, 0x08, 0xce, 0x41, 0x35, 0xa0, 0x22, 0xa2, 0x17, 0x70, 0x23, 0x95, 0x26, 0xfa,
0xac, 0x90, 0xce, 0xf4, 0xef, 0xdc, 0xad, 0xb4, 0xeb, 0x60, 0xbf, 0x42, 0x73, 0x41, 0x22, 0xe8,
0x7e, 0xa1, 0x47, 0x5e, 0x91, 0x4e, 0x67, 0x35, 0x64, 0x8e, 0xfe, 0x16, 0xf6, 0x8a, 0xee, 0x10,
0x7d, 0x51, 0x11, 0xe1, 0x8a, 0x88, 0x9c, 0x47, 0xff, 0x83, 0x36, 0x89, 0x7f, 0x81, 0xd6, 0x53,
0xf5, 0x27, 0xa5, 0x4f, 0x12, 0x4c, 0x43, 0x81, 0x8a, 0x4b, 0x5e, 0x44, 0x54, 0xa2, 0xc3, 0x1a,
0x94, 0x54, 0xdf, 0x1b, 0x68, 0xea, 0xbd, 0x5e, 0x92, 0x60, 0xff, 0xa2, 0xa4, 0x67, 0x0b, 0x44,
0x79, 0xcf, 0x72, 0x90, 0x88, 0x65, 0xe1, 0x1e, 0x6c, 0xeb, 0xcd, 0x97, 0x54, 0x24, 0xe8, 0x5e,
0xb9, 0x93, 0xb2, 0xab, 0xb8, 0xee, 0x2a, 0x44, 0xd6, 0x6b, 0x9b, 0xa1, 0x36, 0x7a, 0x61, 0x58,
0xd5, 0x0c, 0x83, 0xac, 0x68, 0x46, 0x46, 0xc9, 0xe0, 0x52, 0xdd, 0xa7, 0xe9, 0x4f, 0x91, 0x12,
0x75, 0x1b, 0x6b, 0xb9, 0xba, 0x33, 0x40, 0x37, 0xe0, 0x1c, 0x6e, 0xbe, 0x32, 0x8f, 0xa9, 0x7e,
0x14, 0x64, 0xbd, 0xc7, 0x85, 0x6e, 0x4b, 0x94, 0x8a, 0xff, 0xa0, 0x1e, 0xa8, 0xf3, 0x50, 0xb8,
0x65, 0x0d, 0xf6, 0x71, 0x40, 0xd5, 0xfe, 0x16, 0x53, 0x99, 0x1e, 0xd6, 0x24, 0x75, 0xaa, 0x10,
0x76, 0xad, 0x65, 0x10, 0x51, 0x73, 0xa8, 0xea, 0x08, 0x19, 0xa7, 0x92, 0x7d, 0x5e, 0x17, 0x5d,
0x6e, 0xe0, 0x20, 0x1e, 0x73, 0x1c, 0x90, 0x15, 0x0d, 0x34, 0xd4, 0xea, 0x06, 0x66, 0xa0, 0xce,
0x23, 0x9f, 0xa1, 0x81, 0xfe, 0xa1, 0x59, 0xf2, 0x0c, 0xa5, 0xc6, 0xf2, 0x67, 0xc8, 0xda, 0x75,
0x30, 0x0c, 0x3b, 0x36, 0xcb, 0x4f, 0x04, 0x73, 0x39, 0x55, 0x47, 0x95, 0xa5, 0xa4, 0x90, 0x0a,
0x7e, 0x5c, 0x8b, 0x4b, 0xa7, 0xc0, 0xee, 0xea, 0xe1, 0xea, 0x54, 0x3a, 0xda, 0xf9, 0x3a, 0xac,
0x41, 0xc9, 0xe0, 0xb2, 0xe9, 0xe9, 0x4b, 0x34, 0xcb, 0xc4, 0x54, 0x5c, 0xd8, 0x12, 0x55, 0xde,
0xf4, 0x2b, 0xa0, 0xee, 0x93, 0x0f, 0x3b, 0xc6, 0x60, 0x87, 0xe3, 0xa8, 0xca, 0x7b, 0x61, 0x36,
0x8e, 0x6b, 0x71, 0x76, 0x34, 0xcc, 0xfe, 0x5c, 0xae, 0x95, 0x45, 0xe6, 0xd4, 0xfa, 0xb0, 0x26,
0x69, 0x47, 0xc3, 0x5a, 0x52, 0x71, 0xf5, 0x4a, 0x47, 0xe3, 0x0a, 0x57, 0x3e, 0x1a, 0x05, 0xa8,
0xce, 0xf6, 0x1b, 0xb4, 0x8d, 0xc9, 0x88, 0xec, 0xb0, 0xca, 0x7d, 0xae, 0xb1, 0xa3, 0x3a, 0x98,
0x54, 0xc1, 0xcf, 0xd0, 0x34, 0x9b, 0x5a, 0x61, 0xf7, 0xab, 0xdc, 0xac, 0xc0, 0x3a, 0xab, 0x21,
0x11, 0x3f, 0xed, 0xbc, 0x71, 0xc7, 0x34, 0xb9, 0x98, 0x8e, 0x24, 0x32, 0x79, 0x6c, 0x70, 0xfb,
0xf9, 0xc8, 0x0f, 0xe9, 0x63, 0xe9, 0x35, 0xba, 0xa1, 0xff, 0xcf, 0xfb, 0xf2, 0xbf, 0x00, 0x00,
0x00, 0xff, 0xff, 0x64, 0x89, 0x9b, 0xca, 0x5d, 0x0e, 0x00, 0x00,
func init() { proto.RegisterFile("commands.proto", fileDescriptor_commands_92dd81084d7f582d) }
var fileDescriptor_commands_92dd81084d7f582d = []byte{
// 992 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x97, 0xdd, 0x72, 0xdb, 0x44,
0x14, 0x80, 0x71, 0x5a, 0x9a, 0xe4, 0xd8, 0x4e, 0x9b, 0x6d, 0x80, 0x8c, 0x86, 0xd2, 0x54, 0x75,
0x92, 0x96, 0xa1, 0x6e, 0x27, 0x70, 0xc3, 0x0d, 0x33, 0x6e, 0x42, 0x4b, 0xa6, 0x05, 0x3a, 0xa2,
0x66, 0x98, 0xc2, 0xe0, 0x59, 0x4b, 0x1b, 0x67, 0x27, 0xb2, 0x56, 0xdd, 0x55, 0x5a, 0xf2, 0x00,
0x3c, 0x11, 0x8f, 0xc1, 0x9b, 0xf0, 0x14, 0xec, 0xaf, 0x6c, 0x25, 0x92, 0x2c, 0x92, 0xe1, 0xca,
0xde, 0x3d, 0xdf, 0xf9, 0xd9, 0xf3, 0x17, 0x07, 0xd6, 0x42, 0x36, 0x9d, 0xe2, 0x24, 0x12, 0xfd,
0x94, 0xb3, 0x8c, 0xa1, 0xdb, 0x61, 0xd8, 0xc7, 0x3c, 0x3a, 0xa5, 0x09, 0xeb, 0x87, 0x8c, 0x93,
0x3e, 0x4f, 0x43, 0xaf, 0xa3, 0x20, 0x96, 0x18, 0xc4, 0x6b, 0x8f, 0x99, 0x24, 0xec, 0xa1, 0x2b,
0x45, 0x29, 0x8d, 0x89, 0x3d, 0x82, 0xd6, 0x31, 0xdf, 0x3b, 0xa7, 0x69, 0xcc, 0xb0, 0x03, 0x57,
0x63, 0x3a, 0x36, 0x5f, 0xfd, 0xbf, 0x5a, 0xd0, 0xdd, 0x67, 0xc9, 0x11, 0x9d, 0x9c, 0x72, 0x9c,
0x51, 0x96, 0xa0, 0x4d, 0x58, 0x8e, 0x70, 0x86, 0x0f, 0x28, 0xdf, 0x6c, 0x6d, 0xb5, 0x1e, 0xac,
0x06, 0xee, 0x88, 0x7a, 0xd0, 0x15, 0x27, 0x24, 0x0b, 0x8f, 0xc7, 0x8c, 0x9d, 0x28, 0xf9, 0x92,
0x96, 0x17, 0x2f, 0x91, 0x0f, 0x9d, 0x88, 0xbd, 0x4f, 0x94, 0x3b, 0xa1, 0xa0, 0x6b, 0x1a, 0x2a,
0xdc, 0xa1, 0x6f, 0xc0, 0xd3, 0x81, 0x7f, 0x8f, 0x13, 0x3c, 0x21, 0x7c, 0x10, 0x45, 0x54, 0xf9,
0xc6, 0xf1, 0x90, 0xc7, 0x62, 0xf3, 0xfa, 0xd6, 0x35, 0xa9, 0x51, 0x43, 0xf8, 0x7f, 0xb6, 0x60,
0xf9, 0x30, 0xa1, 0x59, 0x40, 0xde, 0xa2, 0xef, 0x40, 0xbe, 0x7b, 0xee, 0x01, 0x3a, 0xea, 0xf6,
0x9e, 0xdf, 0x2f, 0xc9, 0x5e, 0xbf, 0xf0, 0xd4, 0xa0, 0xa8, 0x88, 0x9e, 0xc0, 0x86, 0x4c, 0x0c,
0xc7, 0xfc, 0x6c, 0x34, 0x35, 0x6e, 0x47, 0x2c, 0x89, 0xcf, 0xf4, 0x33, 0x57, 0x02, 0x64, 0x65,
0x36, 0xa2, 0x1f, 0xa5, 0xc4, 0xff, 0x7b, 0x09, 0x56, 0x4c, 0x1c, 0x22, 0x45, 0x5f, 0xc3, 0x0a,
0x4d, 0x44, 0x86, 0x93, 0x90, 0xd8, 0x18, 0xee, 0x94, 0xc6, 0x70, 0x68, 0xa1, 0x20, 0xc7, 0xd1,
0x57, 0xf0, 0x71, 0x1a, 0xe3, 0xec, 0x88, 0xf1, 0xa9, 0x18, 0xd1, 0x24, 0x22, 0x7f, 0x8c, 0x08,
0xe7, 0x8c, 0x0b, 0xe9, 0x5b, 0xe5, 0x62, 0x23, 0x97, 0x1e, 0x2a, 0xe1, 0xb7, 0x5a, 0x86, 0xf6,
0xe0, 0x23, 0x13, 0x13, 0x25, 0x05, 0x2d, 0x9b, 0xf2, 0xdb, 0xb9, 0x70, 0xa6, 0x84, 0x02, 0x58,
0x77, 0x95, 0x18, 0xc9, 0x0e, 0x98, 0x70, 0x22, 0x54, 0xc2, 0x55, 0xb4, 0xdb, 0xa5, 0xd1, 0x1e,
0x58, 0xfa, 0x95, 0x85, 0x83, 0x5b, 0xd1, 0xb9, 0x1b, 0xf4, 0x0c, 0xba, 0x19, 0x16, 0x27, 0x33,
0x7b, 0x1f, 0x6a, 0x7b, 0xf7, 0x4a, 0xed, 0xbd, 0x96, 0x64, 0x6e, 0xab, 0x93, 0xcd, 0x9d, 0xfc,
0xe7, 0x00, 0x07, 0x44, 0x64, 0x9c, 0x9d, 0xa9, 0xba, 0x5e, 0x3e, 0x9d, 0x7e, 0x17, 0xda, 0xb9,
0x21, 0x91, 0xfa, 0xcf, 0x60, 0x55, 0x7e, 0x86, 0x38, 0xb9, 0xa2, 0xd9, 0x77, 0x00, 0xce, 0x8e,
0x2c, 0x77, 0x75, 0xcd, 0x5a, 0x97, 0xa9, 0xd9, 0x52, 0x65, 0xcd, 0xfc, 0x17, 0xb0, 0x36, 0x4c,
0xe5, 0x10, 0x12, 0x7d, 0x77, 0xc5, 0x47, 0x10, 0xb8, 0x59, 0x30, 0x26, 0x5f, 0x52, 0xda, 0x13,
0xad, 0x2b, 0xf5, 0x84, 0xff, 0x1a, 0x3e, 0x31, 0x6e, 0x5e, 0x16, 0x1e, 0x74, 0xc5, 0xe0, 0x13,
0xd8, 0x2c, 0xb7, 0xfa, 0x3f, 0xbd, 0xa2, 0x03, 0xf0, 0x33, 0xe1, 0x42, 0xed, 0x0a, 0xf2, 0xd6,
0xdf, 0x85, 0x76, 0x7e, 0x92, 0x0e, 0xe5, 0xa2, 0x7c, 0x67, 0x8e, 0x6e, 0x51, 0xda, 0xe3, 0xde,
0x3f, 0xeb, 0xd0, 0x1e, 0x18, 0x77, 0xfb, 0xd2, 0x1b, 0x7a, 0x0e, 0xd7, 0xd5, 0x96, 0x40, 0x9f,
0x56, 0xbc, 0x53, 0x2f, 0x32, 0xef, 0x4e, 0x8d, 0x54, 0x76, 0xf1, 0x07, 0x4f, 0x5a, 0xe8, 0x07,
0x58, 0xb6, 0x8d, 0x8d, 0xee, 0x96, 0xbf, 0x29, 0x9f, 0x1f, 0x6f, 0xab, 0x1e, 0x50, 0x16, 0xd1,
0x0b, 0xb8, 0x61, 0x3a, 0x1a, 0x7d, 0x56, 0x4a, 0xe7, 0x63, 0xe3, 0xdd, 0xad, 0x95, 0x6b, 0x63,
0xbf, 0x41, 0x7b, 0xae, 0xb3, 0xd0, 0xfd, 0x52, 0x8d, 0x62, 0x23, 0x7b, 0xbd, 0xc5, 0x90, 0x7d,
0xfa, 0x7b, 0xd8, 0x28, 0x2b, 0x3d, 0xfa, 0xa2, 0xc6, 0xc2, 0x85, 0xde, 0xf3, 0x1e, 0xfd, 0x07,
0x7a, 0x96, 0x73, 0x5b, 0xf5, 0x8a, 0x9c, 0xcf, 0x3a, 0xa4, 0x22, 0xe7, 0x73, 0x4d, 0x23, 0xd3,
0xf4, 0x2b, 0x74, 0x9e, 0xaa, 0xbf, 0x6c, 0x07, 0x24, 0xc3, 0x34, 0x16, 0xa8, 0x3c, 0x05, 0xf3,
0x88, 0xb2, 0xbc, 0xdd, 0x80, 0x92, 0x3d, 0xf9, 0x06, 0xda, 0xfa, 0x6e, 0x90, 0x65, 0x38, 0x3c,
0xae, 0xa8, 0xc1, 0x1c, 0x51, 0x5d, 0x83, 0x02, 0x24, 0x52, 0x99, 0x88, 0x00, 0x56, 0xf5, 0xe5,
0x4b, 0x2a, 0x32, 0x74, 0xaf, 0x5a, 0x49, 0xc9, 0x95, 0x5d, 0x7f, 0x11, 0x22, 0xe3, 0x75, 0xc9,
0x50, 0x17, 0x83, 0x38, 0xae, 0x4b, 0x86, 0x45, 0x16, 0x24, 0x23, 0xa7, 0xa4, 0x71, 0x59, 0xb9,
0x7d, 0xf3, 0x8b, 0xa8, 0xa2, 0x72, 0x56, 0x5a, 0x5d, 0xb9, 0x1c, 0xd0, 0x09, 0x38, 0x82, 0x9b,
0xaf, 0xec, 0x4e, 0xd7, 0xbb, 0x49, 0xc6, 0xbb, 0x5b, 0xaa, 0x76, 0x8e, 0x52, 0xf6, 0x1f, 0x34,
0x03, 0xb5, 0x1f, 0x0a, 0xb7, 0x9c, 0xc0, 0xed, 0x28, 0x54, 0xaf, 0xef, 0x30, 0xe5, 0xe9, 0x61,
0x43, 0x52, 0xbb, 0x8a, 0x61, 0xdd, 0x49, 0x86, 0x09, 0xb5, 0x8f, 0xaa, 0xb7, 0x90, 0x73, 0xca,
0xd9, 0xe7, 0x4d, 0xd1, 0xf3, 0x09, 0x1c, 0xa6, 0x13, 0x8e, 0x23, 0xb2, 0x20, 0x81, 0x96, 0x5a,
0x9c, 0xc0, 0x1c, 0xd4, 0x7e, 0xe4, 0x5a, 0x1b, 0xea, 0xdf, 0xbb, 0x15, 0x6b, 0xcd, 0x08, 0xab,
0xd7, 0x9a, 0x93, 0x6b, 0x63, 0x18, 0xd6, 0x9c, 0x97, 0x9f, 0x08, 0xe6, 0x72, 0xaa, 0x76, 0x6a,
0x43, 0x31, 0x90, 0x32, 0xbe, 0xdb, 0x88, 0x33, 0x53, 0xe0, 0x6e, 0xf5, 0x70, 0xf5, 0x6a, 0x15,
0xdd, 0x7c, 0x6d, 0x37, 0xa0, 0xa4, 0x71, 0x99, 0x74, 0xb3, 0xd9, 0xce, 0xf2, 0x66, 0x2a, 0x0f,
0xec, 0x1c, 0x55, 0x9d, 0xf4, 0x0b, 0xa0, 0xce, 0x53, 0x08, 0x6b, 0x56, 0xe0, 0x86, 0x63, 0xa7,
0x4e, 0x7b, 0x6e, 0x36, 0x76, 0x1b, 0x71, 0x6e, 0x34, 0xec, 0xfd, 0xac, 0x5d, 0x6b, 0x83, 0x2c,
0x74, 0xeb, 0xc3, 0x86, 0xa4, 0x1b, 0x0d, 0x27, 0x31, 0xcd, 0x35, 0xa8, 0x1c, 0x8d, 0x0b, 0x5c,
0xf5, 0x68, 0x94, 0xa0, 0xda, 0xdb, 0xef, 0xd0, 0xb5, 0x22, 0xdb, 0x64, 0xdb, 0x75, 0xea, 0xb3,
0x1e, 0xdb, 0x69, 0x82, 0xc9, 0x2e, 0xf8, 0x05, 0xda, 0xf6, 0x52, 0x77, 0xd8, 0xfd, 0x3a, 0x35,
0xd7, 0x60, 0xbd, 0xc5, 0x90, 0x48, 0x9f, 0xf6, 0xde, 0xf8, 0x13, 0x9a, 0x1d, 0x9f, 0x8e, 0x25,
0x32, 0x7d, 0x6c, 0x71, 0xf7, 0xf9, 0x28, 0x8c, 0xe9, 0x63, 0xa9, 0x35, 0xbe, 0xa1, 0xff, 0xdd,
0xfc, 0xf2, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa3, 0xcb, 0xac, 0x65, 0xe4, 0x0e, 0x00, 0x00,
}
......@@ -48,6 +48,8 @@ service ArduinoCore {
// Update libraries index
rpc UpdateLibrariesIndex(UpdateLibrariesIndexReq) returns (stream UpdateLibrariesIndexResp) {}
rpc Version(VersionReq) returns (VersionResp) {}
// BOARD COMMANDS
// --------------
......@@ -148,3 +150,9 @@ message UpdateLibrariesIndexReq {
message UpdateLibrariesIndexResp {
DownloadProgress download_progress = 1;
}
message VersionReq {}
message VersionResp {
string version = 1;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment